Skip to content

refactor(profiling): split upload function#1733

Draft
KowalskiThomas wants to merge 1 commit intomainfrom
kowalski/temp-profiling-split-upload-function
Draft

refactor(profiling): split upload function#1733
KowalskiThomas wants to merge 1 commit intomainfrom
kowalski/temp-profiling-split-upload-function

Conversation

@KowalskiThomas
Copy link
Contributor

What does this PR do?

This PR splits the Exporter creation process into two steps (two functions to call):

  1. Create the Tokio runtime with init_runtime
  2. Upload the Profile with send_blocking (send_blocking calls init_runtime if it hasn't been initialised from the outside)

This fixes a TSan-detected race condition where we try to cancel the Upload request (using the Cancellation Token) at the same time the runtime is being initialised.

@github-actions
Copy link

github-actions bot commented Mar 16, 2026

📚 Documentation Check Results

⚠️ 648 documentation warning(s) found

📦 libdd-profiling - 648 warning(s)


Updated: 2026-03-20 13:47:04 UTC | Commit: b2eb84c | missing-docs job results

@github-actions
Copy link

github-actions bot commented Mar 16, 2026

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/kowalski/temp-profiling-split-upload-function

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 8 8 No change (0%)
libdd-trace-utils 15 15 No change (0%)
Total 207 207 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.

@github-actions
Copy link

github-actions bot commented Mar 16, 2026

🔒 Cargo Deny Results

No issues found!

📦 libdd-profiling - ✅ No issues


Updated: 2026-03-20 13:49:47 UTC | Commit: b2eb84c | dependency-check job results

@codecov-commenter
Copy link

codecov-commenter commented Mar 16, 2026

Codecov Report

❌ Patch coverage is 66.66667% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.32%. Comparing base (74f4c3c) to head (7a18d4d).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1733      +/-   ##
==========================================
- Coverage   71.35%   71.32%   -0.03%     
==========================================
  Files         431      431              
  Lines       64719    64728       +9     
==========================================
- Hits        46182    46170      -12     
- Misses      18537    18558      +21     
Components Coverage Δ
libdd-crashtracker 64.95% <ø> (ø)
libdd-crashtracker-ffi 34.86% <ø> (ø)
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 87.99% <ø> (ø)
libdd-data-pipeline-ffi 75.20% <ø> (ø)
libdd-common 79.87% <ø> (ø)
libdd-common-ffi 73.87% <ø> (ø)
libdd-telemetry 62.48% <ø> (ø)
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 80.29% <ø> (ø)
libdd-profiling 81.58% <66.66%> (-0.04%) ⬇️
libdd-profiling-ffi 64.77% <0.00%> (-0.18%) ⬇️
datadog-sidecar 31.60% <ø> (ø)
datdog-sidecar-ffi 8.71% <ø> (ø)
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 92.26% <ø> (ø)
libdd-trace-protobuf 68.25% <ø> (ø)
libdd-trace-utils 89.05% <ø> (-0.14%) ⬇️
datadog-tracer-flare 86.88% <ø> (ø)
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.

@KowalskiThomas KowalskiThomas changed the title temp(profiling): split upload function refactor(profiling): split upload function Mar 20, 2026
@KowalskiThomas KowalskiThomas force-pushed the kowalski/temp-profiling-split-upload-function branch from c07829c to 7a18d4d Compare March 20, 2026 13:45
@KowalskiThomas KowalskiThomas added the profiling Relates to the profiling* modules. label Mar 20, 2026
@datadog-datadog-prod-us1-2
Copy link

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

🎯 Code Coverage (details)
Patch Coverage: 66.67%
Overall Coverage: 71.33% (-0.03%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 7a18d4d | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback!

@pr-commenter
Copy link

pr-commenter bot commented Mar 20, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-20 14:04:05

Comparing candidate commit 7a18d4d in PR branch kowalski/temp-profiling-split-upload-function with baseline commit 74f4c3c in branch main.

Found 2 performance improvements and 0 performance regressions! Performance is the same for 57 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:credit_card/is_card_number/ 378282246310005

  • 🟩 execution_time [-10.308µs; -10.112µs] or [-10.923%; -10.715%]
  • 🟩 throughput [+1273008.481op/s; +1298514.983op/s] or [+12.013%; +12.254%]

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 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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 159.762µs 160.764µs ± 0.274µs 160.744µs ± 0.143µs 160.879µs 161.247µs 161.646µs 161.964µs 0.76% 0.733 3.206 0.17% 0.019µ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 [160.726µs; 160.802µs] or [-0.024%; +0.024%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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 236.280ns 248.086ns ± 14.569ns 241.580ns ± 3.814ns 250.361ns 282.986ns 288.035ns 288.852ns 19.57% 1.529 1.007 5.86% 1.030ns 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 [246.067ns; 250.105ns] or [-0.814%; +0.814%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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 189.905ns 192.107ns ± 1.777ns 191.974ns ± 1.463ns 193.101ns 195.320ns 197.030ns 199.130ns 3.73% 1.001 1.304 0.92% 0.126ns 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 [191.861ns; 192.353ns] or [-0.128%; +0.128%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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.896µs 3.915µs ± 0.002µs 3.915µs ± 0.001µs 3.916µs 3.918µs 3.920µs 3.921µs 0.15% -1.899 15.070 0.06% 0.000µs 1 200
credit_card/is_card_number/ throughput 255069226.227op/s 255442311.192op/s ± 161754.926op/s 255445775.885op/s ± 96816.882op/s 255541531.678op/s 255651064.685op/s 255682553.532op/s 256673201.750op/s 0.48% 1.925 15.297 0.06% 11437.801op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 79.150µs 79.813µs ± 0.369µs 79.777µs ± 0.245µs 80.044µs 80.445µs 80.723µs 80.936µs 1.45% 0.565 -0.220 0.46% 0.026µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12355434.067op/s 12529524.076op/s ± 57766.631op/s 12534900.621op/s ± 38644.013op/s 12573133.731op/s 12610080.374op/s 12618431.152op/s 12634213.450op/s 0.79% -0.545 -0.254 0.46% 4084.718op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 83.120µs 84.161µs ± 0.549µs 84.055µs ± 0.362µs 84.484µs 85.135µs 85.601µs 86.387µs 2.77% 0.785 0.955 0.65% 0.039µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 11575794.411op/s 11882546.733op/s ± 77165.704op/s 11896957.387op/s ± 51176.461op/s 11940732.252op/s 11989630.461op/s 12021735.411op/s 12030766.005op/s 1.12% -0.740 0.827 0.65% 5456.439op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.894µs 3.917µs ± 0.008µs 3.916µs ± 0.002µs 3.918µs 3.922µs 3.926µs 3.993µs 1.95% 7.239 65.304 0.20% 0.001µs 1 200
credit_card/is_card_number/37828224631 throughput 250459551.616op/s 255317098.942op/s ± 497573.954op/s 255355392.243op/s ± 141386.298op/s 255501303.057op/s 255641121.570op/s 255693042.110op/s 256796875.581op/s 0.56% -7.151 64.303 0.19% 35183.792op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 69.827µs 70.388µs ± 0.375µs 70.344µs ± 0.270µs 70.633µs 71.065µs 71.356µs 71.880µs 2.18% 0.905 1.008 0.53% 0.027µs 1 200
credit_card/is_card_number/378282246310005 throughput 13912033.724op/s 14207444.741op/s ± 75390.617op/s 14215814.663op/s ± 54767.958op/s 14269147.963op/s 14302892.476op/s 14319598.750op/s 14321181.027op/s 0.74% -0.871 0.885 0.53% 5330.922op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 53.063µs 53.133µs ± 0.031µs 53.133µs ± 0.023µs 53.157µs 53.185µs 53.191µs 53.212µs 0.15% -0.046 -0.667 0.06% 0.002µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 18792686.244op/s 18820706.581op/s ± 11064.493op/s 18820537.807op/s ± 8266.717op/s 18828603.817op/s 18838404.821op/s 18844488.791op/s 18845515.729op/s 0.13% 0.048 -0.668 0.06% 782.378op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.429µs 6.437µs ± 0.004µs 6.436µs ± 0.002µs 6.439µs 6.444µs 6.448µs 6.464µs 0.43% 1.757 7.350 0.07% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 154706112.146op/s 155354381.530op/s ± 102427.775op/s 155369866.014op/s ± 59611.186op/s 155421448.167op/s 155476389.437op/s 155528749.656op/s 155537090.391op/s 0.11% -1.744 7.258 0.07% 7242.737op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.901µs 3.915µs ± 0.003µs 3.915µs ± 0.002µs 3.917µs 3.920µs 3.922µs 3.926µs 0.28% -0.153 3.269 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254706690.542op/s 255406756.174op/s ± 187833.723op/s 255411155.230op/s ± 111228.531op/s 255526089.245op/s 255663660.537op/s 255720904.227op/s 256371303.512op/s 0.38% 0.165 3.303 0.07% 13281.850op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.956µs 65.189µs ± 0.173µs 65.151µs ± 0.099µs 65.281µs 65.483µs 65.816µs 66.057µs 1.39% 1.562 3.769 0.27% 0.012µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15138516.938op/s 15340137.386op/s ± 40625.861op/s 15349067.208op/s ± 23440.628op/s 15367095.591op/s 15386840.789op/s 15392167.299op/s 15395115.130op/s 0.30% -1.536 3.629 0.26% 2872.682op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.658µs 59.052µs ± 0.229µs 58.997µs ± 0.147µs 59.188µs 59.452µs 59.742µs 59.832µs 1.41% 0.857 0.612 0.39% 0.016µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 16713558.028op/s 16934547.223op/s ± 65587.820op/s 16949902.022op/s ± 42245.421op/s 16983192.167op/s 17018053.112op/s 17036811.462op/s 17047884.097op/s 0.58% -0.835 0.553 0.39% 4637.759op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.897µs 3.916µs ± 0.003µs 3.916µs ± 0.002µs 3.918µs 3.920µs 3.923µs 3.924µs 0.21% -0.870 7.085 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254862240.672op/s 255377904.623op/s ± 193292.146op/s 255387230.639op/s ± 126422.615op/s 255509051.264op/s 255617823.463op/s 255740626.577op/s 256608007.858op/s 0.48% 0.889 7.206 0.08% 13667.819op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 55.434µs 55.673µs ± 0.169µs 55.638µs ± 0.103µs 55.764µs 56.013µs 56.176µs 56.328µs 1.24% 1.044 0.981 0.30% 0.012µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17753021.737op/s 17962068.814op/s ± 54306.000op/s 17973379.645op/s ± 33284.277op/s 18003923.056op/s 18027767.359op/s 18037570.601op/s 18039535.446op/s 0.37% -1.027 0.925 0.30% 3840.014op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 53.053µs 53.129µs ± 0.037µs 53.125µs ± 0.023µs 53.148µs 53.197µs 53.221µs 53.280µs 0.29% 0.743 1.024 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 18768748.266op/s 18822289.542op/s ± 12987.854op/s 18823369.123op/s ± 8172.823op/s 18831626.132op/s 18840842.862op/s 18844463.015op/s 18849128.088op/s 0.14% -0.738 1.009 0.07% 918.380op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.430µs 6.439µs ± 0.005µs 6.439µs ± 0.003µs 6.442µs 6.448µs 6.451µs 6.457µs 0.27% 0.437 -0.321 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 154881688.430op/s 155294841.819op/s ± 121750.855op/s 155304448.983op/s ± 83813.791op/s 155387712.721op/s 155468914.708op/s 155506028.987op/s 155514069.570op/s 0.13% -0.434 -0.328 0.08% 8609.086op/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.914µs; 3.915µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ throughput [255419893.515op/s; 255464728.869op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [79.762µs; 79.864µs] or [-0.064%; +0.064%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12521518.177op/s; 12537529.975op/s] or [-0.064%; +0.064%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [84.084µs; 84.237µs] or [-0.090%; +0.090%] None None None
credit_card/is_card_number/ 378282246310005 throughput [11871852.309op/s; 11893241.158op/s] or [-0.090%; +0.090%] None None None
credit_card/is_card_number/37828224631 execution_time [3.916µs; 3.918µs] or [-0.027%; +0.027%] None None None
credit_card/is_card_number/37828224631 throughput [255248139.977op/s; 255386057.906op/s] or [-0.027%; +0.027%] None None None
credit_card/is_card_number/378282246310005 execution_time [70.336µs; 70.440µs] or [-0.074%; +0.074%] None None None
credit_card/is_card_number/378282246310005 throughput [14196996.326op/s; 14217893.155op/s] or [-0.074%; +0.074%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [53.129µs; 53.137µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [18819173.149op/s; 18822240.014op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.436µs; 6.437µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/x371413321323331 throughput [155340186.025op/s; 155368577.034op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.915µs; 3.916µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255380724.227op/s; 255432788.122op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.165µs; 65.213µs] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15334507.032op/s; 15345767.739op/s] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [59.020µs; 59.084µs] or [-0.054%; +0.054%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [16925457.382op/s; 16943637.064op/s] or [-0.054%; +0.054%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.915µs; 3.916µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255351116.190op/s; 255404693.055op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [55.650µs; 55.697µs] or [-0.042%; +0.042%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [17954542.524op/s; 17969595.103op/s] or [-0.042%; +0.042%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [53.123µs; 53.134µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [18820489.550op/s; 18824089.533op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.439µs; 6.440µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155277968.321op/s; 155311715.316op/s] or [-0.011%; +0.011%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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.283µs 2.350µs ± 0.019µs 2.350µs ± 0.005µs 2.355µs 2.386µs 2.397µs 2.403µs 2.27% -0.777 4.107 0.80% 0.001µ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.347µs; 2.352µs] or [-0.111%; +0.111%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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 17.948µs 26.156µs ± 9.935µs 18.174µs ± 0.180µs 34.899µs 45.526µs 53.589µs 66.922µs 268.24% 0.867 0.201 37.89% 0.703µ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.779µs; 27.533µs] or [-5.264%; +5.264%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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.176ms 4.180ms ± 0.002ms 4.180ms ± 0.001ms 4.181ms 4.184ms 4.187ms 4.193ms 0.32% 1.568 5.270 0.05% 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.180ms; 4.181ms] or [-0.008%; +0.008%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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 186.392µs 186.788µs ± 0.173µs 186.767µs ± 0.111µs 186.877µs 187.099µs 187.230µs 187.242µs 0.25% 0.543 -0.195 0.09% 0.012µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5340687.103op/s 5353662.954op/s ± 4963.767op/s 5354267.090op/s ± 3194.670op/s 5357454.200op/s 5360490.831op/s 5361660.566op/s 5365051.518op/s 0.20% -0.539 -0.200 0.09% 350.991op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.822µs 17.900µs ± 0.037µs 17.896µs ± 0.022µs 17.921µs 17.967µs 18.007µs 18.029µs 0.74% 0.599 0.529 0.21% 0.003µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 55465650.449op/s 55865111.218op/s ± 115262.984op/s 55877201.633op/s ± 67798.418op/s 55941498.371op/s 56041877.139op/s 56067983.692op/s 56110319.489op/s 0.42% -0.585 0.503 0.21% 8150.324op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.121µs 10.337µs ± 0.146µs 10.270µs ± 0.106µs 10.482µs 10.560µs 10.585µs 10.643µs 3.64% 0.305 -1.491 1.41% 0.010µs 1 200
normalization/normalize_name/normalize_name/good throughput 93958002.197op/s 96754482.938op/s ± 1364500.709op/s 97374647.503op/s ± 1010788.900op/s 97943847.297op/s 98405305.095op/s 98657311.363op/s 98800028.742op/s 1.46% -0.288 -1.505 1.41% 96484.770op/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 [186.764µs; 186.812µs] or [-0.013%; +0.013%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5352975.024op/s; 5354350.884op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.895µs; 17.905µs] or [-0.029%; +0.029%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55849136.877op/s; 55881085.559op/s] or [-0.029%; +0.029%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.317µs; 10.358µs] or [-0.196%; +0.196%] None None None
normalization/normalize_name/normalize_name/good throughput [96565376.263op/s; 96943589.613op/s] or [-0.195%; +0.195%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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.163µs 146.229µs ± 1.545µs 146.008µs ± 0.472µs 146.431µs 147.882µs 152.129µs 160.209µs 9.73% 5.253 38.315 1.05% 0.109µ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 [146.015µs; 146.444µs] or [-0.146%; +0.146%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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.955µs 5.033µs ± 0.050µs 5.024µs ± 0.037µs 5.067µs 5.125µs 5.132µs 5.134µs 2.18% 0.562 -1.028 0.99% 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.026µs; 5.040µs] or [-0.138%; +0.138%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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 85.911µs 86.628µs ± 0.199µs 86.615µs ± 0.067µs 86.683µs 86.785µs 86.950µs 88.786µs 2.51% 6.652 70.611 0.23% 0.014µ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.601µs; 86.656µs] or [-0.032%; +0.032%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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.162µs 3.192µs ± 1.623µs 2.954µs ± 0.030µs 2.984µs 3.664µs 13.477µs 18.759µs 535.01% 7.550 60.370 50.72% 0.115µ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.967µs; 3.417µs] or [-7.048%; +7.048%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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 13.920ms 13.970ms ± 0.031ms 13.964ms ± 0.015ms 13.982ms 14.031ms 14.066ms 14.153ms 1.36% 2.268 8.994 0.22% 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 [13.966ms; 13.975ms] or [-0.031%; +0.031%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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 34.009µs 34.561µs ± 0.827µs 34.178µs ± 0.070µs 34.341µs 36.303µs 36.318µs 38.214µs 11.81% 1.807 1.979 2.39% 0.058µ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 [34.447µs; 34.676µs] or [-0.332%; +0.332%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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 12.967ms 12.997ms ± 0.014ms 12.995ms ± 0.008ms 13.004ms 13.024ms 13.036ms 13.076ms 0.63% 1.318 4.325 0.11% 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 [12.995ms; 12.999ms] or [-0.015%; +0.015%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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 49.022ms 49.537ms ± 1.199ms 49.395ms ± 0.095ms 49.487ms 49.608ms 53.798ms 62.011ms 25.54% 8.914 82.433 2.41% 0.085ms 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 [49.371ms; 49.703ms] or [-0.335%; +0.335%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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 716.873µs 718.163µs ± 0.631µs 718.130µs ± 0.415µs 718.521µs 719.327µs 719.794µs 720.097µs 0.27% 0.488 0.001 0.09% 0.045µ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 [718.075µs; 718.250µs] or [-0.012%; +0.012%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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 495.262µs 496.891µs ± 1.694µs 496.225µs ± 0.378µs 496.853µs 500.505µs 503.609µs 504.312µs 1.63% 2.123 4.282 0.34% 0.120µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1982897.727op/s 2012538.081op/s ± 6811.751op/s 2015216.113op/s ± 1535.902op/s 2016318.062op/s 2017698.218op/s 2018441.725op/s 2019135.119op/s 0.19% -2.105 4.174 0.34% 481.664op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 369.663µs 370.332µs ± 0.349µs 370.297µs ± 0.202µs 370.525µs 370.872µs 371.172µs 372.967µs 0.72% 2.352 14.915 0.09% 0.025µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2681201.108op/s 2700284.345op/s ± 2538.825op/s 2700536.720op/s ± 1474.446op/s 2701923.637op/s 2703540.912op/s 2704294.296op/s 2705169.461op/s 0.17% -2.320 14.613 0.09% 179.522op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 168.922µs 169.544µs ± 0.225µs 169.534µs ± 0.138µs 169.673µs 169.905µs 170.064µs 170.608µs 0.63% 0.496 1.978 0.13% 0.016µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5861391.451op/s 5898184.668op/s ± 7819.638op/s 5898531.945op/s ± 4800.717op/s 5903292.469op/s 5910228.970op/s 5913958.278op/s 5919895.281op/s 0.36% -0.481 1.933 0.13% 552.932op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.841µs 37.038µs ± 0.113µs 37.074µs ± 0.092µs 37.128µs 37.191µs 37.211µs 37.245µs 0.46% -0.215 -1.367 0.31% 0.008µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26849077.477op/s 26999760.090op/s ± 82631.387op/s 26972784.641op/s ± 66996.948op/s 27090287.410op/s 27123875.387op/s 27140794.131op/s 27143367.039op/s 0.63% 0.220 -1.367 0.31% 5842.921op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 46.178µs 46.304µs ± 0.131µs 46.289µs ± 0.032µs 46.322µs 46.374µs 46.468µs 47.740µs 3.13% 8.579 84.401 0.28% 0.009µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20946790.371op/s 21596547.190op/s ± 59554.391op/s 21603181.492op/s ± 14827.752op/s 21616729.284op/s 21633205.173op/s 21636348.831op/s 21655476.435op/s 0.24% -8.471 82.720 0.28% 4211.131op/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 [496.656µs; 497.125µs] or [-0.047%; +0.047%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2011594.038op/s; 2013482.124op/s] or [-0.047%; +0.047%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [370.283µs; 370.380µs] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2699932.489op/s; 2700636.202op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [169.513µs; 169.575µs] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5897100.941op/s; 5899268.394op/s] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.022µs; 37.053µs] or [-0.042%; +0.042%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26988308.175op/s; 27011212.006op/s] or [-0.042%; +0.042%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.286µs; 46.322µs] or [-0.039%; +0.039%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21588293.524op/s; 21604800.856op/s] or [-0.038%; +0.038%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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.155ms 4.160ms ± 0.008ms 4.159ms ± 0.001ms 4.160ms 4.163ms 4.167ms 4.267ms 2.60% 12.159 159.608 0.19% 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.159ms; 4.161ms] or [-0.027%; +0.027%] None None None

Group 20

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 7a18d4d 1774014288 kowalski/temp-profiling-split-upload-function
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.410ms 3.446ms ± 0.031ms 3.437ms ± 0.009ms 3.449ms 3.515ms 3.561ms 3.615ms 5.16% 2.373 6.627 0.89% 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.442ms; 3.450ms] or [-0.124%; +0.124%] None None None

Baseline

Omitted due to size.

@dd-octo-sts
Copy link
Contributor

dd-octo-sts bot commented Mar 20, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 100.37 MB 100.38 MB +0% (+2.96 KB) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.70 MB 8.70 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 117.04 MB 117.05 MB +0% (+11.58 KB) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.28 MB 11.28 MB +0% (+192 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.18 MB 27.18 MB +0% (+2.00 KB) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 77.50 KB 77.79 KB +.37% (+294 B) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 186.54 MB 186.54 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 917.79 MB 917.82 MB +0% (+30.49 KB) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.94 MB 9.94 MB +0% (+512 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 77.50 KB 77.79 KB +.37% (+294 B) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 24.78 MB 24.78 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 51.47 MB 51.47 MB +0% (+986 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 22.97 MB 22.98 MB +.01% (+2.50 KB) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 78.71 KB 79.00 KB +.37% (+300 B) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.28 MB 190.30 MB +0% (+16.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 900.94 MB 900.97 MB +0% (+30.20 KB) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.54 MB 7.54 MB +0% (+512 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 78.71 KB 79.00 KB +.37% (+300 B) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 26.52 MB 26.52 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 47.09 MB 47.09 MB +0% (+1.30 KB) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 87.59 MB 87.59 MB +0% (+2.60 KB) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.22 MB 10.22 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 109.92 MB 109.93 MB +.01% (+11.29 KB) 🔍
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.97 MB 11.97 MB +0% (+96 B) 👌

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

Labels

profiling Relates to the profiling* modules.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants