libdatadog update to 42d9ab04#3927
Conversation
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 269af891ab
ℹ️ 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 cea1e44edddd9124f75d5095f31026904a1f58d8 | |||
| Subproject commit 8ac735802ccd4eca304019be37960183a19bdaeb | |||
There was a problem hiding this comment.
Update Rust toolchains with this submodule bump
In environments that use this repo's pinned Rust 1.84.1 (Cargo.toml, profiling/rust-toolchain.toml, and the CI Dockerfiles), this new libdatadog SHA cannot be compiled because libdatadog at 8ac735802ccd4eca304019be37960183a19bdaeb declares workspace.package.rust-version = "1.87.0". Since profiling/Cargo.toml depends on libdatadog path crates, Cargo rejects the dependency before building; the toolchain/manifests/images need to be bumped alongside this gitlink, or the previous SHA kept.
Useful? React with 👍 / 👎.
269af89 to
578859b
Compare
578859b to
f75861e
Compare
f75861e to
405c9b4
Compare
Benchmarks [ profiler ]Benchmark execution time: 2026-05-30 02:40:12 Comparing candidate commit 405c9b4 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 29 metrics, 7 unstable metrics. |
405c9b4 to
2dc0884
Compare
Automated update by CI pipeline https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines/116142462 Full CI result: ❌ 35 job(s) failed
2dc0884 to
a4599e5
Compare
Summary
Automated update of the libdatadog submodule to the latest HEAD.
cea1e44edddd9124f75d5095f31026904a1f58d842d9ab0438338516d2e8ef962de4f8ed158c519dFull CI result: ❌ 35 job(s) failed
CI pipeline: https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines/116142462
libdatadog Integration Report
libdatadog SHA: 42d9ab0438338516d2e8ef962de4f8ed158c519d
Analysis date: 2026-05-31
Overall status
❌ Blocking issues remain — but the blocker is CI infrastructure, not a code/API incompatibility. API compatibility against this libdatadog SHA could not be validated, because no job in the pipeline ever reached the Rust compilation stage.
Build & test summary
35 jobs failed across the tracer and package sub-pipelines. They fall into one root cause plus its downstream effects:
33 of 34 traced jobs (all
compile profiler extension,compile tracing extension, andcompile tracing sidecarvariants, every PHP version × arch) failed at the exact same step, in the pre-build script that pins the libdatadog submodule:The submodule was checked out at its
.gitmodules-pinned commit (cea1e44edddd9124f75d5095f31026904a1f58d8), and the subsequent shallow fetch of the target SHA failed at the git wire-protocol level. Compilation never started.1 traced job —
compile extension: debug: [8.3, arm64](tracer-trigger) — failed at the final link step:The C extension objects compiled and archived fine; the final
ddtrace.solink failed because the Rust static librarytarget/debug/libddtrace_php.awas never produced (and with it, the libdatadog-provided entry symbolddog_spawn_direct_entry). This is the same root cause surfacing downstream: the Rust crate that links libdatadog could not be built.aggregate tested versionsfailed as a downstream aggregation of the already-failed compile jobs.A scan of every trace file for Rust compiler diagnostics (
error[Exxx],no method named,unresolved import, trait-bound failures,mismatched types,expected struct/enum, renamed paths, etc.) returned no matches. There is no evidence of any API break in these logs — there is also no evidence of compatibility, because the code was never compiled.Non-trivial changes made
No code changes required.
No dd-trace-php Rust source was edited. The failures contain no API-incompatibility signal to act on, and the project constraints forbid speculative rewrites or working around infrastructure failures in code. Editing call sites based only on the changelog (without a compiler surfacing a concrete break) would risk introducing regressions.
Identified libdatadog issues
None identified.
The git fetch failure (
git fetch-pack: expected shallow list/The remote end hung up unexpectedly) is an infrastructure/transient git-server problem on the CI side, not a defect in libdatadog code. It is unrelated to the contents of the new SHA and is expected to clear on a pipeline re-run.Flaky / ignored failures
All 35 failures are attributable to the single infrastructure root cause above (the libdatadog submodule shallow-fetch failing), and are therefore ignored for the purpose of API-compatibility analysis:
compile profiler extension/compile tracing extension/compile tracing sidecar(all arch/version combos) — git shallow-fetch failure before compilation.compile extension: debug: [8.3, arm64]— missinglibddtrace_php.a(downstream of the same root cause).aggregate tested versions— downstream aggregation of the failed compile jobs.Recommendation / caveat
This update is unverified, not clean. The pipeline must be re-run once the git infrastructure recovers so that compilation can actually exercise the new libdatadog API.
Of note, the changelog since the pinned SHA contains several breaking (
!) changes that touch FFI/trace surfaces dd-trace-php may consume, and which a real compile run should be checked against:feat!: Align tracer FFI error and response types with common conventions (#2029)fix(crashtracking)!: flatten all threads object into a list of ThreadData (#2054)feat(trace-utils)!: introduce VecMap datastructure (#2022)feat(trace-utils)!: add from_string to span text (#2011)feat!: add encoder from v04 to v1 (#1896)feat: Add FFI for trace exporter (#1952)These were not validated by this pipeline run and may or may not require adaptation; a successful re-run is the only way to know.
/cc @bwoebi