Skip to content

refactor(libdd-common)!: preparatory cleanup for restructure - #2722

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 18 commits into
mainfrom
jwiriath/APMSP-4095-prep-cleanup
Oct 27, 2026
Merged

gh-worker-dd-mergequeue-cf854d[bot] merged 18 commits into
mainfrom
jwiriath/APMSP-4095-prep-cleanup

Conversation

@Aaalibaba42

@Aaalibaba42 Aaalibaba42 commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

What does this PR do?

Declutter libdd-common before further refactor are possible, per epic APMSP-4094

Motivation

Plan to move libdd-common into other crates need first a cleanup pass.

Additional Notes

Will impact some consumers of this crates, most notably dd-trace-php, a comment was recorded in the ticket.

You might want to review commit by commit, instead of looking at the whole change at once, as it may seem erratic all at once

How to test the change?

@Aaalibaba42
Aaalibaba42 requested review from a team as code owners October 23, 2026 15:11
@Aaalibaba42 Aaalibaba42 changed the title refactor(libdd: preparatory cleanup for restructure refactor(libdd-common): preparatory cleanup for restructure Oct 23, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-23T15:55:37.149641Z 13426bc Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Aaalibaba42
Aaalibaba42 marked this pull request as draft October 23, 2026 15:11

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

https://github.com/DataDog/libdatadog/blob/45fc6930028ec0c1e278276fcf5f8112ba994169/libdd-common/src/config.rs#L29-L31
P2 Badge Preserve the published URI parser API

For downstream crates that call libdd_common::config::parse_env::uri, deleting this public function turns an otherwise source-compatible libdd-common update into a compile failure. The change is presented as a non-breaking refactor, so either retain/deprecate the function or classify the corresponding release as breaking.

AGENTS.md reference: AGENTS.md:L116-L119

ℹ️ 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".

Comment thread libdd-crashtracker/Cargo.toml Outdated
@datadog-prod-us1-3

datadog-prod-us1-3 Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Pipelines  Tests

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
• Patch Coverage: 0.00%
• Overall Coverage: 82.91% (+0.11%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: bdfcaf4 | Docs | View more details | Give us feedback!

@Aaalibaba42

Copy link
Copy Markdown
Contributor Author

@codex review

@Aaalibaba42 Aaalibaba42 changed the title refactor(libdd-common): preparatory cleanup for restructure refactor(libdd-common)!: preparatory cleanup for restructure Oct 23, 2026
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. More of your lovely PRs please.

Reviewed commit: 13426bca85

ℹ️ 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".

@dd-octo-sts

dd-octo-sts Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 9.15 MB 9.08 MB --.68% (-64.00 KB) 💪
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 96.75 MB 96.68 MB --.06% (-64.10 KB) 💪
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 12.37 MB 12.37 MB -0% (-1.20 KB) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 107.11 MB 107.11 MB +0% (+3.21 KB) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 29.60 MB 29.50 MB --.35% (-106.50 KB) 💪
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 99.67 KB 99.67 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 194.61 MB 191.92 MB --1.38% (-2.68 MB) 💪
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 821.01 MB 797.93 MB --2.81% (-23.07 MB) 💪
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.70 MB 9.70 MB +.01% (+1.00 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 99.67 KB 99.67 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 27.68 MB 27.66 MB --.08% (-24.00 KB) 💪
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 55.71 MB 55.67 MB --.06% (-36.56 KB) 💪
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 26.05 MB 25.99 MB --.21% (-58.50 KB) 💪
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 101.22 KB 101.22 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 199.99 MB 197.56 MB --1.21% (-2.42 MB) 💪
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 806.92 MB 784.58 MB --2.76% (-22.33 MB) 💪
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.49 MB 7.49 MB --.01% (-1.50 KB) 💪
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 101.22 KB 101.22 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 29.76 MB 29.75 MB --.05% (-16.00 KB) 💪
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 52.59 MB 52.57 MB --.03% (-20.92 KB) 💪
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 86.67 MB 86.65 MB --.01% (-16.88 KB) 💪
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.13 MB 10.13 MB --.03% (-4.00 KB) 💪
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 102.15 MB 102.14 MB -0% (-2.33 KB) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 12.24 MB 12.24 MB --.01% (-1.32 KB) 💪

@pr-commenter

pr-commenter Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Benchmarks

Comparison

Benchmark execution time: 2026-10-27 14:08:19

Comparing candidate commit bdfcaf4 in PR branch jwiriath/APMSP-4095-prep-cleanup with baseline commit 0ea359a in branch main.

📊 Benchmarking dashboard

Found 11 performance improvements and 21 performance regressions! Performance is the same for 117 metrics, 10 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:agentless_encoding/common_http/20x5

  • 🟩 execution_time [-8.383µs; -8.148µs] or [-7.203%; -7.001%]
  • 🟩 throughput [+64739.008op/s; +66741.703op/s] or [+7.534%; +7.768%]

scenario:agentless_encoding/http_with_span_links/20x5

  • 🟩 execution_time [-9.295µs; -9.222µs] or [-7.047%; -6.992%]
  • 🟩 throughput [+57005.577op/s; +57472.692op/s] or [+7.519%; +7.580%]

scenario:credit_card/is_card_number/x371413321323331

  • 🟥 execution_time [+401.129ns; +403.446ns] or [+6.637%; +6.675%]
  • 🟥 throughput [-10354988.693op/s; -10296077.802op/s] or [-6.258%; -6.223%]

scenario:credit_card/is_card_number_no_luhn/x371413321323331

  • 🟥 execution_time [+400.815ns; +403.885ns] or [+6.632%; +6.682%]
  • 🟥 throughput [-10367194.508op/s; -10286327.137op/s] or [-6.266%; -6.217%]

scenario:msgpack_encoder::v04::write_to_slice_from_v04

  • 🟩 execution_time [-26.031µs; -25.152µs] or [-4.235%; -4.092%]

scenario:sql/obfuscate_sql_string

  • 🟥 execution_time [+12.129µs; +12.376µs] or [+4.235%; +4.322%]

scenario:vec_map/as_deduped_map/already_deduped/8

  • 🟥 execution_time [+2.667ns; +2.748ns] or [+19.924%; +20.534%]

scenario:vec_map/as_deduped_map/needs_dedup_1_in_10/128

  • 🟩 execution_time [-162.938ns; -155.929ns] or [-6.723%; -6.434%]

scenario:vec_map/as_deduped_map/needs_dedup_1_in_10/8

  • 🟥 execution_time [+8.384ns; +8.619ns] or [+4.629%; +4.759%]

scenario:vec_map/as_deduped_map/needs_dedup_1_in_2/128

  • 🟩 execution_time [-168.266ns; -165.297ns] or [-5.288%; -5.194%]

scenario:vec_map/contains_key/128

  • 🟥 execution_time [+675.021ns; +692.235ns] or [+4.500%; +4.614%]
  • 🟥 throughput [-376537.805op/s; -367232.710op/s] or [-4.413%; -4.304%]

scenario:vec_map/contains_key/64

  • 🟥 execution_time [+237.775ns; +243.044ns] or [+6.045%; +6.179%]
  • 🟥 throughput [-947180.031op/s; -927097.035op/s] or [-5.821%; -5.698%]

scenario:vec_map/contains_key/8

  • 🟥 execution_time [+3.779ns; +4.011ns] or [+5.355%; +5.683%]
  • 🟥 throughput [-6116652.941op/s; -5752311.885op/s] or [-5.396%; -5.074%]

scenario:vec_map/get_hit/64

  • 🟥 execution_time [+1.702µs; +1.728µs] or [+46.769%; +47.488%]
  • 🟥 throughput [-5660860.047op/s; -5601521.200op/s] or [-32.191%; -31.854%]

scenario:vec_map/get_hit/8

  • 🟥 execution_time [+19.056ns; +19.189ns] or [+35.931%; +36.184%]
  • 🟥 throughput [-40153180.758op/s; -39809206.237op/s] or [-26.617%; -26.389%]

scenario:vec_map/get_mut/128

  • 🟥 execution_time [+1.632µs; +1.988µs] or [+11.573%; +14.101%]
  • 🟥 throughput [-1133912.860op/s; -957202.389op/s] or [-12.462%; -10.520%]

scenario:vec_map/get_mut/64

  • 🟥 execution_time [+471.897ns; +557.904ns] or [+12.364%; +14.618%]
  • 🟥 throughput [-2183197.073op/s; -1842268.508op/s] or [-12.994%; -10.965%]

scenario:vec_map/iter/128

  • 🟩 execution_time [-6.298ns; -6.162ns] or [-5.670%; -5.548%]
  • 🟩 throughput [+67751370.103op/s; +69204410.498op/s] or [+5.879%; +6.005%]

scenario:vec_map/iter/8

  • 🟩 execution_time [-0.588ns; -0.570ns] or [-8.118%; -7.880%]
  • 🟩 throughput [+94604379.786op/s; +97693881.914op/s] or [+8.559%; +8.838%]

Unstable benchmarks

These benchmarks have a confidence interval too wide to call a change; treat them as noise rather than signal.

scenario:span_pool/allocated_bytes/1x10/pooled

  • unstable execution_time [-892.118ns; +396.682ns] or [-59.210%; +26.328%]
  • unstable throughput [-37338657.853op/s; +122449683.500op/s] or [-488.300%; +1601.347%]

scenario:span_pool/allocated_bytes/20x100/pooled

  • unstable execution_time [-51.778µs; +163.058µs] or [-3.606%; +11.355%]
  • unstable throughput [-133852.637op/s; +55211.125op/s] or [-9.599%; +3.960%]

scenario:span_pool_v1/allocated_bytes/1x10/pooled

  • unstable execution_time [-1018.877ns; +549.497ns] or [-56.304%; +30.366%]
  • unstable throughput [-57389.038op/s; +11751290.704op/s] or [-0.959%; +196.448%]

scenario:span_pool_v1/allocated_bytes/20x100/pooled

  • unstable execution_time [-21.217µs; +137.257µs] or [-1.593%; +10.306%]
  • unstable throughput [-147473.113op/s; +23823.616op/s] or [-9.785%; +1.581%]

scenario:vec_map/get_mut/8

  • unstable execution_time [-0.807ns; +10.297ns] or [-0.897%; +11.443%]
  • unstable throughput [-10840675.411op/s; +575735.668op/s] or [-11.581%; +0.615%]
Benchmark execution time: 2026-10-27 14:12:03

Comparing candidate commit bdfcaf4 in PR branch jwiriath/APMSP-4095-prep-cleanup with baseline commit 0ea359a in branch main.

📊 Benchmarking dashboard

Found 2 performance improvements and 4 performance regressions! Performance is the same for 89 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:flagevaluation_evp/coalescer/stress/10flags_1000users_250fields

  • 🟥 execution_time [+15.084ms; +15.733ms] or [+8.057%; +8.403%]
  • 🟥 throughput [-414.532op/s; -397.821op/s] or [-7.760%; -7.447%]

scenario:flagevaluation_evp/payloads/stress/10flags_1000users_250fields

  • 🟥 execution_time [+11.291ms; +11.433ms] or [+6.223%; +6.302%]
  • 🟥 throughput [-326.870op/s; -322.793op/s] or [-5.930%; -5.856%]

scenario:thread_cpu/alloc_free/system/4096

  • 🟩 execution_time [-16.397ns; -16.260ns] or [-15.525%; -15.396%]

scenario:thread_cpu/profiler_attached/slow_path_system/4096

  • 🟩 execution_time [-10.262ns; -10.104ns] or [-6.523%; -6.422%]

Benchmark execution time: 2026-10-27 14:17:26

Comparing candidate commit bdfcaf4 in PR branch jwiriath/APMSP-4095-prep-cleanup with baseline commit 0ea359a in branch main.

📊 Benchmarking dashboard

Found 0 performance improvements and 4 performance regressions! Performance is the same for 68 metrics, 24 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:datadog_sample_span/complex_rule_partial_match/wall_time

  • 🟥 execution_time [+9.256ns; +9.621ns] or [+4.325%; +4.495%]

scenario:glob_matcher/ascii_case_insensitive_match/wall_time

  • 🟥 execution_time [+3.535ns; +3.667ns] or [+12.920%; +13.402%]

scenario:glob_matcher/ascii_exact_match/wall_time

  • 🟥 execution_time [+3.551ns; +3.731ns] or [+12.944%; +13.598%]

scenario:glob_matcher/ascii_exact_miss/wall_time

  • 🟥 execution_time [+3.069ns; +3.118ns] or [+23.255%; +23.623%]

Unstable benchmarks

These benchmarks have a confidence interval too wide to call a change; treat them as noise rather than signal.

scenario:datadog_sample_span/complex_rule_matching/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+555.735%; -555.735%]

scenario:datadog_sample_span/complex_rule_partial_match/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+546.883%; -551.588%]

scenario:datadog_sample_span/many_attributes_tag_rule/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+559.678%; -557.595%]

scenario:datadog_sample_span/multiple_rules_first_match/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+555.735%; -555.735%]

scenario:datadog_sample_span/multiple_rules_last_match/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+552.305%; -554.123%]

scenario:datadog_sample_span/name_pattern_rule_matching/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+548.494%; -552.340%]

scenario:datadog_sample_span/name_pattern_rule_not_matching/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+558.517%; -557.046%]

scenario:datadog_sample_span/parent_not_sampled_short_circuit/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+555.182%; -555.475%]

scenario:datadog_sample_span/parent_sampled_short_circuit/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+555.735%; -555.735%]

scenario:datadog_sample_span/resource_pattern_rule_matching/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+552.108%; -554.031%]

scenario:datadog_sample_span/resource_pattern_rule_not_matching/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+558.537%; -557.056%]

scenario:datadog_sample_span/root_span_no_rules/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+553.748%; -554.800%]

scenario:datadog_sample_span/service_rule_matching/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+552.305%; -554.123%]

scenario:datadog_sample_span/service_rule_not_matching/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+549.049%; -552.599%]

scenario:datadog_sample_span/tag_rule_matching/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+559.340%; -557.435%]

scenario:datadog_sample_span/tag_rule_not_matching/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+555.735%; -555.735%]

scenario:glob_matcher/ascii_case_insensitive_match/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+591.743%; -572.993%]

scenario:glob_matcher/ascii_exact_match/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+592.262%; -573.246%]

scenario:glob_matcher/ascii_exact_miss/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+667.285%; -610.803%]

scenario:glob_matcher/ascii_wildcard_backtrack_match/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+554.959%; -555.370%]

scenario:glob_matcher/ascii_wildcard_heavy_backtrack/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+557.454%; -556.545%]

scenario:glob_matcher/ascii_wildcard_question_match/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+564.448%; -559.856%]

scenario:glob_matcher/ascii_wildcard_star_match/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+566.019%; -560.602%]

scenario:glob_matcher/star_short_circuit/allocated_bytes

  • unstable execution_time [-0.000ns; +0.000ns] or [+554.967%; -555.374%]

Candidate

Omitted due to size.

Baseline

Omitted due to size.

@Aaalibaba42
Aaalibaba42 marked this pull request as ready for review October 23, 2026 15:51
@Aaalibaba42
Aaalibaba42 requested a review from a team as a code owner October 23, 2026 15:51
morrisonlevi and others added 5 commits October 23, 2026 11:29
…ed cstr!

The cstr! macro was copied in only to build two fixed strings, validating
them at runtime with a panic path. C string literals are checked at
compile time.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The release review skill and the libdd-common README still listed the
cstr module and its macros. Point the skill at c"..." literals instead,
which the workspace MSRV supports.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Win32_System_Diagnostics_ToolHelp and Win32_System_Performance were used
by test_utils and the rate limiter clock, which now live in tools and
libdd-ipc. Both crates declare the features they need.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The rate limiter moved to libdd-ipc.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rep-cleanup

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

# Conflicts:
#	Cargo.lock
#	libdd-common/Cargo.toml
#	libdd-profiling/Cargo.toml
@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Clippy Allow Annotation Report

Tracked Clippy allow annotations changed vs main: ⚠️ +1 (8 → 9)

Rule Base PR Δ
panic 1 0 ✅ -1
unwrap_used 7 9 ⚠️ +2
By file and crate

By file

File Base PR Δ
libdd-common/src/cstr.rs 1 0 ✅ -1
libdd-ipc/src/rate_limiter/shm.rs 0 2 ⚠️ +2

By crate

Crate Base PR Δ
libdd-ipc 21 23 ⚠️ +2

About This Report

This report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality. Panic-inducing macros in particular should be avoided. In the future, this report may become a PR-blocking quality gate.

@Aaalibaba42
Aaalibaba42 requested a review from a team as a code owner October 26, 2026 10:29

@hoolioh hoolioh left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. However check with php team if we can remove cc_utils entirely, I believe they're using it in their repository. @morrisonlevi is that ok to port the same changes to dd-trace-php or should we leave cc_utils in libdd for now?

Comment thread .claude/skills/release-proposal-pr-review-bumps/SKILL.md Outdated
@bwoebi

bwoebi commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

@hoolioh We don't use cc_utils directly in dd-trace-php. So no issue here.

@Aaalibaba42

Copy link
Copy Markdown
Contributor Author

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351 Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-10-27 13:45:39 UTC ℹ️ Start processing command /merge


2026-10-27 13:45:46 UTC ℹ️ MergeQueue: Pull request is not mergeable yet

It will be processed automatically as soon as GitHub reports it as mergeable. View in MergeQueue UI.

  • Run /code blockers to see what is blocking it.
  • Run /remove to cancel it.

2026-10-27 15:01:11 UTC ℹ️ MergeQueue: merge request added to the queue

The expected merge time in main is approximately 44m (p90).


2026-10-27 15:41:23 UTC ℹ️ MergeQueue: This merge request was merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants