Skip to content

Conversation

@danielsn
Copy link
Contributor

@danielsn danielsn commented Dec 3, 2025

What does this PR do?

Provides a C++ api for profiling

Motivation

A type-safe ideomatic interface. What's not to love?

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Run the new CPP example.

@codecov-commenter
Copy link

codecov-commenter commented Dec 3, 2025

Codecov Report

❌ Patch coverage is 92.79279% with 40 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.48%. Comparing base (13970ff) to head (74880e9).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1382      +/-   ##
==========================================
+ Coverage   71.22%   71.48%   +0.26%     
==========================================
  Files         404      405       +1     
  Lines       64477    65032     +555     
==========================================
+ Hits        45923    46491     +568     
+ Misses      18554    18541      -13     
Components Coverage Δ
libdd-crashtracker 58.99% <ø> (+0.03%) ⬆️
libdd-crashtracker-ffi 16.74% <ø> (ø)
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 85.81% <ø> (ø)
libdd-data-pipeline-ffi 76.59% <ø> (ø)
libdd-common 81.13% <ø> (ø)
libdd-common-ffi 74.96% <ø> (ø)
libdd-telemetry 59.92% <ø> (-0.04%) ⬇️
libdd-telemetry-ffi 21.17% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.61% <ø> (ø)
libdd-profiling 81.83% <92.79%> (+1.16%) ⬆️
libdd-profiling-ffi 63.41% <ø> (ø)
datadog-sidecar 35.86% <ø> (ø)
datdog-sidecar-ffi 10.79% <ø> (ø)
spawn-worker 55.18% <ø> (ø)
libdd-tinybytes 92.44% <ø> (ø)
libdd-trace-normalization 98.24% <ø> (ø)
libdd-trace-obfuscation 94.17% <ø> (ø)
libdd-trace-protobuf 61.18% <ø> (ø)
libdd-trace-utils 89.97% <ø> (ø)
datadog-tracer-flare 63.49% <ø> (ø)
libdd-log 75.57% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@pr-commenter
Copy link

pr-commenter bot commented Dec 3, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-12-15 22:50:47

Comparing candidate commit 74880e9 in PR branch dsn/r-and-d-profiling-cxx with baseline commit 13970ff in branch main.

Found 12 performance improvements and 1 performance regressions! Performance is the same for 44 metrics, 2 unstable metrics.

scenario:credit_card/is_card_number/ 378282246310005

  • 🟩 execution_time [-4.186µs; -4.084µs] or [-5.575%; -5.439%]
  • 🟩 throughput [+766627.015op/s; +786111.409op/s] or [+5.756%; +5.903%]

scenario:credit_card/is_card_number/378282246310005

  • 🟩 execution_time [-4.440µs; -4.335µs] or [-6.151%; -6.005%]
  • 🟩 throughput [+885777.422op/s; +907831.765op/s] or [+6.394%; +6.553%]

scenario:credit_card/is_card_number/37828224631000521389798

  • 🟩 execution_time [-7.020µs; -6.970µs] or [-13.449%; -13.354%]
  • 🟩 throughput [+2953173.208op/s; +2977362.314op/s] or [+15.414%; +15.540%]

scenario:credit_card/is_card_number_no_luhn/ 378282246310005

  • 🟩 execution_time [-4.578µs; -4.538µs] or [-7.950%; -7.882%]
  • 🟩 throughput [+1486857.086op/s; +1498809.428op/s] or [+8.562%; +8.630%]

scenario:credit_card/is_card_number_no_luhn/378282246310005

  • 🟩 execution_time [-5.054µs; -5.008µs] or [-9.217%; -9.133%]
  • 🟩 throughput [+1834329.395op/s; +1849671.039op/s] or [+10.059%; +10.143%]

scenario:credit_card/is_card_number_no_luhn/37828224631000521389798

  • 🟩 execution_time [-7.114µs; -7.062µs] or [-13.624%; -13.525%]
  • 🟩 throughput [+2995871.738op/s; +3020985.242op/s] or [+15.643%; +15.774%]

scenario:sql/obfuscate_sql_string

  • 🟥 execution_time [+5.824µs; +5.899µs] or [+6.883%; +6.971%]

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 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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.950µs 534.887µs ± 0.624µs 534.815µs ± 0.301µs 535.175µs 535.528µs 536.417µs 541.138µs 1.18% 5.219 48.717 0.12% 0.044µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1847956.850op/s 1869554.594op/s ± 2168.806op/s 1869807.093op/s ± 1054.485op/s 1870682.523op/s 1872063.654op/s 1872304.284op/s 1872832.884op/s 0.16% -5.137 47.632 0.12% 153.358op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.299µs 380.972µs ± 0.338µs 380.953µs ± 0.218µs 381.150µs 381.626µs 381.872µs 381.999µs 0.27% 0.592 0.079 0.09% 0.024µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2617806.410op/s 2624864.444op/s ± 2330.658op/s 2624994.236op/s ± 1502.410op/s 2626546.511op/s 2628006.227op/s 2629223.699op/s 2629508.134op/s 0.17% -0.588 0.071 0.09% 164.802op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 190.029µs 190.761µs ± 0.308µs 190.762µs ± 0.188µs 190.935µs 191.206µs 191.568µs 192.361µs 0.84% 0.736 2.907 0.16% 0.022µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5198563.117op/s 5242172.364op/s ± 8462.629op/s 5242131.712op/s ± 5175.042op/s 5247799.406op/s 5255247.577op/s 5258352.123op/s 5262341.202op/s 0.39% -0.715 2.810 0.16% 598.398op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.906µs 37.108µs ± 0.118µs 37.085µs ± 0.103µs 37.215µs 37.289µs 37.328µs 37.385µs 0.81% 0.262 -1.248 0.32% 0.008µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26748855.936op/s 26948759.513op/s ± 85399.003op/s 26964793.656op/s ± 74698.017op/s 27026209.584op/s 27059606.105op/s 27076429.858op/s 27096206.356op/s 0.49% -0.255 -1.254 0.32% 6038.621op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.807µs 45.926µs ± 0.247µs 45.891µs ± 0.028µs 45.923µs 45.972µs 47.378µs 48.162µs 4.95% 8.010 65.234 0.54% 0.017µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20763314.822op/s 21774853.673op/s ± 112149.423op/s 21790910.176op/s ± 13142.609op/s 21802847.149op/s 21812077.354op/s 21822490.451op/s 21830878.128op/s 0.18% -7.961 64.511 0.51% 7930.162op/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.801µs; 534.974µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1869254.018op/s; 1869855.169op/s] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.925µs; 381.019µs] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2624541.437op/s; 2625187.451op/s] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.718µs; 190.804µs] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5240999.525op/s; 5243345.203op/s] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.092µs; 37.124µs] or [-0.044%; +0.044%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26936924.033op/s; 26960594.994op/s] or [-0.044%; +0.044%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.892µs; 45.960µs] or [-0.074%; +0.074%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21759310.841op/s; 21790396.504op/s] or [-0.071%; +0.071%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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 90.184µs 90.484µs ± 0.206µs 90.448µs ± 0.068µs 90.532µs 90.715µs 90.827µs 92.635µs 2.42% 6.470 61.126 0.23% 0.015µ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 [90.455µs; 90.512µs] or [-0.032%; +0.032%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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.041µs ± 0.042µs 5.043µs ± 0.039µs 5.075µs 5.103µs 5.107µs 5.109µs 1.32% -0.088 -1.175 0.83% 0.003µ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.035µs; 5.046µs] or [-0.115%; +0.115%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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.883ms 13.919ms ± 0.026ms 13.914ms ± 0.007ms 13.921ms 13.953ms 14.023ms 14.079ms 1.18% 3.197 12.567 0.19% 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.915ms; 13.922ms] or [-0.026%; +0.026%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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 145.072µs 147.082µs ± 1.669µs 146.878µs ± 0.683µs 147.587µs 148.465µs 153.411µs 161.793µs 10.15% 5.056 37.055 1.13% 0.118µ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.851µs; 147.313µs] or [-0.157%; +0.157%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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.470ns 189.953ns ± 2.026ns 189.489ns ± 1.118ns 190.841ns 194.127ns 196.402ns 200.520ns 5.82% 1.665 4.156 1.06% 0.143ns 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.672ns; 190.234ns] or [-0.148%; +0.148%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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.411µs 2.448µs ± 0.022µs 2.444µs ± 0.009µs 2.457µs 2.507µs 2.517µs 2.524µs 3.30% 1.423 2.438 0.91% 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.445µs; 2.451µs] or [-0.126%; +0.126%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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 62.071ms 62.614ms ± 2.466ms 62.300ms ± 0.087ms 62.384ms 62.587ms 81.471ms 83.957ms 34.76% 7.972 61.982 3.93% 0.174ms 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 [62.273ms; 62.956ms] or [-0.546%; +0.546%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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.003ms 4.009ms ± 0.007ms 4.008ms ± 0.001ms 4.009ms 4.013ms 4.017ms 4.105ms 2.42% 11.764 153.002 0.18% 0.001ms 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.008ms; 4.010ms] or [-0.025%; +0.025%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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/2597 execution_time 9.572ms 9.877ms ± 0.116ms 9.899ms ± 0.049ms 9.945ms 10.013ms 10.054ms 10.568ms 6.75% 0.393 5.586 1.17% 0.008ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2597 execution_time [9.861ms; 9.893ms] or [-0.162%; +0.162%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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 33.650µs 34.318µs ± 1.219µs 33.743µs ± 0.049µs 33.894µs 36.957µs 37.006µs 37.576µs 11.36% 1.703 0.939 3.54% 0.086µ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.149µs; 34.487µs] or [-0.492%; +0.492%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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.140µs 26.397µs ± 9.234µs 19.404µs ± 1.032µs 34.065µs 43.375µs 49.801µs 68.846µs 254.80% 1.015 0.924 34.89% 0.653µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [25.117µs; 27.676µs] or [-4.848%; +4.848%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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.261µs 3.231µs ± 1.435µs 3.026µs ± 0.023µs 3.048µs 3.680µs 13.995µs 14.874µs 391.60% 7.408 55.774 44.29% 0.101µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [3.033µs; 3.430µs] or [-6.154%; +6.154%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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.892µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.918µs 3.919µs 3.923µs 0.24% -1.146 8.401 0.08% 0.000µs 1 200
credit_card/is_card_number/ throughput 254926502.008op/s 255544745.019op/s ± 210328.854op/s 255549047.180op/s ± 135345.559op/s 255673761.492op/s 255844383.220op/s 255900742.105op/s 256941851.356op/s 0.55% 1.169 8.560 0.08% 14872.496op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.053µs 78.625µs ± 0.970µs 78.516µs ± 0.758µs 79.274µs 80.277µs 80.930µs 81.424µs 3.70% 0.416 -0.441 1.23% 0.069µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12281449.432op/s 12720465.854op/s ± 156104.245op/s 12736300.410op/s ± 121758.256op/s 12856516.572op/s 12955729.694op/s 12969391.315op/s 12978126.441op/s 1.90% -0.366 -0.515 1.22% 11038.237op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 70.617µs 70.951µs ± 0.309µs 70.854µs ± 0.136µs 71.044µs 71.555µs 72.116µs 72.328µs 2.08% 1.979 4.562 0.43% 0.022µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13825864.899op/s 14094578.851op/s ± 60930.514op/s 14113583.663op/s ± 27071.429op/s 14138410.881op/s 14147182.836op/s 14150621.855op/s 14160800.814op/s 0.33% -1.945 4.381 0.43% 4308.438op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.892µs 3.911µs ± 0.003µs 3.911µs ± 0.002µs 3.913µs 3.915µs 3.918µs 3.922µs 0.27% -1.209 11.555 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254990031.256op/s 255660423.144op/s ± 182394.157op/s 255672361.823op/s ± 101041.982op/s 255763071.173op/s 255891947.110op/s 255973134.090op/s 256943813.613op/s 0.50% 1.235 11.733 0.07% 12897.215op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 67.419µs 67.796µs ± 0.322µs 67.738µs ± 0.189µs 67.918µs 68.391µs 68.760µs 69.538µs 2.66% 1.758 4.488 0.47% 0.023µs 1 200
credit_card/is_card_number/378282246310005 throughput 14380595.679op/s 14750523.679op/s ± 69491.882op/s 14762801.441op/s ± 41191.701op/s 14804248.081op/s 14820350.046op/s 14825829.309op/s 14832613.952op/s 0.47% -1.711 4.196 0.47% 4913.818op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 44.575µs 45.200µs ± 0.176µs 45.210µs ± 0.132µs 45.335µs 45.474µs 45.527µs 45.573µs 0.80% -0.283 -0.056 0.39% 0.012µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21942836.539op/s 22124096.510op/s ± 86467.729op/s 22119199.699op/s ± 64564.006op/s 22189441.709op/s 22249062.665op/s 22321291.984op/s 22434043.155op/s 1.42% 0.305 -0.015 0.39% 6114.192op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.027µs 6.035µs ± 0.004µs 6.035µs ± 0.003µs 6.038µs 6.042µs 6.045µs 6.046µs 0.18% 0.544 -0.007 0.06% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 165406469.679op/s 165688306.823op/s ± 101038.704op/s 165703645.487op/s ± 72760.859op/s 165768495.542op/s 165824486.951op/s 165865314.149op/s 165929214.617op/s 0.14% -0.540 -0.012 0.06% 7144.515op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.896µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.917µs 3.920µs 3.923µs 0.25% -0.871 6.329 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254917229.692op/s 255542130.335op/s ± 187261.435op/s 255541800.355op/s ± 113446.745op/s 255649896.469op/s 255817634.297op/s 255925422.296op/s 256688848.426op/s 0.45% 0.888 6.420 0.07% 13241.383op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 65.479µs 65.875µs ± 0.079µs 65.887µs ± 0.038µs 65.926µs 65.964µs 65.990µs 66.000µs 0.17% -2.211 7.414 0.12% 0.006µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15151436.615op/s 15180293.677op/s ± 18203.838op/s 15177396.314op/s ± 8739.026op/s 15186064.129op/s 15209177.259op/s 15264299.328op/s 15272107.254op/s 0.62% 2.227 7.507 0.12% 1287.206op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 52.962µs 53.023µs ± 0.033µs 53.020µs ± 0.022µs 53.045µs 53.075µs 53.107µs 53.118µs 0.18% 0.449 -0.357 0.06% 0.002µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18826070.023op/s 18859578.762op/s ± 11569.470op/s 18860666.082op/s ± 7974.238op/s 18868410.037op/s 18876032.161op/s 18879954.963op/s 18881469.726op/s 0.11% -0.447 -0.361 0.06% 818.085op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.896µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.917µs 3.923µs 3.929µs 0.42% 0.224 8.498 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254492068.779op/s 255558465.380op/s ± 195768.573op/s 255571695.439op/s ± 123592.899op/s 255676722.211op/s 255802961.801op/s 255873356.681op/s 256665005.775op/s 0.43% -0.200 8.508 0.08% 13842.929op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 49.744µs 49.806µs ± 0.029µs 49.802µs ± 0.020µs 49.826µs 49.854µs 49.877µs 49.893µs 0.18% 0.367 -0.235 0.06% 0.002µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 20043035.688op/s 20077905.251op/s ± 11851.108op/s 20079346.385op/s ± 8219.042op/s 20086187.232op/s 20095270.779op/s 20100871.614op/s 20102882.753op/s 0.12% -0.364 -0.238 0.06% 838.000op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 44.635µs 45.126µs ± 0.182µs 45.138µs ± 0.119µs 45.240µs 45.408µs 45.497µs 45.560µs 0.93% -0.297 -0.074 0.40% 0.013µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21949299.491op/s 22160409.189op/s ± 89419.749op/s 22154168.569op/s ± 58303.439op/s 22218439.639op/s 22302671.258op/s 22392591.379op/s 22404148.845op/s 1.13% 0.320 -0.056 0.40% 6322.931op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.027µs 6.035µs ± 0.003µs 6.034µs ± 0.002µs 6.037µs 6.041µs 6.042µs 6.043µs 0.13% 0.182 -0.400 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 165491662.546op/s 165706327.056op/s ± 91416.136op/s 165714060.838op/s ± 63689.686op/s 165770332.208op/s 165844638.085op/s 165906909.310op/s 165924661.992op/s 0.13% -0.180 -0.401 0.06% 6464.097op/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.913µs; 3.914µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ throughput [255515595.463op/s; 255573894.575op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [78.491µs; 78.760µs] or [-0.171%; +0.171%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12698831.307op/s; 12742100.401op/s] or [-0.170%; +0.170%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [70.908µs; 70.993µs] or [-0.060%; +0.060%] None None None
credit_card/is_card_number/ 378282246310005 throughput [14086134.467op/s; 14103023.234op/s] or [-0.060%; +0.060%] None None None
credit_card/is_card_number/37828224631 execution_time [3.911µs; 3.912µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631 throughput [255635145.068op/s; 255685701.220op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/378282246310005 execution_time [67.751µs; 67.840µs] or [-0.066%; +0.066%] None None None
credit_card/is_card_number/378282246310005 throughput [14740892.772op/s; 14760154.585op/s] or [-0.065%; +0.065%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.176µs; 45.225µs] or [-0.054%; +0.054%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [22112112.915op/s; 22136080.106op/s] or [-0.054%; +0.054%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.035µs; 6.036µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/x371413321323331 throughput [165674303.830op/s; 165702309.815op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.913µs; 3.914µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255516177.701op/s; 255568082.969op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.864µs; 65.886µs] or [-0.017%; +0.017%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15177770.801op/s; 15182816.554op/s] or [-0.017%; +0.017%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.019µs; 53.028µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18857975.344op/s; 18861182.179op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.913µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255531333.738op/s; 255585597.021op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [49.802µs; 49.810µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [20076262.802op/s; 20079547.701op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.101µs; 45.151µs] or [-0.056%; +0.056%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [22148016.472op/s; 22172801.906op/s] or [-0.056%; +0.056%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.034µs; 6.035µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165693657.659op/s; 165718996.453op/s] or [-0.008%; +0.008%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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 246.559ns 258.836ns ± 13.715ns 251.833ns ± 2.290ns 264.159ns 291.369ns 295.630ns 298.584ns 18.56% 1.506 0.956 5.29% 0.970ns 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 [256.935ns; 260.737ns] or [-0.734%; +0.734%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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 525.579µs 526.388µs ± 0.503µs 526.364µs ± 0.250µs 526.610µs 527.013µs 527.238µs 531.484µs 0.97% 5.296 51.027 0.10% 0.036µ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 [526.318µs; 526.457µs] or [-0.013%; +0.013%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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 204.599µs 205.132µs ± 0.313µs 205.094µs ± 0.214µs 205.356µs 205.693µs 205.935µs 206.004µs 0.44% 0.566 -0.375 0.15% 0.022µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4854272.127op/s 4874909.480op/s ± 7437.887op/s 4875824.286op/s ± 5097.490op/s 4880677.655op/s 4884790.758op/s 4887416.021op/s 4887620.397op/s 0.24% -0.560 -0.385 0.15% 525.938op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.581µs 18.670µs ± 0.080µs 18.642µs ± 0.025µs 18.681µs 18.802µs 18.924µs 19.344µs 3.77% 3.850 25.090 0.43% 0.006µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 51695729.451op/s 53562900.616op/s ± 225201.902op/s 53643679.004op/s ± 70672.986op/s 53683257.184op/s 53757066.578op/s 53780015.468op/s 53817361.207op/s 0.32% -3.699 23.268 0.42% 15924.179op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.843µs 10.928µs ± 0.036µs 10.924µs ± 0.021µs 10.943µs 10.995µs 11.022µs 11.070µs 1.34% 0.846 1.051 0.33% 0.003µs 1 200
normalization/normalize_name/normalize_name/good throughput 90333797.278op/s 91511995.455op/s ± 298079.935op/s 91542494.562op/s ± 178115.134op/s 91724929.663op/s 91927808.567op/s 92040192.337op/s 92226642.007op/s 0.75% -0.823 0.996 0.32% 21077.434op/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 [205.089µs; 205.176µs] or [-0.021%; +0.021%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4873878.661op/s; 4875940.300op/s] or [-0.021%; +0.021%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.659µs; 18.681µs] or [-0.059%; +0.059%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53531689.799op/s; 53594111.434op/s] or [-0.058%; +0.058%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.923µs; 10.933µs] or [-0.045%; +0.045%] None None None
normalization/normalize_name/normalize_name/good throughput [91470684.443op/s; 91553306.467op/s] or [-0.045%; +0.045%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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.703ms 10.735ms ± 0.015ms 10.733ms ± 0.009ms 10.744ms 10.760ms 10.782ms 10.800ms 0.62% 1.055 2.497 0.14% 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.733ms; 10.737ms] or [-0.019%; +0.019%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 74880e9 1765838070 dsn/r-and-d-profiling-cxx
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.514µs 161.747µs ± 0.361µs 161.760µs ± 0.133µs 161.886µs 162.151µs 162.359µs 164.959µs 1.98% 3.088 31.018 0.22% 0.026µ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.697µs; 161.797µs] or [-0.031%; +0.031%] None None None

Baseline

Omitted due to size.

@dd-octo-sts
Copy link

dd-octo-sts bot commented Dec 4, 2025

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 86.25 MB 86.25 MB -0% (-176 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.44 MB 7.44 MB 0% (0 B) 👌
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 58.31 MB 58.24 MB --.12% (-77.51 KB) 💪
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 8.43 MB 8.43 MB --.04% (-3.79 KB) 💪
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.54 MB 9.53 MB --.05% (-5.30 KB) 💪
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.04 MB 99.91 MB --.12% (-131.88 KB) 💪
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 19.69 MB 19.68 MB -0% (-512 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 69.82 KB 69.82 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 139.73 MB 139.73 MB -0% (-8.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 742.46 MB 742.30 MB --.02% (-166.12 KB) 💪
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 6.37 MB 6.35 MB --.22% (-14.50 KB) 💪
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 69.82 KB 69.82 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 19.73 MB 19.69 MB --.19% (-40.00 KB) 💪
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 38.75 MB 38.68 MB --.19% (-76.90 KB) 💪
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 16.80 MB 16.80 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 70.90 KB 70.90 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 142.34 MB 142.37 MB +.01% (+24.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 730.71 MB 730.78 MB +0% (+66.15 KB) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 4.88 MB 4.88 MB --.09% (-5.00 KB) 💪
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 70.90 KB 70.90 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 20.97 MB 20.94 MB --.11% (-24.00 KB) 💪
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 36.51 MB 36.46 MB --.13% (-50.33 KB) 💪
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 74.59 MB 74.59 MB -0% (-3.77 KB) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.86 MB 8.86 MB 0% (0 B) 👌
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 59.67 MB 59.58 MB --.14% (-89.40 KB) 💪
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 9.49 MB 9.47 MB --.12% (-12.26 KB) 💪
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 94.25 MB 94.14 MB --.11% (-108.93 KB) 💪
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.29 MB 10.28 MB --.10% (-11.47 KB) 💪

@danielsn danielsn force-pushed the dsn/r-and-d-profiling-cxx branch 2 times, most recently from 01042af to f3d75a3 Compare December 5, 2025 02:56
@danielsn danielsn marked this pull request as ready for review December 5, 2025 03:03
@danielsn danielsn requested review from a team as code owners December 5, 2025 03:03
@danielsn danielsn force-pushed the dsn/r-and-d-profiling-cxx branch 6 times, most recently from 6b243aa to 6398405 Compare December 15, 2025 22:31
@danielsn danielsn force-pushed the dsn/r-and-d-profiling-cxx branch from 6398405 to 74880e9 Compare December 15, 2025 22:34
@taegyunkim taegyunkim added the AI Generated PR largely written by AI tools label Dec 15, 2025
@danielsn
Copy link
Contributor Author

/merge

@dd-devflow-routing-codex
Copy link

dd-devflow-routing-codex bot commented Dec 16, 2025

View all feedbacks in Devflow UI.

2025-12-16 01:27:24 UTC ℹ️ Start processing command /merge


2025-12-16 01:27:28 UTC ℹ️ MergeQueue: pull request added to the queue

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


2025-12-16 01:52:00 UTC ℹ️ MergeQueue: This merge request was merged

@dd-mergequeue dd-mergequeue bot merged commit 0959f2d into main Dec 16, 2025
37 of 38 checks passed
@dd-mergequeue dd-mergequeue bot deleted the dsn/r-and-d-profiling-cxx branch December 16, 2025 01:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants