← Back to microservices patterns mapobserve
🔎
Microservices Pattern
Distributed Tracing
Follow one request across services using trace IDs and spans.
Detailed Description
Tracing is the best way to understand latency in distributed request paths.
Each service adds spans so teams can see where time and failures occur.
Visual Diagram
Trace: traceId = abc-123
[Gateway] span 1: 0ms → 120ms
[UserSvc] span 2: 10ms → 40ms
[OrderSvc] span 3: 45ms → 110ms
[DB call] span 4: 50ms → 105ms ← slow!
[EmailSvc] span 5:115ms → 118ms
Identify bottleneck: DB call at span 4Tradeoffs
Pros
Pinpoints bottlenecks across services
Cons
Instrumentation overhead and storage cost
Examples: OpenTelemetry, Jaeger, Zipkin, AWS X-Ray