NEW
A method to track and correlate requests across services using traces and spans for end-to-end visibility.
DESCRIPTION
Distributed tracing follows requests through microservices, correlating operations via traces composed of spans. It reveals latency, dependencies, and bottlenecks across complex systems. Standards like W3C Trace Context enable interoperable propagation. OpenTelemetry provides vendor-neutral instrumentation and exporters to backends like Jaeger and Zipkin. Tracing complements logs and metrics to achieve comprehensive observability.
ALTERNATIVE DEFINITIONS
OpenTelemetry
Traces represent the execution path of a request as it moves through a distributed system, composed of spans that record individual operations.
Defines traces and spans with vendor-neutral semantics.
W3C
Trace Context defines propagation of trace identifiers across different distributed services to enable end-to-end tracing.
Standardizes cross-service trace identifier propagation.
Google Research
Dapper is a large-scale distributed tracing infrastructure that collects timing data needed to troubleshoot latency problems and understand system behavior.
Pioneering system describing practical tracing at Google scale.
RELATED TERMS
OpenTelemetry Jaeger Zipkin Trace Context Spans Context Propagation Logging Measure Sampling Dapper
COMPETING TERMS
Centralized Logging Application Performance Monitoring
RELATIONS
- Broader: Tracing
KNOWLEDGE AREAS
Observability & Telemetry Software Engineering Infrastructure Real-time & Streaming Data Platform & Tooling
TARGET AUDIENCE
Software Developer DevOps Engineer Cloud Architect Software Architect Data Engineer
EXTERNAL SOURCES
- Wikipedia - Distributed tracing
- OpenTelemetry - Core tracing concepts
- W3C - Trace context specification
- Jaeger - Distributed tracing backend docs
TOP QUESTIONS
How does Distributed Tracing differ from logging?
Tracing correlates operations across services with causality, while logs are unstructured event records. Traces reveal end-to-end latency and dependencies.
Category: Misunderstanding
What do traces and spans represent in Distributed Tracing?
A trace represents the lifecycle of a request; spans are timed operations within that trace, forming a hierarchical structure.
Category: Definition
How do I start instrumenting for Distributed Tracing?
Use OpenTelemetry SDKs and auto-instrumentation, propagate W3C Trace Context headers, and export to Jaeger or Zipkin.
Category: Requirements
What’s a hot topic in Distributed Tracing today?
Standardization via W3C Trace Context and widespread OpenTelemetry adoption are accelerating interoperability.
Category: Topic
What are mistakes to avoid in Distributed Tracing?
Over-sampling or under-sampling hides issues; failing to propagate context leads to broken traces and incomplete visibility.
Category: Mistakes
How does Distributed Tracing help reduce Tail Latency?
It identifies slow spans and problematic dependencies, guiding mitigation like hedging or timeouts.
Category: Example
What’s the risk of enabling Distributed Tracing?
Excessive overhead or sensitive data in spans can raise performance and privacy concerns; use sampling and redaction.
Category: Risks
What is a counterpart term to Distributed Tracing?
Centralized Logging focuses on aggregating logs without cross-service correlation.
Category: Alternatives
Which backends are popular for Distributed Tracing?
Jaeger, Zipkin, and vendor APM tools; OpenTelemetry supports many exporters.
Category: Overview