libdatadog update to fb65e461#4006
Conversation
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 91b5f2bade
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| @@ -1 +1 @@ | |||
| Subproject commit cd90e50a5b067cf77a3e06641d838bc4c6b62aba | |||
| Subproject commit c690b5e43ccdf5ff84566db4447d416ac8c48ea8 | |||
There was a problem hiding this comment.
Regenerate Cargo.lock for the new libdatadog versions
This bump points at a libdatadog revision that changes path package versions (libdd-common 4.2.0→5.0.0 and libdd-remote-config 0.1.0→1.0.0), but the parent Cargo.lock is unchanged and still records the old versions. I checked cargo build --help; --locked asserts the lockfile remains unchanged, so locked/reproducible builds from this commit will fail before compilation because Cargo must rewrite the lockfile for those path dependencies. Please regenerate and commit Cargo.lock with this submodule revision.
Useful? React with 👍 / 👎.
765df56 to
59f2b0d
Compare
c8bbc94 to
747c876
Compare
3904647 to
30b60d4
Compare
842f922 to
083afb6
Compare
Benchmarks [ tracer ]Benchmark execution time: 2026-07-12 07:35:42 Comparing candidate commit c75dcc1 in PR branch Found 0 performance improvements and 5 performance regressions! Performance is the same for 189 metrics, 0 unstable metrics.
|
36c88cf to
9e430a1
Compare
8af45ac to
a33197b
Compare
b412bda to
4015657
Compare
ef020cf to
115ca62
Compare
27525c1 to
2dc1602
Compare
0318611 to
c52a51b
Compare
c75dcc1 to
0e66da0
Compare
a3adbd2 to
a6992e1
Compare
33a2579 to
d043d5e
Compare
5d3f10e to
79d7358
Compare
93923bf to
ba5f02f
Compare
Automated update by CI pipeline https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines/125855260 Full CI result: ❌ 1 job(s) failed
832aa3d to
ee86254
Compare
Automated update by CI pipeline https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines/125858319 Full CI result: ❌ 176 job(s) failed
Summary
Automated update of the libdatadog submodule to the latest HEAD.
$LIBDATADOG_PINNED_SHAfb65e461614fb9819c50d1cdc1337ca9605458daFull CI result: ❌ 176 job(s) failed
CI pipeline: https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines/125858319
libdatadog Integration Report
libdatadog SHA: fb65e461614fb9819c50d1cdc1337ca9605458da
Analysis date: 2026-07-20
Overall status
Build & test summary
All 176 failing jobs across the shared, appsec, and package sub-pipelines
share a single root cause: the
datadog-phpcrate (components-rs/) nolonger compiles against the new libdatadog, producing exactly 4 Rust compiler
errors:
Every failing job builds the
ddtraceextension (which statically linkslibdatadog_php.a), so the extension build fails before any test runs:ZAI Shared Tests (46) — C tests that link the extension.
test appsec extension,helper-cpp/ssi variants, code coverage, helper-rust integration coverage (84)
— all run the
buildTracer-*Gradle task, which compilescomponents-rs.compile extension windows(3).I confirmed via
tmp/artifacts/traces/andtmp/artifacts/all_failures.jsonthat no failing job exhibits any error signature other than these four; no
error originates outside
components-rs/. There are no failures attributable toappsec
helper-rustor the profiler independently — those crates do not use thechanged APIs (
FixedAggregationKey,Trilean, orlibdd_remote_config::Target).After the changes below, the crate should compile and the full pipeline should
recover. (I cannot run cargo/make in this environment, so this is reasoned from
the error messages and the new libdatadog source.)
Non-trivial changes made
components-rs/remote_config.rslibdatadog commits
eaf5ad066(refactor(libdd-remote-config)!: hide Targetinner properties) and
85ce322a1(fix(rc): Make Target fields availableagain) changed
libdd_remote_config::Target:Target::new(service, env, app_version, tags, process_tags)constructor.tagsandprocess_tagsare nowVec<String>(already-formatted"key:value"strings) instead ofVec<Tag>.service(),env(),app_version().Changes:
ddog_remote_configs_service_env_change: replaced theTarget { .. }structliteral with
Target::new(..). The&libdd_common_ffi::Vec<Tag>inputs areconverted to
Vec<String>via.as_slice().iter().map(|t| t.to_string())—
TagimplementsDisplay/AsRef<str>, andto_string()yields the"key:value"form the new API documents as expected.ddog_send_debugger_diagnostics:t.service.as_str()→t.service()(the accessor already returns
&str).components-rs/stats.rslibdatadog change to
FixedAggregationKey.is_trace_root: the field type changedfrom
booltolibdd_trace_protobuf::pb::Trilean(a 3-valuedNotSet/True/Falseprotobuf enum). This mirrors the internal conversion inlibdd-trace-stats/src/span_concentrator/aggregation.rs.use libdd_trace_protobuf::pb::Trilean;.build_fixed_key:is_trace_root: span.is_trace_root→if span.is_trace_root { Trilean::True } else { Trilean::False }, matching thelibrary's own
bool → Trileanmapping (a plainboolmaps toTrue/False,never
NotSet).components-rs/Cargo.tomlAdded a path dependency on
libdd-trace-protobufsoTrileancan be named.libdd-trace-statsdoes not re-export thepbmodule, and the crate was notpreviously a direct dependency. Added path-only (matching the other
libdd-*entries):
Identified libdatadog issues
None identified. All four breakages are intentional, documented API changes on
the libdatadog side (breaking-change commits marked
!), each with a clear newAPI to call. No panics or regressions originating inside libdatadog were found.
Flaky / ignored failures
None. Every one of the 176 failures is a deterministic compile error with the
same root cause; there are no timing/race/flaky or unrelated-infrastructure
failures in this run.
/cc @bwoebi