Skip to content

feat(profiling)!: Add BufWriter for batching calls to ZSTD_compressStream#1696

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 3 commits intomainfrom
florian/buf_writer
Mar 16, 2026
Merged

feat(profiling)!: Add BufWriter for batching calls to ZSTD_compressStream#1696
gh-worker-dd-mergequeue-cf854d[bot] merged 3 commits intomainfrom
florian/buf_writer

Conversation

@realFlowControl
Copy link
Member

@realFlowControl realFlowControl commented Mar 10, 2026

What does this PR do?

This PR wraps the zstd streaming encoder in TimestampedObservations with a BufWriter sized to ZSTD_CStreamInSize() (128 KiB). Each add_sample call makes several small writes (4-44 bytes) without buffering. Each one triggers a ZSTD_compressStream call. The BufWriter batches these into fewer, optimally sized calls to the compressor, reducing per-call FFI overhead. A new benchmark (profile_add_sample_timestamped_x1000) is included to measure the impact.

Motivation

Lower overhead in profiling.

I found this when checking the dd-trace-rb full host profiles, that for every add_sample call we spend quite an amount in ZSTD_compressStream and wondered why that is the case. A bit of searching made me land at https://github.com/facebook/zstd/blob/d7ee3207cc0db53f78fc6a69babc80747b1b7658/lib/zstd.h#L829-L843 with the TLDR being that it is adviced to call ZSTD_compressStream*() with the recommended buffers sizes and limit calls over FFI.

And that is what this PR does.

Additional Notes

I added a second Label to the bench, making the numbers a bit more realistic, in PHP we send at least 5 labels with every sample, IDK about other consumers of libdatadog, so I guess doubling the amount of labels is most likely fine with everyone.

The PR has two commits, the first brings the benchmark, the second the code changes.

How to test the change?

$ git checkout HEAD~1
...
$ cargo bench -p libdd-profiling -- profile_add_sample_timestamped_x1000
...
profile_add_sample_timestamped_x1000
                        time:   [747.84 µs 749.31 µs 751.03 µs]
...
$ git checkout florian/buf_writer
...
$ cargo bench -p libdd-profiling -- profile_add_sample_timestamped_x1000
...
profile_add_sample_timestamped_x1000
                        time:   [680.57 µs 681.52 µs 682.50 µs]
                        change: [-9.5874% -9.3376% -9.0913%] (p = 0.00 < 0.05)
                        Performance has improved.

Or with dd-trace-php at DataDog/dd-trace-php#3697

@github-actions
Copy link

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/florian/buf_writer

Summary by Rule

Rule Base Branch PR Branch Change

Annotation Counts by File

File Base Branch PR Branch Change

Annotation Stats by Crate

Crate Base Branch PR Branch Change
clippy-annotation-reporter 5 5 No change (0%)
datadog-ffe-ffi 1 1 No change (0%)
datadog-ipc 28 28 No change (0%)
datadog-live-debugger 6 6 No change (0%)
datadog-live-debugger-ffi 10 10 No change (0%)
datadog-profiling-replayer 4 4 No change (0%)
datadog-remote-config 3 3 No change (0%)
datadog-sidecar 59 59 No change (0%)
libdd-common 10 10 No change (0%)
libdd-common-ffi 12 12 No change (0%)
libdd-data-pipeline 5 5 No change (0%)
libdd-ddsketch 2 2 No change (0%)
libdd-dogstatsd-client 1 1 No change (0%)
libdd-profiling 13 13 No change (0%)
libdd-telemetry 19 19 No change (0%)
libdd-tinybytes 4 4 No change (0%)
libdd-trace-normalization 2 2 No change (0%)
libdd-trace-obfuscation 9 9 No change (0%)
libdd-trace-utils 15 15 No change (0%)
Total 208 208 No change (0%)

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.

@codecov-commenter
Copy link

codecov-commenter commented Mar 10, 2026

Codecov Report

❌ Patch coverage is 78.57143% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.43%. Comparing base (3f3efef) to head (1abc8aa).
⚠️ Report is 17 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1696      +/-   ##
==========================================
+ Coverage   71.03%   71.43%   +0.40%     
==========================================
  Files         427      430       +3     
  Lines       62962    64005    +1043     
==========================================
+ Hits        44722    45724    +1002     
- Misses      18240    18281      +41     
Components Coverage Δ
libdd-crashtracker 63.88% <ø> (+1.45%) ⬆️
libdd-crashtracker-ffi 17.72% <ø> (+0.23%) ⬆️
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 87.79% <ø> (-0.23%) ⬇️
libdd-data-pipeline-ffi 75.43% <ø> (-0.29%) ⬇️
libdd-common 79.73% <ø> (ø)
libdd-common-ffi 73.40% <ø> (ø)
libdd-telemetry 62.48% <ø> (ø)
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 80.35% <ø> (ø)
libdd-profiling 81.60% <78.57%> (+<0.01%) ⬆️
libdd-profiling-ffi 63.65% <ø> (ø)
datadog-sidecar 32.73% <ø> (+0.25%) ⬆️
datdog-sidecar-ffi 9.11% <ø> (+1.37%) ⬆️
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 91.80% <ø> (-2.90%) ⬇️
libdd-trace-protobuf 68.25% <ø> (ø)
libdd-trace-utils 88.98% <ø> (-0.11%) ⬇️
datadog-tracer-flare 86.86% <ø> (-2.10%) ⬇️
libdd-log 74.69% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pr-commenter
Copy link

pr-commenter bot commented Mar 10, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-16 14:37:12

Comparing candidate commit 1abc8aa in PR branch florian/buf_writer with baseline commit 06257cf in branch main.

Found 3 performance improvements and 14 performance regressions! Performance is the same for 41 metrics, 2 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:concentrator/add_spans_to_concentrator

  • 🟩 execution_time [-2.475ms; -2.470ms] or [-18.815%; -18.773%]

scenario:credit_card/is_card_number/ 3782-8224-6310-005

  • 🟥 execution_time [+4.422µs; +4.652µs] or [+5.881%; +6.186%]
  • 🟥 throughput [-777051.983op/s; -737857.212op/s] or [-5.843%; -5.548%]

scenario:credit_card/is_card_number/ 378282246310005

  • 🟩 execution_time [-12.254µs; -12.085µs] or [-14.394%; -14.195%]
  • 🟩 throughput [+1945867.063op/s; +1972013.615op/s] or [+16.565%; +16.788%]

scenario:credit_card/is_card_number/378282246310005

  • 🟥 execution_time [+5.156µs; +5.239µs] or [+7.993%; +8.123%]
  • 🟥 throughput [-1164531.956op/s; -1147295.533op/s] or [-7.511%; -7.400%]

scenario:credit_card/is_card_number/37828224631000521389798

  • 🟥 execution_time [+6.990µs; +7.030µs] or [+15.462%; +15.551%]
  • 🟥 throughput [-2979517.626op/s; -2960042.293op/s] or [-13.469%; -13.381%]

scenario:credit_card/is_card_number_no_luhn/ 378282246310005

  • 🟥 execution_time [+5.372µs; +5.414µs] or [+10.133%; +10.211%]
  • 🟥 throughput [-1747539.427op/s; -1735298.819op/s] or [-9.265%; -9.200%]

scenario:credit_card/is_card_number_no_luhn/378282246310005

  • 🟥 execution_time [+5.050µs; +5.130µs] or [+10.125%; +10.285%]
  • 🟥 throughput [-1869631.031op/s; -1842762.347op/s] or [-9.325%; -9.191%]

scenario:credit_card/is_card_number_no_luhn/37828224631000521389798

  • 🟥 execution_time [+6.989µs; +7.032µs] or [+15.459%; +15.556%]
  • 🟥 throughput [-2980565.213op/s; -2959389.523op/s] or [-13.474%; -13.379%]

scenario:normalization/normalize_name/normalize_name/good

  • 🟥 execution_time [+442.456ns; +462.521ns] or [+4.477%; +4.680%]
  • 🟥 throughput [-4528060.494op/s; -4331529.542op/s] or [-4.475%; -4.281%]

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 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time 533.802µs 534.779µs ± 0.687µs 534.645µs ± 0.304µs 534.985µs 535.651µs 537.566µs 539.351µs 0.88% 3.221 16.052 0.13% 0.049µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1854080.990op/s 1869935.766op/s ± 2391.091op/s 1870398.750op/s ± 1063.910op/s 1871267.938op/s 1872453.058op/s 1872969.171op/s 1873352.965op/s 0.16% -3.192 15.809 0.13% 169.076op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.650µs 381.372µs ± 0.296µs 381.382µs ± 0.221µs 381.576µs 381.853µs 381.976µs 382.081µs 0.18% 0.052 -0.597 0.08% 0.021µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2617243.699op/s 2622115.989op/s ± 2032.116op/s 2622041.496op/s ± 1520.578op/s 2623653.952op/s 2625398.357op/s 2625950.263op/s 2627083.148op/s 0.19% -0.049 -0.598 0.08% 143.692op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.738µs 190.100µs ± 0.268µs 190.091µs ± 0.099µs 190.184µs 190.328µs 190.535µs 193.205µs 1.64% 7.834 88.903 0.14% 0.019µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5175848.799op/s 5260401.710op/s ± 7323.869op/s 5260649.679op/s ± 2745.456op/s 5263770.403op/s 5267926.897op/s 5268760.472op/s 5270420.548op/s 0.19% -7.710 87.019 0.14% 517.876op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.908µs 37.352µs ± 0.214µs 37.445µs ± 0.135µs 37.529µs 37.602µs 37.649µs 37.689µs 0.65% -0.537 -1.013 0.57% 0.015µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26532626.365op/s 26773037.913op/s ± 153601.886op/s 26705994.844op/s ± 96191.352op/s 26890393.759op/s 27060498.074op/s 27084522.910op/s 27094733.348op/s 1.46% 0.549 -0.996 0.57% 10861.294op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.816µs 45.900µs ± 0.048µs 45.894µs ± 0.025µs 45.921µs 45.993µs 46.056µs 46.081µs 0.41% 0.974 1.339 0.11% 0.003µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21700881.321op/s 21786663.541op/s ± 22973.701op/s 21789496.282op/s ± 12025.169op/s 21800735.944op/s 21819171.748op/s 21824184.236op/s 21826589.685op/s 0.17% -0.966 1.318 0.11% 1624.486op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time [534.683µs; 534.874µs] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1869604.383op/s; 1870267.148op/s] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [381.331µs; 381.413µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2621834.358op/s; 2622397.621op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.063µs; 190.137µs] or [-0.020%; +0.020%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5259386.693op/s; 5261416.728op/s] or [-0.019%; +0.019%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.323µs; 37.382µs] or [-0.079%; +0.079%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26751750.169op/s; 26794325.657op/s] or [-0.080%; +0.080%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.893µs; 45.906µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21783479.607op/s; 21789847.475op/s] or [-0.015%; +0.015%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
credit_card/is_card_number/ execution_time 3.893µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.916µs 3.920µs 3.920µs 0.19% -1.365 12.125 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 255120061.077op/s 255615307.406op/s ± 176977.537op/s 255616873.393op/s ± 101383.213op/s 255715847.999op/s 255831434.681op/s 255918334.168op/s 256881500.775op/s 0.49% 1.390 12.313 0.07% 12514.202op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 79.047µs 79.738µs ± 0.424µs 79.690µs ± 0.317µs 80.029µs 80.508µs 80.685µs 81.287µs 2.00% 0.709 0.315 0.53% 0.030µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12302034.874op/s 12541499.443op/s ± 66432.931op/s 12548637.176op/s ± 50193.652op/s 12597534.664op/s 12630681.568op/s 12639118.385op/s 12650751.018op/s 0.81% -0.680 0.235 0.53% 4697.518op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 72.429µs 72.965µs ± 0.330µs 72.874µs ± 0.172µs 73.126µs 73.578µs 73.999µs 74.311µs 1.97% 1.224 1.775 0.45% 0.023µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13456930.162op/s 13705521.742op/s ± 61728.069op/s 13722274.687op/s ± 32478.170op/s 13749424.024op/s 13780825.237op/s 13796736.635op/s 13806639.724op/s 0.61% -1.193 1.662 0.45% 4364.834op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.895µs 3.914µs ± 0.003µs 3.914µs ± 0.002µs 3.916µs 3.918µs 3.919µs 3.922µs 0.20% -1.201 6.525 0.08% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254987564.744op/s 255509896.983op/s ± 196805.143op/s 255488302.394op/s ± 117146.469op/s 255610466.072op/s 255829507.297op/s 255876400.224op/s 256743585.653op/s 0.49% 1.218 6.633 0.08% 13916.225op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 69.177µs 69.696µs ± 0.296µs 69.646µs ± 0.211µs 69.892µs 70.226µs 70.474µs 70.578µs 1.34% 0.675 -0.054 0.42% 0.021µs 1 200
credit_card/is_card_number/378282246310005 throughput 14168786.655op/s 14348267.433op/s ± 60850.560op/s 14358233.372op/s ± 43546.754op/s 14395300.664op/s 14430692.529op/s 14445215.678op/s 14455596.223op/s 0.68% -0.656 -0.092 0.42% 4302.784op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 52.150µs 52.217µs ± 0.031µs 52.214µs ± 0.018µs 52.234µs 52.271µs 52.298µs 52.322µs 0.21% 0.643 0.628 0.06% 0.002µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19112282.269op/s 19150819.413op/s ± 11284.640op/s 19152087.223op/s ± 6575.089op/s 19158148.546op/s 19168504.996op/s 19172592.224op/s 19175507.125op/s 0.12% -0.640 0.621 0.06% 797.945op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.028µs 6.037µs ± 0.008µs 6.035µs ± 0.003µs 6.038µs 6.045µs 6.074µs 6.077µs 0.69% 3.211 11.756 0.14% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 164562347.579op/s 165652360.817op/s ± 223657.662op/s 165696462.381op/s ± 73608.633op/s 165766592.584op/s 165850042.877op/s 165891734.349op/s 165903945.720op/s 0.13% -3.197 11.677 0.13% 15814.985op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.892µs 3.911µs ± 0.003µs 3.911µs ± 0.001µs 3.912µs 3.915µs 3.917µs 3.919µs 0.21% -1.336 9.998 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255180350.734op/s 255712779.550op/s ± 183020.606op/s 255710305.126op/s ± 96561.983op/s 255807746.225op/s 255994183.397op/s 256063296.720op/s 256966433.370op/s 0.49% 1.358 10.154 0.07% 12941.511op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.126µs 64.440µs ± 0.145µs 64.418µs ± 0.076µs 64.495µs 64.677µs 64.879µs 64.951µs 0.83% 1.032 1.365 0.22% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15396136.675op/s 15518332.948op/s ± 34897.450op/s 15523521.818op/s ± 18383.488op/s 15541830.814op/s 15565432.443op/s 15575703.521op/s 15594200.517op/s 0.46% -1.016 1.327 0.22% 2467.622op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.124µs 58.409µs ± 0.145µs 58.376µs ± 0.085µs 58.494µs 58.668µs 58.782µs 58.886µs 0.87% 0.695 -0.070 0.25% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 16982100.964op/s 17120659.926op/s ± 42545.139op/s 17130411.985op/s ± 24970.298op/s 17152235.741op/s 17177601.989op/s 17187770.505op/s 17204653.859op/s 0.43% -0.685 -0.090 0.25% 3008.396op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.896µs 3.914µs ± 0.003µs 3.915µs ± 0.001µs 3.916µs 3.918µs 3.919µs 3.920µs 0.13% -1.744 9.018 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255115632.133op/s 255476498.135op/s ± 177722.620op/s 255443879.195op/s ± 88844.606op/s 255582776.959op/s 255767624.960op/s 255891963.313op/s 256673073.288op/s 0.48% 1.760 9.150 0.07% 12566.887op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.564µs 54.965µs ± 0.278µs 54.913µs ± 0.193µs 55.119µs 55.451µs 55.729µs 55.958µs 1.90% 0.968 0.640 0.50% 0.020µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17870493.125op/s 18193763.564op/s ± 91485.436op/s 18210474.801op/s ± 63990.639op/s 18269856.635op/s 18294314.877op/s 18314541.392op/s 18327009.844op/s 0.64% -0.943 0.556 0.50% 6468.997op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 52.137µs 52.218µs ± 0.038µs 52.217µs ± 0.025µs 52.239µs 52.286µs 52.315µs 52.346µs 0.25% 0.411 0.275 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19103626.027op/s 19150423.386op/s ± 13891.818op/s 19150870.357op/s ± 9060.986op/s 19160570.424op/s 19172677.784op/s 19176003.247op/s 19180334.403op/s 0.15% -0.406 0.267 0.07% 982.300op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.027µs 6.041µs ± 0.015µs 6.038µs ± 0.003µs 6.041µs 6.075µs 6.101µs 6.155µs 1.94% 4.019 20.901 0.25% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 162469026.889op/s 165525283.867op/s ± 403826.634op/s 165613663.138op/s ± 81338.091op/s 165694881.032op/s 165821873.827op/s 165879748.234op/s 165913377.187op/s 0.18% -3.970 20.344 0.24% 28554.855op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255590780.022op/s; 255639834.791op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [79.679µs; 79.796µs] or [-0.074%; +0.074%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12532292.477op/s; 12550706.408op/s] or [-0.073%; +0.073%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [72.919µs; 73.011µs] or [-0.063%; +0.063%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13696966.826op/s; 13714076.659op/s] or [-0.062%; +0.062%] None None None
credit_card/is_card_number/37828224631 execution_time [3.913µs; 3.914µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631 throughput [255482621.683op/s; 255537172.283op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/378282246310005 execution_time [69.655µs; 69.737µs] or [-0.059%; +0.059%] None None None
credit_card/is_card_number/378282246310005 throughput [14339834.130op/s; 14356700.735op/s] or [-0.059%; +0.059%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.213µs; 52.221µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19149255.470op/s; 19152383.355op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.036µs; 6.038µs] or [-0.019%; +0.019%] None None None
credit_card/is_card_number/x371413321323331 throughput [165621364.016op/s; 165683357.618op/s] or [-0.019%; +0.019%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.910µs; 3.911µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255687414.654op/s; 255738144.446op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [64.420µs; 64.460µs] or [-0.031%; +0.031%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15513496.497op/s; 15523169.399op/s] or [-0.031%; +0.031%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.389µs; 58.429µs] or [-0.034%; +0.034%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17114763.579op/s; 17126556.273op/s] or [-0.034%; +0.034%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.914µs; 3.915µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255451867.489op/s; 255501128.781op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.927µs; 55.004µs] or [-0.070%; +0.070%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18181084.563op/s; 18206442.566op/s] or [-0.070%; +0.070%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.213µs; 52.223µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19148498.113op/s; 19152348.658op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.039µs; 6.043µs] or [-0.034%; +0.034%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165469317.379op/s; 165581250.354op/s] or [-0.034%; +0.034%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
redis/obfuscate_redis_string execution_time 32.577µs 33.182µs ± 0.980µs 32.736µs ± 0.064µs 32.843µs 35.270µs 35.327µs 36.361µs 11.07% 1.723 1.086 2.94% 0.069µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
redis/obfuscate_redis_string execution_time [33.046µs; 33.318µs] or [-0.409%; +0.409%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample_frames_x1000 execution_time 4.213ms 4.219ms ± 0.005ms 4.218ms ± 0.001ms 4.220ms 4.225ms 4.245ms 4.258ms 0.93% 4.621 27.729 0.12% 0.000ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [4.219ms; 4.220ms] or [-0.016%; +0.016%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
ip_address/quantize_peer_ip_address_benchmark execution_time 4.946µs 5.010µs ± 0.051µs 4.982µs ± 0.028µs 5.062µs 5.091µs 5.093µs 5.095µs 2.28% 0.378 -1.538 1.02% 0.004µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
ip_address/quantize_peer_ip_address_benchmark execution_time [5.003µs; 5.017µs] or [-0.142%; +0.142%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sql/obfuscate_sql_string execution_time 86.528µs 86.729µs ± 0.142µs 86.706µs ± 0.047µs 86.763µs 86.847µs 87.535µs 87.903µs 1.38% 5.170 35.082 0.16% 0.010µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sql/obfuscate_sql_string execution_time [86.709µs; 86.749µs] or [-0.023%; +0.023%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
write only interface execution_time 1.200µs 3.148µs ± 1.413µs 2.978µs ± 0.022µs 2.997µs 3.365µs 13.659µs 14.914µs 400.74% 7.500 56.846 44.77% 0.100µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [2.952µs; 3.344µs] or [-6.221%; +6.221%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_trace/test_trace execution_time 239.574ns 251.416ns ± 15.705ns 244.222ns ± 3.030ns 253.209ns 288.951ns 302.878ns 303.483ns 24.27% 1.925 2.796 6.23% 1.111ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_trace/test_trace execution_time [249.239ns; 253.592ns] or [-0.866%; +0.866%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample_timestamped_x1000 execution_time 4.165ms 4.171ms ± 0.008ms 4.170ms ± 0.002ms 4.172ms 4.175ms 4.183ms 4.281ms 2.68% 11.388 145.220 0.20% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_timestamped_x1000 execution_time [4.170ms; 4.172ms] or [-0.028%; +0.028%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
tags/replace_trace_tags execution_time 2.412µs 2.453µs ± 0.023µs 2.449µs ± 0.011µs 2.460µs 2.510µs 2.518µs 2.520µs 2.90% 1.238 1.375 0.94% 0.002µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
tags/replace_trace_tags execution_time [2.450µs; 2.457µs] or [-0.131%; +0.131%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
two way interface execution_time 18.323µs 26.295µs ± 9.627µs 18.633µs ± 0.196µs 34.689µs 43.687µs 44.353µs 68.483µs 267.54% 0.882 0.327 36.52% 0.681µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [24.961µs; 27.629µs] or [-5.074%; +5.074%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching string interning on wordpress profile execution_time 160.992µs 161.704µs ± 0.350µs 161.631µs ± 0.156µs 161.807µs 162.164µs 163.072µs 164.387µs 1.71% 3.429 20.141 0.22% 0.025µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching string interning on wordpress profile execution_time [161.655µs; 161.752µs] or [-0.030%; +0.030%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
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 10.658ms 10.684ms ± 0.013ms 10.682ms ± 0.008ms 10.690ms 10.706ms 10.719ms 10.764ms 0.77% 1.472 5.665 0.13% 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 [10.682ms; 10.686ms] or [-0.017%; +0.017%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
single_flag_killswitch/rules-based execution_time 187.594ns 189.944ns ± 2.334ns 189.557ns ± 1.443ns 190.736ns 194.868ns 198.177ns 200.596ns 5.82% 1.602 3.222 1.23% 0.165ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
single_flag_killswitch/rules-based execution_time [189.620ns; 190.267ns] or [-0.170%; +0.170%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching serializing traces from their internal representation to msgpack execution_time 14.001ms 14.062ms ± 0.034ms 14.057ms ± 0.014ms 14.072ms 14.143ms 14.194ms 14.246ms 1.35% 2.106 6.576 0.24% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [14.058ms; 14.067ms] or [-0.033%; +0.033%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
receiver_entry_point/report/2598 execution_time 3.380ms 3.414ms ± 0.022ms 3.407ms ± 0.011ms 3.424ms 3.459ms 3.473ms 3.499ms 2.70% 1.208 0.903 0.65% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2598 execution_time [3.411ms; 3.417ms] or [-0.091%; +0.091%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching deserializing traces from msgpack to their internal representation execution_time 48.015ms 48.390ms ± 0.989ms 48.226ms ± 0.059ms 48.316ms 48.548ms 53.714ms 58.112ms 20.50% 8.061 67.877 2.04% 0.070ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching deserializing traces from msgpack to their internal representation execution_time [48.253ms; 48.527ms] or [-0.283%; +0.283%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sdk_test_data/rules-based execution_time 144.115µs 145.997µs ± 1.677µs 145.705µs ± 0.460µs 146.234µs 147.899µs 152.751µs 162.206µs 11.33% 5.643 45.824 1.15% 0.119µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sdk_test_data/rules-based execution_time [145.764µs; 146.229µs] or [-0.159%; +0.159%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 185.144µs 185.621µs ± 0.248µs 185.612µs ± 0.202µs 185.815µs 185.997µs 186.102µs 186.436µs 0.44% 0.179 -0.577 0.13% 0.018µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5363784.611op/s 5387325.658op/s ± 7206.274op/s 5387596.124op/s ± 5868.737op/s 5393185.649op/s 5397910.589op/s 5400965.658op/s 5401196.851op/s 0.25% -0.174 -0.585 0.13% 509.561op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.883µs 17.983µs ± 0.046µs 17.979µs ± 0.031µs 18.014µs 18.066µs 18.098µs 18.115µs 0.76% 0.314 -0.083 0.26% 0.003µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 55201795.032op/s 55609238.629op/s ± 143331.267op/s 55620758.054op/s ± 96451.134op/s 55700162.795op/s 55822688.830op/s 55900628.953op/s 55918214.677op/s 0.53% -0.300 -0.096 0.26% 10135.051op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.221µs 10.336µs ± 0.050µs 10.336µs ± 0.031µs 10.368µs 10.415µs 10.442µs 10.468µs 1.28% -0.064 -0.267 0.49% 0.004µs 1 200
normalization/normalize_name/normalize_name/good throughput 95531928.290op/s 96750459.485op/s ± 470735.791op/s 96751282.505op/s ± 294208.578op/s 97027806.744op/s 97580237.418op/s 97763659.600op/s 97841483.455op/s 1.13% 0.089 -0.267 0.49% 33286.047op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time [185.587µs; 185.656µs] or [-0.019%; +0.019%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5386326.938op/s; 5388324.379op/s] or [-0.019%; +0.019%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.976µs; 17.989µs] or [-0.036%; +0.036%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55589374.294op/s; 55629102.964op/s] or [-0.036%; +0.036%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.329µs; 10.343µs] or [-0.067%; +0.067%] None None None
normalization/normalize_name/normalize_name/good throughput [96685220.032op/s; 96815698.939op/s] or [-0.067%; +0.067%] None None None

Group 20

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1abc8aa 1773670704 florian/buf_writer
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample2_frames_x1000 execution_time 754.422µs 755.724µs ± 0.648µs 755.700µs ± 0.382µs 756.035µs 756.850µs 757.536µs 759.231µs 0.47% 1.417 4.509 0.09% 0.046µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample2_frames_x1000 execution_time [755.634µs; 755.813µs] or [-0.012%; +0.012%] None None None

Baseline

Omitted due to size.

@dd-octo-sts
Copy link
Contributor

dd-octo-sts bot commented Mar 10, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.63 MB 8.63 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 100.28 MB 100.30 MB +.02% (+21.97 KB) 🔍
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.21 MB 11.22 MB +.01% (+1.53 KB) 🔍
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 116.94 MB 116.97 MB +.02% (+31.04 KB) 🔍
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.16 MB 27.17 MB +.01% (+5.00 KB) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 76.26 KB 76.26 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 186.03 MB 186.04 MB +0% (+8.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 917.14 MB 917.29 MB +.01% (+145.86 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.93 MB 9.94 MB +.01% (+2.00 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 76.26 KB 76.26 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 24.77 MB 24.78 MB +.03% (+8.00 KB) 🔍
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 51.43 MB 51.45 MB +.03% (+17.07 KB) 🔍
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 22.97 MB 22.97 MB +.01% (+4.50 KB) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.44 KB 77.44 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.23 MB 190.26 MB +.01% (+24.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 900.80 MB 900.57 MB --.02% (-240.60 KB) 💪
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.53 MB 7.53 MB +.01% (+1.50 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.44 KB 77.44 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 26.51 MB 26.52 MB +.02% (+8.00 KB) 🔍
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 47.05 MB 47.07 MB +.03% (+16.79 KB) 🔍
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 87.50 MB 87.52 MB +.02% (+21.43 KB) 🔍
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.21 MB 10.21 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 109.81 MB 109.84 MB +.02% (+25.79 KB) 🔍
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.95 MB 11.95 MB +0% (+1.21 KB) 👌

@realFlowControl realFlowControl changed the title add BufWriter to limit calls to ZSTD_compressStream add BufWriter to badge calls to ZSTD_compressStream Mar 10, 2026
@realFlowControl realFlowControl force-pushed the florian/buf_writer branch 2 times, most recently from 40daa8d to a51c1b3 Compare March 11, 2026 09:38
@realFlowControl realFlowControl changed the title add BufWriter to badge calls to ZSTD_compressStream feat(profiling): Add BufWriter to batch calls to ZSTD_compressStream Mar 11, 2026
@realFlowControl realFlowControl changed the title feat(profiling): Add BufWriter to batch calls to ZSTD_compressStream feat(profiling): Add BufWriter for batching calls to ZSTD_compressStream Mar 11, 2026
@realFlowControl realFlowControl marked this pull request as ready for review March 11, 2026 10:45
@realFlowControl realFlowControl requested a review from a team as a code owner March 11, 2026 10:45
Copy link
Member

@ivoanjo ivoanjo left a comment

Choose a reason for hiding this comment

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

👍 Very nice improvement and very nicely spotted :)

@realFlowControl realFlowControl changed the title feat(profiling): Add BufWriter for batching calls to ZSTD_compressStream feat(profiling)!: Add BufWriter for batching calls to ZSTD_compressStream Mar 16, 2026
@realFlowControl
Copy link
Member Author

/merge

@gh-worker-devflow-routing-ef8351
Copy link

gh-worker-devflow-routing-ef8351 bot commented Mar 16, 2026

View all feedbacks in Devflow UI.

2026-03-16 15:19:08 UTC ℹ️ Start processing command /merge


2026-03-16 15:19:14 UTC ℹ️ MergeQueue: pull request added to the queue

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


2026-03-16 15:59:24 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.

3 participants