Skip to content

[SLES-2907] chore(deps): bump dd-trace-rs to datadog-opentelemetry-v0.5.0#1302

Draft
litianningdatadog wants to merge 3 commits into
mainfrom
tianning.li/bump-dd-trace-rs-v0.5.0
Draft

[SLES-2907] chore(deps): bump dd-trace-rs to datadog-opentelemetry-v0.5.0#1302
litianningdatadog wants to merge 3 commits into
mainfrom
tianning.li/bump-dd-trace-rs-v0.5.0

Conversation

@litianningdatadog

@litianningdatadog litianningdatadog commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Overview

Bumps datadog-opentelemetry (dd-trace-rs) from f51cefc4 (pre-v0.3.0) to
50bfea87 (datadog-opentelemetry-v0.5.0), adding
features = ["_unstable_propagation"] since the propagation module
bottlecap uses is now feature-gated upstream (was unconditionally public at
our old pin).

Also bumps dogstatsd/datadog-fips/datadog-agent-config to the
serverless-components commit that carries the matching dd-trace-rs pin —
DataDog/serverless-components#144,
currently unmerged (draft). This PR is opened as draft for the same
reason: the rev for those three deps will be amended to the merged SHA
before this leaves draft.

v0.5.0 adds native B3 (single- and multi-header) trace propagation support,
fixing Failed to parse trace propagation style: Unknown trace propagation style: 'b3multi', ignoring errors reported by a customer — see
SLES-2907.

Code changes required by the bump

  • src/config/propagation_wrapper.rs — implements the new required
    PropagationConfig::trace_propagation_behavior_extract method (hardcoded
    to Continue, matching prior implicit behavior; bottlecap doesn't expose
    DD_TRACE_PROPAGATION_BEHAVIOR_EXTRACT).
  • src/traces/propagation/mod.rsDatadogCompositePropagator::extract now
    returns ExtractResult instead of Option<SpanContext>; adapted the
    wrapper to match on it (Continue(ctx) -> Some(ctx), everything else ->
    None, preserving current behavior).
  • src/lifecycle/invocation/triggers/step_function_event.rs — the
    datadog_opentelemetry::constants re-export was removed upstream (moved
    to libdd-sampling internally); hardcoded the one test-only usage of
    SAMPLING_DECISION_MAKER_TAG_KEY ("_dd.p.dm") rather than adding a new
    dependency for it.

Testing

  • cargo check --all-targets — clean
  • cargo clippy --all-targets -- -D warnings — clean
  • cargo fmt --all -- --check — clean
  • cargo test --lib — 530/530 pass
  • dd-rust-license-tool check — passes
  • cargo tree --duplicates — no new datadog-opentelemetry/tonic/prost
    duplication; opentelemetry/opentelemetry_sdk/-semantic-conventions
    do pick up a new duplicate version (0.31 direct vs. 0.32 via dd-trace-rs) —
    non-blocking, binary-size-only, bottlecap never shares those types across
    the datadog_opentelemetry boundary
  • --features fips hits a pre-existing local-macOS-only dylib loading issue
    in libddwaf-sys, confirmed identical on unmodified main (needs
    Linux/CI, unrelated to this change)

Dependency graph:
mermaid-diagram-1783968869812

….5.0

Bumps datadog-opentelemetry from f51cefc4 (pre-v0.3.0) to 50bfea87
(v0.5.0), adding features = ["_unstable_propagation"] since the
propagation module bottlecap uses is now feature-gated upstream.
Bumps dogstatsd/datadog-fips/datadog-agent-config to the
serverless-components commit that carries the matching dd-trace-rs
pin (DataDog/serverless-components#144, currently unmerged - rev
will be amended to the merged SHA before this PR leaves draft).

v0.5.0 adds native B3 (single and multi-header) propagation support,
fixing "Unknown trace propagation style: 'b3multi'" errors reported
by customers (SLES-2907).

Code changes required by the bump:
- src/config/propagation_wrapper.rs: implement the new required
  PropagationConfig::trace_propagation_behavior_extract method
  (hardcoded to Continue, matching prior implicit behavior; bottlecap
  does not expose DD_TRACE_PROPAGATION_BEHAVIOR_EXTRACT).
- src/traces/propagation/mod.rs: DatadogCompositePropagator::extract
  now returns ExtractResult instead of Option<SpanContext>; adapted
  the wrapper to match on it.
- src/lifecycle/invocation/triggers/step_function_event.rs: the
  constants module re-export was removed upstream (moved to
  libdd-sampling internally); hardcoded the one test-only usage of
  SAMPLING_DECISION_MAKER_TAG_KEY ("_dd.p.dm") instead of adding a new
  dependency for it.

Verified: cargo check/clippy/fmt clean, cargo test --lib 530/530
pass, dd-rust-license-tool check passes. --features fips hits a
pre-existing local-macOS-only dylib issue in libddwaf-sys, confirmed
identical on unmodified main.
@datadog-datadog-us1-prod

datadog-datadog-us1-prod Bot commented Jul 13, 2026

Copy link
Copy Markdown

Pipelines

Fix all issues with BitsAI

⚠️ Warnings

🚦 3 Pipeline jobs failed

DataDog/datadog-lambda-extension | e2e-test-status (amd64)   View in Datadog   GitLab

DataDog/datadog-lambda-extension | integration-suite: [oom]   View in Datadog   GitLab

DataDog/datadog-lambda-extension | e2e-test-status (amd64, fips)   View in Datadog   GitLab

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 6147951 | Docs | Datadog PR Page | Give us feedback!

DataDog/serverless-components#144 merged as 56779dec9f4c9bcc48abcc9833ca4fa4b9d8d627.
Re-pin dogstatsd/datadog-fips/datadog-agent-config to that commit instead
of the pre-merge draft SHA, and regenerate Cargo.lock.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant