fix(shared-runtime): allow disabling worker fork restart - #2464
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
✅ All CI checks and tests passed. 🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: 0778918 | Docs | View more details | Give us feedback! |
BenchmarksComparisonBenchmark execution time: 2026-09-04 07:55:05 Comparing candidate commit 0778918 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 25 metrics, 0 unstable metrics.
|
| 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 |
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
yannham
left a comment
There was a problem hiding this comment.
I wonder if this will interact with DataDog/dd-trace-py#20015?
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 -- --checkcargo check -p libdd-shared-runtime --all-targets --all-features