{
  "type": "excalidraw",
  "version": 2,
  "source": "https://excalidraw.com",
  "elements": [
    {
      "type": "text",
      "version": 1,
      "id": "title",
      "x": 180,
      "y": 16,
      "width": 560,
      "height": 24,
      "angle": 0,
      "strokeColor": "#1a1a1a",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "fontSize": 20,
      "fontFamily": 1,
      "text": "OpenTelemetry data flow — and the one decision that matters",
      "textAlign": "center",
      "verticalAlign": "middle"
    },
    {
      "type": "rectangle",
      "version": 1,
      "id": "cpp-app",
      "x": 40,
      "y": 80,
      "width": 180,
      "height": 80,
      "angle": 0,
      "strokeColor": "#4a73b8",
      "backgroundColor": "#e8f0fb",
      "fillStyle": "solid",
      "strokeWidth": 1.5,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": ["app-group"],
      "roundness": { "type": 3 }
    },
    {
      "type": "text",
      "version": 1,
      "id": "cpp-app-label",
      "x": 50,
      "y": 92,
      "width": 160,
      "height": 60,
      "angle": 0,
      "strokeColor": "#1a1a1a",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": ["app-group"],
      "fontSize": 12,
      "fontFamily": 1,
      "text": "C++ application\n\ntracer->StartSpan(...)\nlogger->EmitLogRecord(...)\ncounter->Add(...)",
      "textAlign": "center",
      "verticalAlign": "middle"
    },
    {
      "type": "rectangle",
      "version": 1,
      "id": "otel-sdk",
      "x": 260,
      "y": 80,
      "width": 240,
      "height": 180,
      "angle": 0,
      "strokeColor": "#b89540",
      "backgroundColor": "#f0e8d8",
      "fillStyle": "solid",
      "strokeWidth": 1.5,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": ["sdk-group"],
      "roundness": { "type": 3 }
    },
    {
      "type": "text",
      "version": 1,
      "id": "otel-sdk-title",
      "x": 280,
      "y": 92,
      "width": 200,
      "height": 18,
      "angle": 0,
      "strokeColor": "#1a1a1a",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": ["sdk-group"],
      "fontSize": 14,
      "fontFamily": 1,
      "text": "OpenTelemetry-cpp SDK",
      "textAlign": "center",
      "verticalAlign": "middle"
    },
    {
      "type": "rectangle",
      "version": 1,
      "id": "span-processor",
      "x": 280,
      "y": 120,
      "width": 200,
      "height": 56,
      "angle": 0,
      "strokeColor": "#c0392b",
      "backgroundColor": "#fdfbf7",
      "fillStyle": "solid",
      "strokeWidth": 1.5,
      "strokeStyle": "dashed",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "roundness": { "type": 3 }
    },
    {
      "type": "text",
      "version": 1,
      "id": "span-processor-label",
      "x": 290,
      "y": 128,
      "width": 180,
      "height": 40,
      "angle": 0,
      "strokeColor": "#c0392b",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "fontSize": 12,
      "fontFamily": 1,
      "text": "SpanProcessor\nSimple ⨯  ←→  Batch ✓\nTHE decision",
      "textAlign": "center",
      "verticalAlign": "middle"
    },
    {
      "type": "rectangle",
      "version": 1,
      "id": "log-processor",
      "x": 280,
      "y": 184,
      "width": 200,
      "height": 40,
      "angle": 0,
      "strokeColor": "#c0392b",
      "backgroundColor": "#fdfbf7",
      "fillStyle": "solid",
      "strokeWidth": 1.5,
      "strokeStyle": "dashed",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "roundness": { "type": 3 }
    },
    {
      "type": "text",
      "version": 1,
      "id": "log-processor-label",
      "x": 290,
      "y": 192,
      "width": 180,
      "height": 24,
      "angle": 0,
      "strokeColor": "#c0392b",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "fontSize": 12,
      "fontFamily": 1,
      "text": "LogRecordProcessor\nSimple ⨯  ←→  Batch ✓",
      "textAlign": "center",
      "verticalAlign": "middle"
    },
    {
      "type": "text",
      "version": 1,
      "id": "metric-reader-note",
      "x": 280,
      "y": 232,
      "width": 200,
      "height": 22,
      "angle": 0,
      "strokeColor": "#555",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "fontSize": 11,
      "fontFamily": 1,
      "text": "MetricReader — already batch by design",
      "textAlign": "center",
      "verticalAlign": "middle"
    },
    {
      "type": "rectangle",
      "version": 1,
      "id": "otel-lgtm",
      "x": 540,
      "y": 120,
      "width": 160,
      "height": 100,
      "angle": 0,
      "strokeColor": "#b86742",
      "backgroundColor": "#ecdfd8",
      "fillStyle": "solid",
      "strokeWidth": 1.5,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": ["lgtm-group"],
      "roundness": { "type": 3 }
    },
    {
      "type": "text",
      "version": 1,
      "id": "otel-lgtm-label",
      "x": 545,
      "y": 130,
      "width": 150,
      "height": 80,
      "angle": 0,
      "strokeColor": "#1a1a1a",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": ["lgtm-group"],
      "fontSize": 12,
      "fontFamily": 1,
      "text": "otel-lgtm container\nsingle-image dev stack\n\ncollector :4317 gRPC\ncollector :4318 HTTP",
      "textAlign": "center",
      "verticalAlign": "middle"
    },
    {
      "type": "rectangle",
      "version": 1,
      "id": "tempo",
      "x": 770,
      "y": 92,
      "width": 120,
      "height": 36,
      "angle": 0,
      "strokeColor": "#b8721a",
      "backgroundColor": "#f5e2ce",
      "fillStyle": "solid",
      "strokeWidth": 1.5,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "roundness": { "type": 3 }
    },
    {
      "type": "text",
      "version": 1,
      "id": "tempo-label",
      "x": 800,
      "y": 102,
      "width": 60,
      "height": 18,
      "angle": 0,
      "strokeColor": "#1a1a1a",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "fontSize": 14,
      "fontFamily": 1,
      "text": "Tempo",
      "textAlign": "center",
      "verticalAlign": "middle"
    },
    {
      "type": "rectangle",
      "version": 1,
      "id": "mimir",
      "x": 770,
      "y": 152,
      "width": 120,
      "height": 36,
      "angle": 0,
      "strokeColor": "#5a8870",
      "backgroundColor": "#d8e8df",
      "fillStyle": "solid",
      "strokeWidth": 1.5,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "roundness": { "type": 3 }
    },
    {
      "type": "text",
      "version": 1,
      "id": "mimir-label",
      "x": 775,
      "y": 162,
      "width": 110,
      "height": 18,
      "angle": 0,
      "strokeColor": "#1a1a1a",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "fontSize": 14,
      "fontFamily": 1,
      "text": "Mimir / Prometheus",
      "textAlign": "center",
      "verticalAlign": "middle"
    },
    {
      "type": "rectangle",
      "version": 1,
      "id": "loki",
      "x": 770,
      "y": 212,
      "width": 120,
      "height": 36,
      "angle": 0,
      "strokeColor": "#d68a1e",
      "backgroundColor": "#fbe6c2",
      "fillStyle": "solid",
      "strokeWidth": 1.5,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "roundness": { "type": 3 }
    },
    {
      "type": "text",
      "version": 1,
      "id": "loki-label",
      "x": 810,
      "y": 222,
      "width": 40,
      "height": 18,
      "angle": 0,
      "strokeColor": "#1a1a1a",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "fontSize": 14,
      "fontFamily": 1,
      "text": "Loki",
      "textAlign": "center",
      "verticalAlign": "middle"
    },
    {
      "type": "rectangle",
      "version": 1,
      "id": "grafana",
      "x": 710,
      "y": 280,
      "width": 180,
      "height": 46,
      "angle": 0,
      "strokeColor": "#c0392b",
      "backgroundColor": "#f8d8d0",
      "fillStyle": "solid",
      "strokeWidth": 1.5,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "roundness": { "type": 3 }
    },
    {
      "type": "text",
      "version": 1,
      "id": "grafana-label",
      "x": 720,
      "y": 290,
      "width": 160,
      "height": 28,
      "angle": 0,
      "strokeColor": "#1a1a1a",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "fontSize": 12,
      "fontFamily": 1,
      "text": "Grafana UI\nclick metric → trace → logs",
      "textAlign": "center",
      "verticalAlign": "middle"
    },
    {
      "type": "rectangle",
      "version": 1,
      "id": "result-left",
      "x": 40,
      "y": 350,
      "width": 440,
      "height": 170,
      "angle": 0,
      "strokeColor": "#c0392b",
      "backgroundColor": "#fdfbf7",
      "fillStyle": "solid",
      "strokeWidth": 1.5,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "roundness": { "type": 3 }
    },
    {
      "type": "text",
      "version": 1,
      "id": "result-left-text",
      "x": 60,
      "y": 360,
      "width": 400,
      "height": 150,
      "angle": 0,
      "strokeColor": "#1a1a1a",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "fontSize": 11,
      "fontFamily": 1,
      "text": "The cost of Simple vs Batch (verified r88)\n\nSimple processor:\n  1. serialize OTLP protobuf → 5-10 µs\n  2. gRPC frame + write socket → 15-25 µs\n  3. wait for ack (blocks handler!) → 50-150 µs\n  Total: 75-200 µs per span on hot path\n\nBatch processor:\n  1. atomic enqueue → 1-2 µs\n  2. (network I/O on background thread)\n  Total: ~1-2 µs per span on hot path",
      "textAlign": "left",
      "verticalAlign": "top"
    },
    {
      "type": "rectangle",
      "version": 1,
      "id": "result-right",
      "x": 500,
      "y": 350,
      "width": 380,
      "height": 170,
      "angle": 0,
      "strokeColor": "#c0392b",
      "backgroundColor": "#fdfbf7",
      "fillStyle": "solid",
      "strokeWidth": 1.5,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "roundness": { "type": 3 }
    },
    {
      "type": "text",
      "version": 1,
      "id": "result-right-text",
      "x": 520,
      "y": 360,
      "width": 340,
      "height": 150,
      "angle": 0,
      "strokeColor": "#1a1a1a",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "fontSize": 11,
      "fontFamily": 1,
      "text": "Demo-06 verified result (r88)\n\nNo OTel:     18,469 req/s\n             p50 200 µs, p99 400 µs\n\nOTel Simple: 2,170 req/s   ← 8.5× collapse\n             p50 2.7 ms, p99 25.9 ms\n\nOTel Batch:  ~28,000 req/s\n             p50 200 µs, p99 1.8 ms\n             (recovers fully)",
      "textAlign": "left",
      "verticalAlign": "top"
    }
  ],
  "appState": {
    "viewBackgroundColor": "#fdfbf7",
    "gridSize": null
  },
  "files": {}
}
