chore(deps): bump libdatadog rev to align with datadog-opentelemetry v0.5.0#145
Open
litianningdatadog wants to merge 1 commit into
Open
chore(deps): bump libdatadog rev to align with datadog-opentelemetry v0.5.0#145litianningdatadog wants to merge 1 commit into
litianningdatadog wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
💡 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".
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.
f9ce8b7 to
b52698a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Rebased on top of #144 (now merged). This PR now contains a single commit:
Bumps
datadog-agent-config'slibdd-trace-utils/libdd-trace-obfuscationgitrev from
a820699(8.0.0/4.0.0) to85ce322a(9.0.0/5.0.0) — matchingthe exact versions
datadog-opentelemetryv0.5.0 (merged in #144) already pullsfrom crates.io.
Motivation
This addresses the Copilot review comment on #144
about
libdd-trace-utils/libdd-trace-obfuscationending 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 theduplicate 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
ReplaceRuleusagefor
apm_replace_tags).Note:
datadog-trace-agent/datadog-serverless-compat/datadog-metrics-collectorstill pin the older
a820699rev for their own (pre-existing, unrelated)libdd-*dependencies — out of scope here since they aren't touched bydatadog-opentelemetryand 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.mdin thedatadog-lambda-extensionrepo.Describe how to test/QA your changes
cargo build -p datadog-agent-config— cleancargo test -p datadog-agent-config— 79/79 passcargo clippy -p datadog-agent-config --all-targets --all-features -- -D warnings— cleancargo fmt --all -- --check— cleandd-rust-license-tool check— passesdatadog-lambda-extension, paired PR to follow):cargo build/test/clippy/fmtall clean,
cargo tree --duplicatesshows zerolibdd-*duplicatesDownstream dependency: DataDog/datadog-lambda-extension#1303