Use a non-default propagator only when an existing service or protocol requires that format. Configure the propagator through the language SDK and verify both extraction and injection behavior.
B3
B3 uses either a single header or a set of X-B3-* headers. The OpenTelemetry propagator specification defines extraction behavior for both encodings; injection defaults and configuration depend on the language implementation. Check the selected SDK’s documentation before changing an existing integration.
Jaeger and other legacy formats
Some OpenTelemetry language distributions provide propagators for Jaeger or other legacy formats. The current OpenTelemetry propagators specification marks the Jaeger propagator deprecated and recommends W3C Trace Context for new integrations. Keep legacy formats only where a compatibility boundary requires them, and plan a tested transition where possible.
Configuration checks
- Configure matching extraction formats on incoming boundaries and injection formats on outgoing boundaries.
- Avoid conflicting duplicate context fields when composing propagators.
- Test mixed-version services, proxies, retries, and asynchronous message paths.
- Use W3C Trace Context as the common format when all participating services support it.