Skip to content

chore(deps): bump libdatadog rev to align with datadog-opentelemetry v0.5.0#145

Open
litianningdatadog wants to merge 1 commit into
mainfrom
tianning.li/bump-dd-trace-rs-v0.5.0-full-update
Open

chore(deps): bump libdatadog rev to align with datadog-opentelemetry v0.5.0#145
litianningdatadog wants to merge 1 commit into
mainfrom
tianning.li/bump-dd-trace-rs-v0.5.0-full-update

Conversation

@litianningdatadog

@litianningdatadog litianningdatadog commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Rebased on top of #144 (now merged). This PR now contains a single commit:

Bumps datadog-agent-config's libdd-trace-utils/libdd-trace-obfuscation git
rev from a820699 (8.0.0/4.0.0) to 85ce322a (9.0.0/5.0.0) — matching
the exact versions datadog-opentelemetry v0.5.0 (merged in #144) already pulls
from crates.io.

Motivation

This addresses the Copilot review comment on #144
about libdd-trace-utils/libdd-trace-obfuscation ending up duplicated
(git-pinned copy vs. the crates.io copy pulled transitively via
datadog-opentelemetry).

Combined with a [patch.crates-io] block on the consuming side
(datadog-lambda-extension, not part of this PR), this collapses the
duplicate compiled copies entirely for that downstream build. This crate's
own dependency declarations stay git-pinned rather than switching to
crates.io versions directly — an earlier attempt to do the latter was
reverted because it broke type identity for downstream consumers that also
depend on these crates via a git pin (e.g. bottlecap's ReplaceRule usage
for apm_replace_tags).

Note: datadog-trace-agent/datadog-serverless-compat/datadog-metrics-collector
still pin the older a820699 rev for their own (pre-existing, unrelated)
libdd-* dependencies — out of scope here since they aren't touched by
datadog-opentelemetry and this PR doesn't change their behavior.

Additional Notes

Full context, options considered (patch+rev-bump vs. switching to crates.io
versions vs. leaving the duplication as-is), and the reasoning for this
approach are written up in LIBDATADOG_VERSION_ALIGNMENT.md in the
datadog-lambda-extension repo.

Describe how to test/QA your changes

  • cargo build -p datadog-agent-config — clean
  • cargo test -p datadog-agent-config — 79/79 pass
  • cargo clippy -p datadog-agent-config --all-targets --all-features -- -D warnings — clean
  • cargo fmt --all -- --check — clean
  • dd-rust-license-tool check — passes
  • Downstream (datadog-lambda-extension, paired PR to follow): cargo build/test/clippy/fmt
    all clean, cargo tree --duplicates shows zero libdd-* duplicates

Downstream dependency: DataDog/datadog-lambda-extension#1303

@litianningdatadog litianningdatadog changed the base branch from main to tianning.li/bump-dd-trace-rs-v0.5.0 July 13, 2026 20:31
@litianningdatadog litianningdatadog marked this pull request as ready for review July 13, 2026 20:31
@litianningdatadog litianningdatadog requested review from a team as code owners July 13, 2026 20:31
@litianningdatadog litianningdatadog requested review from duncanpharvey and shreyamalpani and removed request for a team July 13, 2026 20:31

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f9ce8b7181

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Cargo.lock
Base automatically changed from tianning.li/bump-dd-trace-rs-v0.5.0 to main July 14, 2026 16:59
litianningdatadog added a commit to DataDog/datadog-lambda-extension that referenced this pull request Jul 14, 2026
Follows up on the dd-trace-rs v0.5.0 bump: bumps the shared libdatadog
git rev (libdd-capabilities, libdd-common, libdd-trace-protobuf,
libdd-trace-utils, libdd-trace-normalization, libdd-trace-obfuscation,
libdd-trace-stats) from a820699 to 85ce322a, matching the exact
versions datadog-opentelemetry v0.5.0 pulls from crates.io. Adds a
[patch.crates-io] block redirecting those (and the other transitively
pulled libdd-* crates) to the same rev, collapsing what would
otherwise be two compiled copies of each.

This addresses the duplication Copilot flagged on
serverless-components#144 - see LIBDATADOG_VERSION_ALIGNMENT.md for
the full writeup of options considered and why this one (patch +
shared rev bump) was chosen over switching to crates.io versions
directly (tried first, reverted - broke type identity for
ReplaceRule/Endpoint/Span/etc. across the git-vs-registry boundary
throughout the trace pipeline) or leaving the duplication as-is.

Code changes forced by real upstream API changes at the new rev (not
duplication artifacts):
- src/traces/stats_concentrator_service.rs: SpanConcentrator::new
  gained a cardinality-override and an obfuscation-config parameter
  (both None - bottlecap doesn't use either); flush() now returns a
  FlushResult{obfuscated_buckets, unobfuscated_buckets} split instead
  of a flat Vec (combined both, since obfuscation is disabled).
- src/traces/trace_processor.rs, tests/apm_integration_test.rs:
  pb::TracerPayload gained container_debug and pb::ClientGroupedStats
  gained additional_metric_tags; added the missing fields to 3 struct
  literals (2 in the integration test, which fails to compile without
  the change).

Depends on DataDog/serverless-components#145 (which itself builds on
must stay in sync with whatever commit that PR lands at.

JIRA: https://datadoghq.atlassian.net/browse/SLES-2907

Verified: cargo build/test/clippy/fmt all clean against the real
serverless-components#145 commit (not a local override), 548/548
tests pass across all test binaries, cargo tree --duplicates shows
zero libdd-* duplicates, dd-rust-license-tool check passes.
…v0.5.0

Bumps datadog-agent-config's libdd-trace-utils/libdd-trace-obfuscation
git rev from a820699 (8.0.0/4.0.0) to 85ce322a (9.0.0/5.0.0), matching
the exact versions datadog-opentelemetry v0.5.0 already pulls from
crates.io. Combined with a [patch.crates-io] on the consuming side
(datadog-lambda-extension), this collapses the duplicate compiled
copies flagged by Copilot on #144, without switching this crate's
dependency declarations away from git pins (unlike an earlier attempt
that moved to crates.io versions directly - reverted because it broke
type identity for downstream consumers that also depend on these
crates via a git pin, e.g. bottlecap's ReplaceRule usage).

Verified: cargo check/clippy/fmt clean for datadog-agent-config
(default + https features), 79/79 tests pass, dd-rust-license-tool
check passes.

See LIBDATADOG_VERSION_ALIGNMENT.md in datadog-lambda-extension for
full context and the chosen approach (Option A: patch + shared rev
bump) vs alternatives considered.
@litianningdatadog litianningdatadog force-pushed the tianning.li/bump-dd-trace-rs-v0.5.0-full-update branch from f9ce8b7 to b52698a Compare July 14, 2026 17:20
@litianningdatadog litianningdatadog changed the title chore(deps): bump dd-trace-rs to v0.5.0 and align libdatadog rev chore(deps): bump libdatadog rev to align with datadog-opentelemetry v0.5.0 Jul 14, 2026
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