Skip to content

fix(shared-runtime): allow disabling worker fork restart - #2464

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 2 commits into
mainfrom
juanjux/disable-worker-fork-restart
Sep 4, 2026
Merged

fix(shared-runtime): allow disabling worker fork restart#2464
gh-worker-dd-mergequeue-cf854d[bot] merged 2 commits into
mainfrom
juanjux/disable-worker-fork-restart

Conversation

@juanjux

@juanjux juanjux commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Adds WorkerHandle::set_fork_restart(bool), allowing integrations to control whether an existing worker restarts in a fork child without stopping it.

Motivation

Python-managed and native forks require different worker behavior. Before a Python fork, ddtrace must configure the telemetry worker so the child drops its inherited copy without running shutdown logic. The parent then restores normal native-fork restart behavior.

Changing this policy before the fork avoids locking or mutating the inherited worker registry in the child.

Additional Notes

The dependent ddtrace-py change requires this API and a libdatadog release containing it.

How to test the change?

  • cargo fmt --all -- --check
  • cargo check -p libdd-shared-runtime --all-targets --all-features
  • Tests cover dropping a worker without shutdown when child restart is disabled.

@juanjux
juanjux requested a review from a team as a code owner September 4, 2026 07:30
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 4, 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-09-04T07:33:23.120020Z f747bc8 PR opened
ℹ️ 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.

@datadog-prod-us1-4

datadog-prod-us1-4 Bot commented Sep 4, 2026

Copy link
Copy Markdown

Tests

All CI checks and tests passed.

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
Patch Coverage: 95.83%
Overall Coverage: 77.10% (-0.01%)

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

@pr-commenter

pr-commenter Bot commented Sep 4, 2026

Copy link
Copy Markdown

Benchmarks

Comparison

Benchmark execution time: 2026-09-04 07:55:05

Comparing candidate commit 0778918 in PR branch juanjux/disable-worker-fork-restart with baseline commit 8134078 in branch main.

📊 Benchmarking dashboard

Found 0 performance improvements and 0 performance regressions! Performance is the same for 25 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 ----------------------------------'

Candidate

Candidate benchmark details

Group 1

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0778918 1788507780 juanjux/disable-worker-fork-restart
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
trace_buffer/1_senders/10us_delay execution_time 56.324ms 56.729ms ± 0.338ms 56.610ms ± 0.150ms 56.931ms 57.422ms 57.615ms 57.708ms 1.94% 1.110 0.195 0.60% 0.024ms 1 200
trace_buffer/1_senders/10us_delay throughput 15595.831op/s 15865.511op/s ± 94.051op/s 15898.300op/s ± 42.048op/s 15933.823op/s 15968.273op/s 15975.221op/s 15979.071op/s 0.51% -1.093 0.151 0.59% 6.650op/s 1 200
trace_buffer/1_senders/1us_delay execution_time 49.975ms 50.077ms ± 0.033ms 50.079ms ± 0.013ms 50.090ms 50.139ms 50.183ms 50.203ms 0.25% 0.633 1.775 0.07% 0.002ms 1 200
trace_buffer/1_senders/1us_delay throughput 17927.225op/s 17972.371op/s ± 11.814op/s 17971.531op/s ± 4.644op/s 17977.793op/s 17989.379op/s 17991.159op/s 18009.007op/s 0.21% -0.626 1.762 0.07% 0.835op/s 1 200
trace_buffer/1_senders/no_delay execution_time 324.708µs 334.954µs ± 5.499µs 335.340µs ± 2.712µs 337.439µs 340.075µs 348.415µs 387.601µs 15.58% 4.454 40.568 1.64% 0.389µs 1 200
trace_buffer/1_senders/no_delay throughput 2321975.276op/s 2687612.446op/s ± 41451.767op/s 2683839.923op/s ± 21851.844op/s 2711602.864op/s 2743865.609op/s 2755976.023op/s 2771724.648op/s 3.27% -3.462 28.966 1.54% 2931.083op/s 1 200
trace_buffer/2_senders/10us_delay execution_time 56.557ms 57.113ms ± 0.270ms 57.071ms ± 0.202ms 57.344ms 57.560ms 57.719ms 57.761ms 1.21% 0.355 -0.797 0.47% 0.019ms 1 200
trace_buffer/2_senders/10us_delay throughput 31162.815op/s 31517.078op/s ± 148.925op/s 31539.834op/s ± 111.768op/s 31632.683op/s 31723.913op/s 31774.591op/s 31826.161op/s 0.91% -0.339 -0.809 0.47% 10.531op/s 1 200
trace_buffer/2_senders/1us_delay execution_time 50.058ms 50.114ms ± 0.038ms 50.109ms ± 0.020ms 50.128ms 50.183ms 50.226ms 50.339ms 0.46% 1.903 6.903 0.07% 0.003ms 1 200
trace_buffer/2_senders/1us_delay throughput 35757.910op/s 35918.321op/s ± 26.915op/s 35921.807op/s ± 14.197op/s 35936.146op/s 35950.507op/s 35957.505op/s 35958.122op/s 0.10% -1.891 6.821 0.07% 1.903op/s 1 200
trace_buffer/2_senders/no_delay execution_time 853.021µs 904.111µs ± 17.359µs 904.562µs ± 12.422µs 917.173µs 927.106µs 936.729µs 986.505µs 9.06% 0.111 1.931 1.92% 1.227µs 1 200
trace_buffer/2_senders/no_delay throughput 1824622.367op/s 1991635.139op/s ± 38236.047op/s 1989913.867op/s ± 27256.801op/s 2016855.665op/s 2050425.494op/s 2083625.523op/s 2110147.759op/s 6.04% 0.099 1.430 1.92% 2703.697op/s 1 200
trace_buffer/4_senders/10us_delay execution_time 57.035ms 57.409ms ± 0.173ms 57.385ms ± 0.112ms 57.544ms 57.719ms 57.805ms 57.881ms 0.86% 0.345 -0.422 0.30% 0.012ms 1 200
trace_buffer/4_senders/10us_delay throughput 62196.694op/s 62708.336op/s ± 188.869op/s 62733.727op/s ± 122.708op/s 62834.170op/s 62995.397op/s 63084.622op/s 63118.592op/s 0.61% -0.331 -0.431 0.30% 13.355op/s 1 200
trace_buffer/4_senders/1us_delay execution_time 50.112ms 50.164ms ± 0.032ms 50.157ms ± 0.015ms 50.175ms 50.239ms 50.257ms 50.280ms 0.24% 1.309 1.780 0.06% 0.002ms 1 200
trace_buffer/4_senders/1us_delay throughput 71599.653op/s 71764.839op/s ± 46.080op/s 71774.289op/s ± 21.070op/s 71793.880op/s 71822.774op/s 71833.650op/s 71838.847op/s 0.09% -1.305 1.768 0.06% 3.258op/s 1 200
trace_buffer/4_senders/no_delay execution_time 2.047ms 2.259ms ± 0.080ms 2.261ms ± 0.056ms 2.317ms 2.382ms 2.429ms 2.452ms 8.46% -0.162 -0.253 3.53% 0.006ms 1 200
trace_buffer/4_senders/no_delay throughput 1467904.498op/s 1595540.511op/s ± 56965.053op/s 1592049.399op/s ± 39996.139op/s 1633483.998op/s 1694730.852op/s 1742530.064op/s 1758817.830op/s 10.48% 0.346 -0.122 3.56% 4028.038op/s 1 200
trace_buffer/8_senders/10us_delay execution_time 57.541ms 57.844ms ± 0.183ms 57.803ms ± 0.126ms 57.980ms 58.217ms 58.279ms 58.293ms 0.85% 0.708 -0.367 0.32% 0.013ms 1 200
trace_buffer/8_senders/10us_delay throughput 123513.447op/s 124473.579op/s ± 393.403op/s 124561.261op/s ± 271.796op/s 124784.324op/s 124967.882op/s 125092.190op/s 125128.759op/s 0.46% -0.698 -0.384 0.32% 27.818op/s 1 200
trace_buffer/8_senders/1us_delay execution_time 50.210ms 50.303ms ± 0.072ms 50.284ms ± 0.033ms 50.332ms 50.459ms 50.531ms 50.541ms 0.51% 1.467 1.917 0.14% 0.005ms 1 200
trace_buffer/8_senders/1us_delay throughput 142459.018op/s 143131.663op/s ± 203.624op/s 143187.999op/s ± 94.113op/s 143271.791op/s 143348.493op/s 143377.962op/s 143398.806op/s 0.15% -1.460 1.891 0.14% 14.398op/s 1 200
trace_buffer/8_senders/no_delay execution_time 5.893ms 6.681ms ± 0.123ms 6.704ms ± 0.058ms 6.757ms 6.822ms 6.882ms 6.943ms 3.57% -2.016 8.351 1.84% 0.009ms 1 200
trace_buffer/8_senders/no_delay throughput 1037013.907op/s 1078068.921op/s ± 20747.384op/s 1074064.105op/s ± 9274.354op/s 1085139.092op/s 1113609.122op/s 1136343.136op/s 1221703.080op/s 13.75% 2.409 11.509 1.92% 1467.062op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
trace_buffer/1_senders/10us_delay execution_time [56.682ms; 56.776ms] or [-0.083%; +0.083%] None None None
trace_buffer/1_senders/10us_delay throughput [15852.476op/s; 15878.545op/s] or [-0.082%; +0.082%] None None None
trace_buffer/1_senders/1us_delay execution_time [50.072ms; 50.081ms] or [-0.009%; +0.009%] None None None
trace_buffer/1_senders/1us_delay throughput [17970.734op/s; 17974.008op/s] or [-0.009%; +0.009%] None None None
trace_buffer/1_senders/no_delay execution_time [334.192µs; 335.716µs] or [-0.228%; +0.228%] None None None
trace_buffer/1_senders/no_delay throughput [2681867.630op/s; 2693357.263op/s] or [-0.214%; +0.214%] None None None
trace_buffer/2_senders/10us_delay execution_time [57.076ms; 57.151ms] or [-0.066%; +0.066%] None None None
trace_buffer/2_senders/10us_delay throughput [31496.438op/s; 31537.718op/s] or [-0.065%; +0.065%] None None None
trace_buffer/2_senders/1us_delay execution_time [50.109ms; 50.119ms] or [-0.010%; +0.010%] None None None
trace_buffer/2_senders/1us_delay throughput [35914.591op/s; 35922.052op/s] or [-0.010%; +0.010%] None None None
trace_buffer/2_senders/no_delay execution_time [901.706µs; 906.517µs] or [-0.266%; +0.266%] None None None
trace_buffer/2_senders/no_delay throughput [1986335.991op/s; 1996934.287op/s] or [-0.266%; +0.266%] None None None
trace_buffer/4_senders/10us_delay execution_time [57.385ms; 57.433ms] or [-0.042%; +0.042%] None None None
trace_buffer/4_senders/10us_delay throughput [62682.160op/s; 62734.511op/s] or [-0.042%; +0.042%] None None None
trace_buffer/4_senders/1us_delay execution_time [50.159ms; 50.168ms] or [-0.009%; +0.009%] None None None
trace_buffer/4_senders/1us_delay throughput [71758.453op/s; 71771.225op/s] or [-0.009%; +0.009%] None None None
trace_buffer/4_senders/no_delay execution_time [2.248ms; 2.270ms] or [-0.490%; +0.490%] None None None
trace_buffer/4_senders/no_delay throughput [1587645.703op/s; 1603435.320op/s] or [-0.495%; +0.495%] None None None
trace_buffer/8_senders/10us_delay execution_time [57.819ms; 57.870ms] or [-0.044%; +0.044%] None None None
trace_buffer/8_senders/10us_delay throughput [124419.058op/s; 124528.101op/s] or [-0.044%; +0.044%] None None None
trace_buffer/8_senders/1us_delay execution_time [50.293ms; 50.313ms] or [-0.020%; +0.020%] None None None
trace_buffer/8_senders/1us_delay throughput [143103.442op/s; 143159.883op/s] or [-0.020%; +0.020%] None None None
trace_buffer/8_senders/no_delay execution_time [6.664ms; 6.698ms] or [-0.256%; +0.256%] None None None
trace_buffer/8_senders/no_delay throughput [1075193.533op/s; 1080944.309op/s] or [-0.267%; +0.267%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0778918 1788507780 juanjux/disable-worker-fork-restart
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
concentrator/add_spans_to_concentrator execution_time 9.724ms 9.752ms ± 0.018ms 9.748ms ± 0.011ms 9.763ms 9.786ms 9.805ms 9.812ms 0.66% 0.865 0.138 0.19% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [9.750ms; 9.755ms] or [-0.026%; +0.026%] None None None

Baseline

Baseline benchmark details

Group 1

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8134078 1788478470 main
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
trace_buffer/1_senders/10us_delay execution_time 56.313ms 56.688ms ± 0.276ms 56.593ms ± 0.115ms 56.794ms 57.340ms 57.530ms 57.663ms 1.89% 1.539 1.951 0.48% 0.019ms 1 200
trace_buffer/1_senders/10us_delay throughput 15607.809op/s 15876.851op/s ± 76.604op/s 15903.042op/s ± 32.359op/s 15927.678op/s 15951.822op/s 15972.068op/s 15982.021op/s 0.50% -1.517 1.870 0.48% 5.417op/s 1 200
trace_buffer/1_senders/1us_delay execution_time 49.987ms 50.080ms ± 0.031ms 50.079ms ± 0.012ms 50.089ms 50.141ms 50.163ms 50.198ms 0.24% 0.659 1.386 0.06% 0.002ms 1 200
trace_buffer/1_senders/1us_delay throughput 17929.034op/s 17971.206op/s ± 11.005op/s 17971.467op/s ± 4.295op/s 17976.508op/s 17988.693op/s 17992.114op/s 18004.552op/s 0.18% -0.654 1.379 0.06% 0.778op/s 1 200
trace_buffer/1_senders/no_delay execution_time 327.751µs 335.631µs ± 4.831µs 335.133µs ± 1.484µs 336.796µs 339.564µs 351.150µs 388.605µs 15.96% 7.007 71.708 1.44% 0.342µs 1 200
trace_buffer/1_senders/no_delay throughput 2315975.613op/s 2682018.415op/s ± 35311.412op/s 2685504.819op/s ± 11836.034op/s 2695304.223op/s 2717407.087op/s 2738844.345op/s 2745991.127op/s 2.25% -6.021 57.456 1.31% 2496.894op/s 1 200
trace_buffer/2_senders/10us_delay execution_time 56.616ms 57.087ms ± 0.215ms 57.038ms ± 0.151ms 57.239ms 57.478ms 57.563ms 57.610ms 1.00% 0.495 -0.629 0.38% 0.015ms 1 200
trace_buffer/2_senders/10us_delay throughput 31244.384op/s 31531.130op/s ± 118.731op/s 31558.158op/s ± 83.425op/s 31631.765op/s 31682.903op/s 31714.222op/s 31793.083op/s 0.74% -0.482 -0.642 0.38% 8.396op/s 1 200
trace_buffer/2_senders/1us_delay execution_time 50.031ms 50.114ms ± 0.038ms 50.109ms ± 0.020ms 50.127ms 50.189ms 50.238ms 50.292ms 0.36% 1.597 3.591 0.08% 0.003ms 1 200
trace_buffer/2_senders/1us_delay throughput 35790.877op/s 35918.388op/s ± 27.471op/s 35921.478op/s ± 14.316op/s 35937.309op/s 35949.352op/s 35956.438op/s 35977.379op/s 0.16% -1.590 3.562 0.08% 1.943op/s 1 200
trace_buffer/2_senders/no_delay execution_time 867.848µs 914.153µs ± 15.616µs 915.236µs ± 9.165µs 923.438µs 936.212µs 945.239µs 973.148µs 6.33% -0.060 1.121 1.70% 1.104µs 1 200
trace_buffer/2_senders/no_delay throughput 1849667.265op/s 1969609.568op/s ± 33724.543op/s 1966705.497op/s ± 19652.300op/s 1987262.572op/s 2026636.040op/s 2055031.475op/s 2074096.190op/s 5.46% 0.216 1.015 1.71% 2384.685op/s 1 200
trace_buffer/4_senders/10us_delay execution_time 57.007ms 57.456ms ± 0.167ms 57.464ms ± 0.110ms 57.555ms 57.711ms 57.902ms 57.999ms 0.93% 0.309 0.182 0.29% 0.012ms 1 200
trace_buffer/4_senders/10us_delay throughput 62069.735op/s 62657.460op/s ± 182.064op/s 62648.009op/s ± 119.612op/s 62793.556op/s 62926.883op/s 62982.491op/s 63149.762op/s 0.80% -0.291 0.157 0.29% 12.874op/s 1 200
trace_buffer/4_senders/1us_delay execution_time 50.114ms 50.177ms ± 0.041ms 50.165ms ± 0.020ms 50.195ms 50.259ms 50.302ms 50.383ms 0.43% 1.553 3.343 0.08% 0.003ms 1 200
trace_buffer/4_senders/1us_delay throughput 71453.020op/s 71746.079op/s ± 58.980op/s 71762.748op/s ± 28.032op/s 71784.407op/s 71811.038op/s 71826.382op/s 71835.609op/s 0.10% -1.546 3.306 0.08% 4.170op/s 1 200
trace_buffer/4_senders/no_delay execution_time 2.012ms 2.300ms ± 0.084ms 2.302ms ± 0.048ms 2.349ms 2.431ms 2.471ms 2.512ms 9.16% -0.385 0.461 3.65% 0.006ms 1 200
trace_buffer/4_senders/no_delay throughput 1432864.549op/s 1567424.859op/s ± 58460.821op/s 1564188.595op/s ± 32910.993op/s 1597669.185op/s 1676921.443op/s 1723282.765op/s 1789135.141op/s 14.38% 0.650 0.916 3.72% 4133.804op/s 1 200
trace_buffer/8_senders/10us_delay execution_time 57.557ms 57.872ms ± 0.202ms 57.814ms ± 0.108ms 57.984ms 58.299ms 58.380ms 58.446ms 1.09% 0.975 0.121 0.35% 0.014ms 1 200
trace_buffer/8_senders/10us_delay throughput 123191.234op/s 124414.871op/s ± 431.997op/s 124538.022op/s ± 233.410op/s 124733.727op/s 124930.578op/s 124998.882op/s 125094.405op/s 0.45% -0.963 0.095 0.35% 30.547op/s 1 200
trace_buffer/8_senders/1us_delay execution_time 50.210ms 50.295ms ± 0.064ms 50.273ms ± 0.029ms 50.315ms 50.442ms 50.501ms 50.525ms 0.50% 1.468 1.890 0.13% 0.005ms 1 200
trace_buffer/8_senders/1us_delay throughput 142503.409op/s 143155.252op/s ± 182.818op/s 143217.416op/s ± 81.898op/s 143275.296op/s 143352.365op/s 143391.113op/s 143397.558op/s 0.13% -1.461 1.867 0.13% 12.927op/s 1 200
trace_buffer/8_senders/no_delay execution_time 6.173ms 6.553ms ± 0.092ms 6.562ms ± 0.063ms 6.622ms 6.675ms 6.714ms 6.779ms 3.31% -0.703 1.066 1.41% 0.007ms 1 200
trace_buffer/8_senders/no_delay throughput 1062141.211op/s 1099028.169op/s ± 15679.030op/s 1097258.895op/s ± 10597.939op/s 1109228.520op/s 1124727.271op/s 1145945.344op/s 1166458.108op/s 6.31% 0.816 1.421 1.42% 1108.675op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
trace_buffer/1_senders/10us_delay execution_time [56.649ms; 56.726ms] or [-0.067%; +0.067%] None None None
trace_buffer/1_senders/10us_delay throughput [15866.235op/s; 15887.468op/s] or [-0.067%; +0.067%] None None None
trace_buffer/1_senders/1us_delay execution_time [50.076ms; 50.084ms] or [-0.008%; +0.008%] None None None
trace_buffer/1_senders/1us_delay throughput [17969.680op/s; 17972.731op/s] or [-0.008%; +0.008%] None None None
trace_buffer/1_senders/no_delay execution_time [334.962µs; 336.301µs] or [-0.200%; +0.200%] None None None
trace_buffer/1_senders/no_delay throughput [2677124.593op/s; 2686912.237op/s] or [-0.182%; +0.182%] None None None
trace_buffer/2_senders/10us_delay execution_time [57.057ms; 57.117ms] or [-0.052%; +0.052%] None None None
trace_buffer/2_senders/10us_delay throughput [31514.675op/s; 31547.585op/s] or [-0.052%; +0.052%] None None None
trace_buffer/2_senders/1us_delay execution_time [50.108ms; 50.119ms] or [-0.011%; +0.011%] None None None
trace_buffer/2_senders/1us_delay throughput [35914.580op/s; 35922.195op/s] or [-0.011%; +0.011%] None None None
trace_buffer/2_senders/no_delay execution_time [911.988µs; 916.317µs] or [-0.237%; +0.237%] None None None
trace_buffer/2_senders/no_delay throughput [1964935.670op/s; 1974283.465op/s] or [-0.237%; +0.237%] None None None
trace_buffer/4_senders/10us_delay execution_time [57.433ms; 57.479ms] or [-0.040%; +0.040%] None None None
trace_buffer/4_senders/10us_delay throughput [62632.228op/s; 62682.692op/s] or [-0.040%; +0.040%] None None None
trace_buffer/4_senders/1us_delay execution_time [50.171ms; 50.183ms] or [-0.011%; +0.011%] None None None
trace_buffer/4_senders/1us_delay throughput [71737.905op/s; 71754.253op/s] or [-0.011%; +0.011%] None None None
trace_buffer/4_senders/no_delay execution_time [2.288ms; 2.312ms] or [-0.507%; +0.507%] None None None
trace_buffer/4_senders/no_delay throughput [1559322.751op/s; 1575526.966op/s] or [-0.517%; +0.517%] None None None
trace_buffer/8_senders/10us_delay execution_time [57.844ms; 57.900ms] or [-0.048%; +0.048%] None None None
trace_buffer/8_senders/10us_delay throughput [124355.001op/s; 124474.742op/s] or [-0.048%; +0.048%] None None None
trace_buffer/8_senders/1us_delay execution_time [50.286ms; 50.304ms] or [-0.018%; +0.018%] None None None
trace_buffer/8_senders/1us_delay throughput [143129.916op/s; 143180.589op/s] or [-0.018%; +0.018%] None None None
trace_buffer/8_senders/no_delay execution_time [6.540ms; 6.565ms] or [-0.196%; +0.196%] None None None
trace_buffer/8_senders/no_delay throughput [1096855.206op/s; 1101201.132op/s] or [-0.198%; +0.198%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8134078 1788478470 main
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
concentrator/add_spans_to_concentrator execution_time 9.716ms 9.747ms ± 0.016ms 9.743ms ± 0.011ms 9.757ms 9.777ms 9.789ms 9.801ms 0.60% 0.725 0.122 0.16% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [9.745ms; 9.749ms] or [-0.023%; +0.023%] None None None

@dd-octo-sts

dd-octo-sts Bot commented Sep 4, 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 8.45 MB 8.45 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 91.32 MB 91.32 MB +0% (+24 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.38 MB 11.38 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 102.61 MB 102.61 MB +0% (+24 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.32 MB 27.32 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 96.08 KB 96.08 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 185.41 MB 185.41 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 804.05 MB 804.07 MB +0% (+24.82 KB) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.00 MB 9.00 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 96.08 KB 96.08 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 26.20 MB 26.20 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 52.21 MB 52.21 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 23.82 MB 23.82 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 97.58 KB 97.58 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.42 MB 190.43 MB +0% (+8.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 787.48 MB 787.46 MB -0% (-26.04 KB) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 6.96 MB 6.96 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 97.58 KB 97.58 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 28.19 MB 28.19 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 49.70 MB 49.70 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 81.48 MB 81.48 MB +0% (+16 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 9.41 MB 9.41 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 97.21 MB 97.21 MB +0% (+16 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.46 MB 11.46 MB 0% (0 B) 👌

@yannham yannham left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I wonder if this will interact with DataDog/dd-trace-py#20015?

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.

2 participants