Skip to content

libdatadog update to 6760faae#3944

Merged
bwoebi merged 5 commits into
masterfrom
bot/libdatadog-latest
Jun 12, 2026
Merged

libdatadog update to 6760faae#3944
bwoebi merged 5 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 6760faaeeda1cfcf634410105f93cf7149265592

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


libdatadog Integration Report

libdatadog SHA: 6760faaeeda1cfcf634410105f93cf7149265592
Analysis date: 2026-06-12

Overall status

⚠️ Adapted (API changes fixed)

Build & test summary

17 jobs were reported as failed. They fall into three groups:

  1. Rust compilation failures (13 jobs) — root cause, now fixed.

    • compile extension: debug: [8.5, arm64]
    • compile tracing extension asan: [...] for 7.4 / 8.0 / 8.1 / 8.2 / 8.3 / 8.4 / 8.5 on both
      aarch64-unknown-linux-gnu (arm64) and x86_64-unknown-linux-gnu (amd64)

    All failed with the identical error:

    error[E0599]: no method named `remove` found for struct `VecMap` in the current scope
      --> components-rs/bytes.rs:249 / 254 / 293 / 319
    help: there is a method `remove_slow` with a similar name
    

    This is a direct consequence of new libdatadog commit
    74284cac7 refactor(span)!: use VecMap for meta, metrics and meta_struct for v04 spans,
    which replaced the HashMap-backed maps on SpanBytes with the new VecMap type.
    VecMap deliberately renames the removal method to remove_slow (it is O(n) via
    Vec::retain, unlike a hashmap). Fixed by updating the 4 call sites (see below).

  2. Downstream jobs blocked by the compile failure (2 jobs).

    • aggregate tested versions
    • pecl tests: [7.0]

    These consume the extension artifacts produced by the compile stage. They failed because the
    Rust library never built (script_failure); they are expected to pass once the compile fix
    above lands. No code change of their own is required.

  3. Unrelated / flaky (2 jobs). See "Flaky / ignored failures".

Once the remove_slow change is in place, the entire compile fan-out and its dependent jobs
should build and run again.

Non-trivial changes made

  • components-rs/bytes.rsSpanBytes.meta and SpanBytes.metrics are now VecMap
    instead of HashMap. The VecMap removal method is named remove_slow (the rename signals
    its linear-scan cost). Renamed the 4 call sites accordingly; the semantics are unchanged
    (remove_slow removes all entries matching the key):

    • 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 accessors we use (insert, get, contains_key) keep their names, so no
    further changes were needed. Verified there are no other VecMap::remove call sites in our
    Rust sources (the remaining .remove( calls in components-rs/ operate on HashMap/HashSet).

Identified libdatadog issues

None identified. The removeremove_slow rename is an intentional breaking API change
(commit 74284cac7, marked !), and the new method is a clean drop-in replacement with the
same delete-all-matching-keys semantics. The other breaking changes in the changelog
(feat(native-spans)! #2046, refactor(rc-fetcher)! #2103, feat(crashtracking)! #2099) did
not surface any compilation errors against our code.

Flaky / ignored failures

  • appsec integration tests: [test8.4-release] — 344 tests ran, 1 failed:
    TelemetryExtendedHeartbeatTests > extended heartbeat re-emits configuration, dependencies and integrations() with phpredis not emitted via app-started/app-integrations-change; saw: []; flushed = []. This is a telemetry integration test asserting on the flushed integrations list,
    which came back empty — a timing/flush race unrelated to the libdatadog span-map change. Ignored
    as flaky.
  • windows test_c: [7.2] and windows test_c: [7.3] — both failed with
    job_execution_timeout (not a script_failure/compile error). No compilation trace was
    produced. Treated as infrastructure timeout / flakiness, unrelated to the libdatadog API change.

/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

This comment has been minimized.

@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 06:39:49

Comparing candidate commit 76d6ef7 in PR branch bot/libdatadog-latest with baseline commit c079885 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/benchRegexMatching2

  • 🟩 execution_time [-132.606ns; -39.394ns] or [-8.059%; -2.394%]

scenario:TraceSerializationBench/benchSerializeTrace

  • 🟩 execution_time [-58.136µs; -42.464µs] or [-11.338%; -8.282%]

scenario:TraceSerializationBench/benchSerializeTrace-opcache

  • 🟩 execution_time [-46.724µs; -36.076µs] or [-10.528%; -8.129%]

@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 <[email protected]>
@bwoebi
bwoebi force-pushed the bot/libdatadog-latest branch from ea81580 to 63825e4 Compare June 12, 2026 00:53
@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to e15985f3 libdatadog update to 6760faae Jun 12, 2026
@dd-octo-sts
dd-octo-sts Bot force-pushed the bot/libdatadog-latest branch from 63825e4 to 76d6ef7 Compare June 12, 2026 05:21
@bwoebi
bwoebi force-pushed the bot/libdatadog-latest branch from 76d6ef7 to 3e75ca7 Compare June 12, 2026 09:35
@bwoebi
bwoebi merged commit 46641ee into master Jun 12, 2026
26 of 28 checks passed
@bwoebi
bwoebi deleted the bot/libdatadog-latest branch June 12, 2026 09:35
@github-actions github-actions Bot added profiling Relates to the Continuous Profiler tracing area:asm labels Jun 12, 2026
@github-actions github-actions Bot added this to the 1.22.0 milestone Jun 12, 2026
bwoebi added a commit that referenced this pull request Jun 12, 2026
…set-ddtrace-retry-interval

* 'master' of github.com:DataDog/dd-trace-php:
  libdatadog update to 6760faae (#3944)
  feat(profiling): add heap-live profiling for memory leak detection (#3623)
  chore: add kube pod annotation to debug request-replayer (#3978)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:asm profiling Relates to the Continuous Profiler tracing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants