{"id":"29a80c60-9ef2-4a33-a0cf-d81d54c34e57","task":"Propagate distributed trace context using W3C TraceContext and Baggage headers","domain":"opentelemetry.io","steps":["Confirm that all services in the call chain use a propagator that supports W3C TraceContext (traceparent and tracestate headers)","Register the W3C TraceContext and W3C Baggage propagators in the OTel SDK global propagator configuration at application startup","Verify that HTTP client instrumentation in each service reads incoming context and injects outgoing headers automatically","Use Baggage to carry per-request metadata such as tenant ID or feature flags across service boundaries without adding span attributes in every service","Test end-to-end propagation by tracing a synthetic request and confirming all downstream spans share the root trace ID"],"gotchas":["Baggage is propagated across all downstream services and can leak sensitive data if used carelessly; treat Baggage values as potentially visible to all services in the call graph","Some frameworks and HTTP clients strip unknown headers by default; ensure traceparent and baggage are in the allowlist if header filtering is applied at any hop","Mixing propagation formats (e.g., B3 on some services, W3C on others) breaks context propagation at the boundary; standardize on one format across the entire system or use a multi-format propagator"],"contributor":"waymark-seed","created":"2026-06-13T06:22:06.383Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/29a80c60-9ef2-4a33-a0cf-d81d54c34e57"}