You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(traces): migrate trace propagation to dd-trace-rs (#1089)
## Overview
Migrate trace context propagation from a local implementation to the datadog-opentelemetry crate in dd-trace-rs. This removes ~750 lines of propagation logic (Datadog headers, W3C TraceContext) that we were maintaining locally in favor of the shared upstream
implementation.
Key changes:
- Add datadog-opentelemetry as a dependency
- Delete local propagation modules: traces/context.rs, traces/propagation/error.rs, traces/propagation/text_map_propagator.rs
- Keep a thin DatadogCompositePropagator wrapper that adds ot-baggage-* header extraction, which is not yet supported upstream
- Update all consumers to import SpanContext, Sampling, TracePropagationStyle, and header constants directly from datadog-opentelemetry
- Adapt to upstream types: u128 trace IDs (cast to u64 for Datadog protocol), Sampling struct, SamplingPriority newtype
# Motivation
Not have to own this piece as its tracer logic and [SVLS-7466](https://datadoghq.atlassian.net/browse/SVLS-7466)
## Testing
- All 476 existing tests pass
- Propagation tests updated to use Datadog/TraceContext styles (upstream does not expose B3/B3Multi variants)
- Config parsing tests updated to reflect valid upstream style names
- [Trace Propagation e2e tests pass](https://gitlab.ddbuild.io/DataDog/serverless-e2e-tests/-/pipelines/101405643)
Co-authored-by: jordan.gonzalez <jordan.gonzalez@datadoghq.com>
0 commit comments