libdatadog update to 836ff60a - #4125
dd-octo-sts[bot] wants to merge 2 commits into
Conversation
This comment has been minimized.
This comment has been minimized.
1571744 to
3fb3c5e
Compare
4cab22f to
a71405a
Compare
Benchmarks [ tracer ]Benchmark execution time: 2026-09-26 04:18:52 Comparing candidate commit 98bbcaa in PR branch Found 1 performance improvements and 1 performance regressions! Performance is the same for 192 metrics, 0 unstable metrics.
|
751e928 to
958e666
Compare
76428f6 to
ae07652
Compare
|
Blocked by #3725 |
b38fd2d to
29bfb62
Compare
b906c05 to
63b912d
Compare
c43dbd0 to
45e028c
Compare
316187d to
579336a
Compare
72637b4 to
8bfa4b5
Compare
3aa261a to
dce1c3b
Compare
1a59946 to
dc17e90
Compare
09eb848 to
c8f6e90
Compare
23f7454 to
69c64f1
Compare
c84da33 to
cc1f3c2
Compare
7336147 to
a996fad
Compare
Automated update by CI pipeline https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines/140372442 Full CI result: ❌ 1 job(s) failed
98bbcaa to
88b5767
Compare
Automated update by CI pipeline https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines/140372991 Full CI result: ❌ 246 job(s) failed
Summary
Automated update of the libdatadog submodule to the latest HEAD.
$LIBDATADOG_PINNED_SHA836ff60ac46244268c6b62b5246132a08cf09512Full CI result: ❌ 246 job(s) failed
CI pipeline: https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines/140372991
libdatadog Integration Report
libdatadog SHA: 836ff60ac46244268c6b62b5246132a08cf09512
Analysis date: 2026-09-26
Overall status
The code changes could not be compiled locally because no Rust toolchain is
available here. They are based on the error messages and the libdatadog source.
Build & test summary
246 jobs failed across the tracer, appsec, profiler, shared and package
sub-pipelines. All 111 available traces fail during the Rust build, for one of
two reasons. In the table, "Jobs" is the number of trace files showing that
error:
`dependency.winapi` was not found in `workspace.dependencies`while parsinglibdatadog/datadog-sidecar/Cargo.tomlerror[E0599]: no variant ... named AsmRawResponseBody found for enum RemoteConfigCapabilitiesatcomponents-rs/remote_config.rs:199Error 1 stops cargo before it compiles anything. It hits every job that runs
cargo from the dd-trace-php workspace: profiler builds,
clippy NTS,Cargo test, helper-rust build/coverage, and the appsec integration tests(
buildPortableLibdatadogPhp). Error 2 hits the jobs that did get as far ascompiling (the appsec extension and tracer builds). rustc reported
"1 previous error" for the
datadog-phpcrate, so there were no other typeerrors in it.
ddtrace-sidecarcompiled before that point.The failures without a trace file depend on the same Rust build:
make install, which buildsddtrace.sowith cargo.zend_abstract_interface/components_rs.cmake, which runs cargoon
components-rs.the extension or profiler.
So they fail as a knock-on effect of these two errors. No test failures
unrelated to the build were seen.
Non-trivial changes made
Cargo.toml(root[workspace.dependencies])dd-trace-php's root manifest is the workspace root for all
libdatadog/*crates. After the libdatadog update, those crates inherit dependency versions
from our root with
x.workspace = trueinstead of pinning versionsthemselves. Crates in our dependency graph now inherit dependencies that our
root did not declare. Cargo resolves these when it parses the manifest, even
for Windows-only or optional dependencies. I added the missing entries, copied
from
libdatadog/Cargo.toml:winapi = "0.3.9"datadog-sidecar,libdd-ipc(Windows)windows = "0.59.0"libdd-crashtracker,libdd-crashtracker-ffi(Windows)windows-sys = "0.52"kernel32-sys = "0.2.2"spawn_worker(Windows)cbindgen = "0.29"build-common(build dependency of the*-fficrates)opentelemetry-proto = "0.33"libdd-profiling(optionalotelfeature)blazesym-c = "=0.1.7"symbolizer-ffiAll entries use
default-features = false, like libdatadog does. libdatadognow spells out the features it needs (for example
"std"forwindows).I also raised three minimum versions to match libdatadog's workspace, since
libdatadog crates now take these versions from our root:
hyper: 1.6 → 1.11.Cargo.lockcurrently pins 1.6.0.tokio: 1.36 → 1.49.pyo3: 0.28 → 0.29. libdd-ffe moved to 0.29 in f4c19fc4a;pyo3is onlypulled in by an optional feature.
Cargo.lockis not updated here (no cargo available). CI does not use--locked, so cargo will refresh the lockfile. It should be regenerated andcommitted.
components-rs/remote_config.rs,components-rs/common.hRemoteConfigCapabilities::AsmRawResponseBodyfrom the capabilitiesthat
ddog_init_remote_configadvertises.DDOG_REMOTE_CONFIG_CAPABILITIES_ASM_RAW_RESPONSE_BODY = 49fromthe checked-in cbindgen header, so it matches the new enum.
libdatadog commit 03cead969 explains the removal: "AsmRawResponseBody only
exists in libdatadog and dd-trace-php and uses a value that had already been
taken on top of it. Remove it for now". The PHP tracer therefore stops
advertising capability bit 49. The appsec feature itself
(
DD_APPSEC_RAW_RESPONSE_BODY_ENABLED, inappsec/src/extension/entity_body.cand
request_shutdown.c) is not affected. No C code referenced the removedenum constant.
appsec integration test fixtures
appsec/tests/integration/.../mock_agent/rem_cfg/Capability.groovy: removedASM_RAW_RESPONSE_BODY(49).appsec/tests/integration/.../integration/RemoteConfigTests.groovy: removedCapability.ASM_RAW_RESPONSE_BODYfrom the list of capabilities the testexpects. The test itself still runs and checks every other capability.
Keeping the expectation would assert a capability that upstream removed on
purpose because its bit number clashed with another one.
Identified libdatadog issues
None identified that block this update. One follow-up:
means dd-trace-php can no longer tell the backend that it supports raw
response bodies. This was deliberate upstream (bit 49 clashed with an
existing one), not a bug. The appsec team needs to get a proper capability
number registered and added back to libdatadog, then re-add it in
components-rs/remote_config.rsand the integration test.Flaky / ignored failures
None. All 246 failures trace back to the two build errors above.
/cc @bwoebi