{"type":"excalidraw","version":2,"source":"https://AwesomeSystemDesign.dev","elements":[{"angle":0,"strokeColor":"#6577aa","backgroundColor":"#eef1fc","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-1"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-1"}],"updated":0,"link":null,"locked":false,"id":"shape-0","type":"rectangle","seed":41,"x":466,"y":31.99999999999997,"width":390,"height":480.6,"customData":{"revealStep":1}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-1"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-1","type":"text","seed":114,"x":486,"y":49.99999999999997,"width":350,"height":444.6,"fontSize":18,"fontFamily":1,"text":"Event Flow Monitoring Dashboard\n\nPer-topic metrics:\n• Throughput: events/sec (in, out)\n• Consumer lag per group (how far\nbehind?)\n• Error rate per consumer group\n• DLQ depth per consumer group\n• Schema compatibility status\n• p99 processing latency per\nconsumer\n\n• Event Topology (live)\nOrderSvc --→ [orders.placed] --→\nInventorySvc --→ PaymentSvc --→\nNotificationSvc --→ AnalyticsPipeline\nInventorySvc --→ [inventory.reserved]\n--→ OrderSvc PaymentSvc --→\n[payments.completed] --→ OrderSvc","originalText":"Event Flow Monitoring Dashboard\n\nPer-topic metrics:\n• Throughput: events/sec (in, out)\n• Consumer lag per group (how far\nbehind?)\n• Error rate per consumer group\n• DLQ depth per consumer group\n• Schema compatibility status\n• p99 processing latency per\nconsumer\n\n• Event Topology (live)\nOrderSvc --→ [orders.placed] --→\nInventorySvc --→ PaymentSvc --→\nNotificationSvc --→ AnalyticsPipeline\nInventorySvc --→ [inventory.reserved]\n--→ OrderSvc PaymentSvc --→\n[payments.completed] --→ OrderSvc","textAlign":"center","verticalAlign":"middle","containerId":"shape-0","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":1}},{"angle":0,"strokeColor":"#628572","backgroundColor":"#edf5ee","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-2"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-3"}],"updated":0,"link":null,"locked":false,"id":"shape-2","type":"rectangle","seed":187,"x":36,"y":32,"width":390,"height":1089,"customData":{"revealStep":2}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-2"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-3","type":"text","seed":260,"x":56,"y":50,"width":350,"height":1053,"fontSize":18,"fontFamily":1,"text":"Distributed Tracing Across Events\n\nChallenge: Request spans 5 services\nvia async events.\nHow to trace the full flow?\n\nSolution: Propagate trace context\nthrough event metadata\n\nEvent metadata carries:\n\"correlation_id\": \"req-abc123\" ← ties\nall events to one request\n\"causation_id\": \"evt-parent\" ← which\nevent caused this one\n\"trace_id\": \"trace-456\" ←\nOpenTelemetry trace ID\n\"span_id\": \"span-789\" ← span that\nproduced this event\n\nTrace visualization:\ntrace-456\nspan: API Gateway (5ms)\nspan: Order Service - PlaceOrder\n(20ms)\nevent published: OrderPlaced\n[async gap: 15ms in Kafka]\nspan: Inventory Service -\nReserveStock (30ms)\nevent published: StockReserved\n[async gap: 10ms]\nspan: Payment Service -\nChargePayment (1200ms)\nevent published: PaymentCompleted\nspan: Notification Service -\nSendEmail (200ms)\n\nKey metrics per event flow:\n• End-to-end latency (first event →\nlast event)\n• Per-hop latency (each service\nprocessing time)\n• Queue wait time (time spent in\nKafka before consumption)\n• Consumer lag (how far behind\nreal-time)","originalText":"Distributed Tracing Across Events\n\nChallenge: Request spans 5 services\nvia async events.\nHow to trace the full flow?\n\nSolution: Propagate trace context\nthrough event metadata\n\nEvent metadata carries:\n\"correlation_id\": \"req-abc123\" ← ties\nall events to one request\n\"causation_id\": \"evt-parent\" ← which\nevent caused this one\n\"trace_id\": \"trace-456\" ←\nOpenTelemetry trace ID\n\"span_id\": \"span-789\" ← span that\nproduced this event\n\nTrace visualization:\ntrace-456\nspan: API Gateway (5ms)\nspan: Order Service - PlaceOrder\n(20ms)\nevent published: OrderPlaced\n[async gap: 15ms in Kafka]\nspan: Inventory Service -\nReserveStock (30ms)\nevent published: StockReserved\n[async gap: 10ms]\nspan: Payment Service -\nChargePayment (1200ms)\nevent published: PaymentCompleted\nspan: Notification Service -\nSendEmail (200ms)\n\nKey metrics per event flow:\n• End-to-end latency (first event →\nlast event)\n• Per-hop latency (each service\nprocessing time)\n• Queue wait time (time spent in\nKafka before consumption)\n• Consumer lag (how far behind\nreal-time)","textAlign":"center","verticalAlign":"middle","containerId":"shape-2","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":2}}],"appState":{"viewBackgroundColor":"#fbfbf8","gridSize":null},"files":{}}