Lexicon
Context propagation
Context propagation carries trace context across services so spans join into one trace. How propagators and the W3C standard work, and where traces break.
On this page
Definition
Context propagation is the OpenTelemetry mechanism that carries trace identifiers and baggage across process boundaries, so that spans created in different services join into a single trace. It is the plumbing that puts the distributed in distributed tracing.
What it means in observability
Within one process, connecting spans is easy: the SDK tracks the active span and parents new ones automatically. The moment a request crosses a network boundary, that chain would break without help. Context propagation closes the gap by sending the trace identity along with the request itself, usually in HTTP headers or message metadata. When it works, a request that touches twelve services produces one coherent trace. When it fails, the same request produces twelve orphaned fragments that nobody can stitch back together, which is why propagation problems are the most common cause of disappointing tracing rollouts.
How it works in practice
Propagators do the mechanical work. On the way out, an injector writes the current trace context into a carrier such as an HTTP header; on the way in, an extractor reads it and makes it the parent of new spans. The W3C Trace Context standard defines the traceparent header that nearly all modern instrumentation speaks, and the same mechanism carries baggage, optional application key-value pairs that ride along with the request. Auto instrumentation handles injection and extraction for common frameworks, so propagation usually works out of the box for synchronous HTTP and gRPC calls.
Where it gets hard
The breaks happen at the awkward boundaries: message queues, batch jobs, scheduled tasks, legacy services that drop unknown headers, and proxies configured to strip them. Async runtimes need care too, since context must follow the logical flow of work across threads and callbacks rather than the physical one. Baggage brings its own risks: it travels in cleartext with every request, so oversized or sensitive values become a payload tax and a privacy problem.
Where Tsuga fits
Fragmented traces are visible in Tsuga as orphaned root spans, which makes propagation gaps easy to spot and localize. And because Tsuga preserves trace and span identifiers on log records, fixed propagation pays off twice: connected traces and log to trace correlation in one move.
Related terms
- Distributed tracingDistributed tracing is the technique of following a request across service boundaries by recording a connected span for each operation it touches.
- OpenTelemetryOpenTelemetry is an open source framework for generating, collecting, and exporting telemetry: the logs, metrics, and traces that describe how software behaves in production.
- Real user monitoring (RUM)Real user monitoring, RUM, captures what actual users experience in their browsers and mobile apps: page load performance, interaction responsiveness, errors, and the shape of whole sessions.
- SpanA span is a single timed operation inside a trace: an HTTP request, a database call, a queue publish, or an internal step worth measuring.
- TraceA trace is the end to end record of one request or workflow as it moves through a system, composed of all the spans that share a single trace ID.