Skip to main content

opentelemetry-jaeger-propagator

Version: 0.31.0 The opentelemetry-jaeger-propagator crate provides the Jaeger propagation format for distributing trace context across service boundaries.
For exporting traces to Jaeger, use the OTLP exporter instead. Jaeger natively supports OTLP since version 1.35. This crate is specifically for propagation format compatibility with existing Jaeger deployments.

Installation

Feature Flags

  • internal-logs: Enable internal logging (enabled by default)

What is Jaeger Propagation?

Jaeger propagation uses the B3 propagation format to transmit trace context via HTTP headers. This allows services instrumented with different SDKs to maintain trace continuity.

B3 Header Formats

Single Header (b3):
Multiple Headers (X-B3-*):

Quick Start

Set as Global Propagator

Sending Requests

Receiving Requests

Core Types

struct
Jaeger/B3 trace context propagator

Configuration

Default Propagator

Uses multiple B3 headers (X-B3-*):

Custom Header Name

Use a custom header name:

Complete Example

HTTP Client

HTTP Server

Integration with HTTP Frameworks

With opentelemetry-http

When to Use Jaeger Propagator

Legacy Systems

Interoperating with services using Jaeger’s B3 format

Mixed Environments

Services using different instrumentation libraries

Migration

Transitioning from Jaeger to OpenTelemetry

Compatibility

Need to maintain compatibility with existing Jaeger infrastructure

Alternative Propagators

OpenTelemetry supports multiple propagation formats:
  • W3C Trace Context (recommended): opentelemetry::propagation::TraceContextPropagator
  • W3C Baggage: opentelemetry_sdk::propagation::BaggagePropagator
  • Jaeger: This crate
  • Zipkin B3: opentelemetry_zipkin::Propagator

Composite Propagators

Use multiple propagators for compatibility:

Exporting to Jaeger

This crate only handles propagation. To export traces to Jaeger, use the OTLP exporter:

Documentation

Full API Documentation

View complete API reference on docs.rs

Jaeger Propagation Format

Official Jaeger propagation documentation

Minimum Rust Version

MSRV: 1.75.0