W3C Trace Context defines interoperable HTTP fields for carrying trace identity between services. OpenTelemetry uses W3C Trace Context as its default propagation format unless the SDK or platform is configured otherwise.

Headers

  • traceparent carries the version, trace ID, current parent span ID, and trace flags.
  • tracestate optionally carries vendor-specific state associated with that trace context.

A version 00 example:

traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

The sampled flag is a recording hint, not a guarantee that every component retained the trace. Use the OpenTelemetry propagator to validate, extract, and inject the fields; do not parse or rewrite them manually.

Validate propagation

Send a request through each service boundary and confirm the trace ID remains consistent while each service creates its own span ID. Confirm that proxies preserve valid traceparent and tracestate fields and that untrusted incoming values are handled according to the application’s security policy.