Distributed tracing tracks requests as they travel through multiple services in a distributed system. It creates a complete picture of how a request is processed across different components.
Key components:
Trace: Complete journey of a request through the system
Span: Individual unit of work (e.g., HTTP request, database call)
SpanContext: Carries trace information between services
Tags: Key-value pairs that add metadata to spans
Logs: Timestamped events within spans
Baggage: Cross-service propagated key-value data
Example flow:
User Request → Service A → Service B → Database
| | | |
Trace ID Span 1 Span 2 Span 3
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.