Design: Distributed Tracing System
Design covers trace data collection, storage, query, and visualization. Does not cover instrumentation libraries in detail or alerting systems.
Functional Requirements
Non-Functional Requirements
Client --> Service A --> Service B --> Service C | | | | | | | +--> Trace Collector --> Trace Storage | | +--> Trace Collector | +--> Trace Collector +--> Trace Collector Trace Storage <--> Query Engine <--> Visualization UI
TraceID and spans are used to:{"traceId": "t1", "spans": [{"spanId": "s1", "parentId": null, "operation": "frontend"}, {"spanId": "s2", "parentId": "s1", "operation": "backend"}, {"spanId": "s3", "parentId": "s2", "operation": "db_query"}]}traceId values. What is the most likely cause?Pass the test and this pattern moves unknown