Skip to content

libdatadog update to e15985f3#3944

Open
dd-octo-sts[bot] wants to merge 4 commits into
masterfrom
bot/libdatadog-latest
Open

libdatadog update to e15985f3#3944
dd-octo-sts[bot] wants to merge 4 commits into
masterfrom
bot/libdatadog-latest

Conversation

@dd-octo-sts

@dd-octo-sts dd-octo-sts Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Summary

Automated update of the libdatadog submodule to the latest HEAD.

SHA
Previous 382a08732c4f0061c55f890830b5206afc3e929f
New e15985f3bbcf25c29a29e4527c266b1b10942c0a

Full CI result: ❌ 15 job(s) failed
CI pipeline: https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines/118037424


libdatadog Integration Report

libdatadog SHA: e15985f3bbcf25c29a29e4527c266b1b10942c0a
Analysis date: 2026-06-11

Overall status

⚠️ Adapted (API changes fixed)

Build & test summary

15 jobs were reported as failed across the tracer and package sub-pipelines. They fall into three groups:

  1. Rust compilation failures (12 jobs) — every compile tracing extension asan job (8.0–8.5, amd64 + arm64) and the compile extension: debug-zts-asan: [7.4, arm64] job failed with the same compile error in the datadog-php crate (components-rs/bytes.rs). This is a genuine libdatadog API change and is fixed below.

  2. aggregate tested versions (1 job) — this aggregation step is downstream of the compile jobs; it failed only because its inputs (the compile jobs) failed. It will recover once compilation is fixed. No code change needed.

  3. windows test_c: [7.2] and [7.3] (2 jobs) — both failed with job_execution_timeout after exactly 3600 s (the 1-hour job limit), not with a build/compile error. This is CI infrastructure slowness, unrelated to the libdatadog API. Treated as flaky/infra (see below).

After the fix, the datadog-php crate (the only crate in our tree that failed) should compile. rustc reports all errors in a crate before aborting and reported exactly 4, all in bytes.rs, so no other call sites in our code are affected.

Non-trivial changes made

components-rs/bytes.rsVecMap::removeVecMap::remove_slow

libdatadog commit 74284cac7 refactor(span)!: use VecMap for meta, metrics and meta_struct for v04 spans (#2043) changed the backing type of SpanBytes::meta, metrics and meta_struct from a hash map to the new VecMap (libdd-trace-utils/src/span/vec_map.rs).

VecMap does not expose a remove method. Removal on a vector-backed map is intentionally a linear Vec::retain operation, so the API names it remove_slow to make the cost explicit:

/// Remove all entries matching this key from the map. This method uses [Vec::retain], and is
/// thus potentially costly (like any removal in a vector-like datastructure).
pub fn remove_slow<Q>(&mut self, key: &Q)
where K: Borrow<Q>, Q: ?Sized + PartialEq { self.data.retain(|(k, _)| k.borrow() != key); }

The signature (&Q borrowed key) and semantics (remove all entries matching the key) match the old remove(&key) usage exactly, so this is a pure rename — the compiler itself suggested remove_slow. Updated the 4 call sites:

  • line 249 — ddog_del_span_meta_zstr: ptr.meta.remove(...)ptr.meta.remove_slow(...)
  • line 254 — ddog_del_span_meta_str: ptr.meta.remove(...)ptr.meta.remove_slow(...)
  • line 293 — ddog_del_span_metrics_zstr: ptr.metrics.remove(...)ptr.metrics.remove_slow(...)
  • line 319 — ddog_del_span_metrics_str: ptr.metrics.remove(...)ptr.metrics.remove_slow(...)

The other VecMap methods our code uses (insert, get, contains_key) are unchanged and still present.

Identified libdatadog issues

None identified. The compile failure was an expected breaking API change (#2043), correctly flagged with a ! in its conventional-commit title, and adapted with a direct equivalent.

Flaky / ignored failures

  • windows test_c: [7.2], windows test_c: [7.3] — both ended in job_execution_timeout at the 3600 s job limit rather than a script/compile error. This is the Windows test runner being slow, not a libdatadog API problem. Ignored as infra flakiness.
  • aggregate tested versions — failed only as a downstream consequence of the failed compile jobs; no independent issue. Expected to pass once the compile jobs are green.

/cc @bwoebi

@dd-octo-sts dd-octo-sts Bot requested review from a team as code owners June 3, 2026 05:22
@dd-octo-sts dd-octo-sts Bot requested review from sameerank and typotter and removed request for a team June 3, 2026 05:22
@datadog-prod-us1-6

datadog-prod-us1-6 Bot commented Jun 3, 2026

Copy link
Copy Markdown

Pipelines  Tests

Fix all issues with BitsAI

⚠️ Warnings

🚦 16 Pipeline jobs failed

DataDog/apm-reliability/dd-trace-php | ASAN test_c with multiple observers: [8.4]   View in Datadog   GitLab

DataDog/apm-reliability/dd-trace-php | ASAN test_c with multiple observers: [8.5]   View in Datadog   GitLab

DataDog/apm-reliability/dd-trace-php | ASAN test_c: [8.5, arm64]   View in Datadog   GitLab

View all 16 failed jobs.

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 54.12% (+0.00%)

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 63825e4 | Docs | Datadog PR Page | Give us feedback!

@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to a1da9fc3 libdatadog update to 48da0d82 Jun 4, 2026
@dd-octo-sts dd-octo-sts Bot force-pushed the bot/libdatadog-latest branch 2 times, most recently from bbf5aea to 5c82d3b Compare June 5, 2026 05:10
@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to 48da0d82 libdatadog update to a76412cc Jun 5, 2026
@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to a76412cc libdatadog update to 98016adb Jun 6, 2026
@dd-octo-sts dd-octo-sts Bot force-pushed the bot/libdatadog-latest branch 3 times, most recently from 61593df to 6c9ce4c Compare June 8, 2026 07:41
@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to 98016adb libdatadog update to cfb46bd8 Jun 9, 2026
@dd-octo-sts dd-octo-sts Bot force-pushed the bot/libdatadog-latest branch 2 times, most recently from 6cbfc00 to 799e351 Compare June 10, 2026 05:04
@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to cfb46bd8 libdatadog update to 74284cac Jun 10, 2026
@dd-octo-sts dd-octo-sts Bot requested a review from a team as a code owner June 10, 2026 05:04
@pr-commenter

pr-commenter Bot commented Jun 10, 2026

Copy link
Copy Markdown

Benchmarks [ tracer ]

Benchmark execution time: 2026-06-12 02:12:19

Comparing candidate commit 63825e4 in PR branch bot/libdatadog-latest with baseline commit 759417f in branch master.

Found 3 performance improvements and 0 performance regressions! Performance is the same for 191 metrics, 0 unstable metrics.

Explanation

This is an A/B test comparing a candidate commit's performance against that of a baseline commit. Performance changes are noted in the tables below as:

  • 🟩 = significantly better candidate vs. baseline
  • 🟥 = significantly worse candidate vs. baseline

We compute a confidence interval (CI) over the relative difference of means between metrics from the candidate and baseline commits, considering the baseline as the reference.

If the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD), the change is considered significant.

Feel free to reach out to #apm-benchmarking-platform on Slack if you have any questions.

More details about the CI and significant changes

You can imagine this CI as a range of values that is likely to contain the true difference of means between the candidate and baseline commits.

CIs of the difference of means are often centered around 0%, because often changes are not that big:

---------------------------------(------|---^--------)-------------------------------->
                              -0.6%    0%  0.3%     +1.2%
                                 |          |        |
         lower bound of the CI --'          |        |
sample mean (center of the CI) -------------'        |
         upper bound of the CI ----------------------'

As described above, a change is considered significant if the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD).

For instance, for an execution time metric, this confidence interval indicates a significantly worse performance:

----------------------------------------|---------|---(---------^---------)---------->
                                       0%        1%  1.3%      2.2%      3.1%
                                                  |   |         |         |
       significant impact threshold --------------'   |         |         |
                      lower bound of CI --------------'         |         |
       sample mean (center of the CI) --------------------------'         |
                      upper bound of CI ----------------------------------'

scenario:SamplingRuleMatchingBench/benchRegexMatching1

  • 🟩 execution_time [-135.343ns; -71.257ns] or [-8.304%; -4.372%]

scenario:TraceSerializationBench/benchSerializeTrace

  • 🟩 execution_time [-51.967µs; -36.133µs] or [-10.186%; -7.082%]

scenario:TraceSerializationBench/benchSerializeTrace-opcache

  • 🟩 execution_time [-46.228µs; -30.872µs] or [-10.431%; -6.966%]

@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to 74284cac libdatadog update to e15985f3 Jun 11, 2026
@dd-octo-sts dd-octo-sts Bot force-pushed the bot/libdatadog-latest branch from 799e351 to ad1c70c Compare June 11, 2026 05:00
@bwoebi bwoebi requested a review from a team as a code owner June 11, 2026 23:55
Signed-off-by: Bob Weinand <bob.weinand@datadoghq.com>
@bwoebi bwoebi force-pushed the bot/libdatadog-latest branch from ea81580 to 63825e4 Compare June 12, 2026 00:53
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.

2 participants