Skip to content

Conversation

@danielsn
Copy link
Contributor

What does this PR do?

Adds cancelation support for exporting in the C++ bindings

Motivation

Forgot to add this when I created the bindings in the first place

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Describe here in detail how the change can be validated.

@danielsn danielsn requested review from a team as code owners December 19, 2025 16:00
@codecov-commenter
Copy link

codecov-commenter commented Dec 19, 2025

Codecov Report

❌ Patch coverage is 32.81250% with 43 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.38%. Comparing base (e13f239) to head (c4720f8).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1422      +/-   ##
==========================================
- Coverage   71.41%   71.38%   -0.03%     
==========================================
  Files         411      411              
  Lines       66047    66110      +63     
==========================================
+ Hits        47168    47194      +26     
- Misses      18879    18916      +37     
Components Coverage Δ
libdd-crashtracker 58.70% <ø> (+0.04%) ⬆️
libdd-crashtracker-ffi 14.72% <ø> (ø)
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 86.01% <ø> (ø)
libdd-data-pipeline-ffi 77.74% <ø> (ø)
libdd-common 81.33% <ø> (ø)
libdd-common-ffi 74.96% <ø> (ø)
libdd-telemetry 59.95% <ø> (+0.03%) ⬆️
libdd-telemetry-ffi 21.17% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.61% <ø> (ø)
libdd-profiling 81.42% <32.81%> (-0.29%) ⬇️
libdd-profiling-ffi 67.83% <ø> (ø)
datadog-sidecar 35.88% <ø> (ø)
datdog-sidecar-ffi 10.88% <ø> (ø)
spawn-worker 55.18% <ø> (ø)
libdd-tinybytes 92.44% <ø> (ø)
libdd-trace-normalization 82.33% <ø> (ø)
libdd-trace-obfuscation 94.17% <ø> (ø)
libdd-trace-protobuf 61.18% <ø> (ø)
libdd-trace-utils 89.92% <ø> (ø)
datadog-tracer-flare 62.06% <ø> (ø)
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 19, 2025

Benchmarks

Comparison

Benchmark execution time: 2026-01-06 20:12:55

Comparing candidate commit c4720f8 in PR branch dsn/cxx-cancel with baseline commit e13f239 in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 57 metrics, 2 unstable metrics.

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 c4720f8 1767729395 dsn/cxx-cancel
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.997µs 5.099µs ± 0.050µs 5.115µs ± 0.042µs 5.136µs 5.170µs 5.176µs 5.176µs 1.19% -0.216 -1.135 0.98% 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.092µs; 5.106µs] or [-0.136%; +0.136%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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.320µs 204.973µs ± 0.382µs 204.883µs ± 0.253µs 205.234µs 205.731µs 205.967µs 206.068µs 0.58% 0.663 -0.183 0.19% 0.027µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4852759.410op/s 4878718.080op/s ± 9085.639op/s 4880826.057op/s ± 6033.156op/s 4885751.650op/s 4891384.429op/s 4893165.339op/s 4894278.298op/s 0.28% -0.655 -0.197 0.19% 642.452op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.545µs 18.623µs ± 0.071µs 18.600µs ± 0.020µs 18.624µs 18.804µs 18.833µs 18.918µs 1.71% 2.002 3.336 0.38% 0.005µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 52859639.291op/s 53697092.566op/s ± 202491.025op/s 53762828.472op/s ± 56683.463op/s 53808906.789op/s 53880652.407op/s 53905463.388op/s 53922471.367op/s 0.30% -1.987 3.272 0.38% 14318.278op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.831µs 10.907µs ± 0.035µs 10.903µs ± 0.020µs 10.924µs 10.973µs 10.999µs 11.044µs 1.29% 0.892 1.347 0.32% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 90547975.452op/s 91686111.399op/s ± 294624.218op/s 91718296.426op/s ± 170064.387op/s 91878537.987op/s 92103261.220op/s 92209353.808op/s 92331840.635op/s 0.67% -0.868 1.278 0.32% 20833.078op/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 [204.920µs; 205.026µs] or [-0.026%; +0.026%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4877458.898op/s; 4879977.262op/s] or [-0.026%; +0.026%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.613µs; 18.633µs] or [-0.053%; +0.053%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53669029.258op/s; 53725155.875op/s] or [-0.052%; +0.052%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.902µs; 10.912µs] or [-0.045%; +0.045%] None None None
normalization/normalize_name/normalize_name/good throughput [91645279.315op/s; 91726943.482op/s] or [-0.045%; +0.045%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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.216µs 34.915µs ± 1.158µs 34.373µs ± 0.083µs 34.561µs 37.399µs 37.444µs 38.185µs 11.09% 1.682 0.914 3.31% 0.082µ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.755µs; 35.076µs] or [-0.460%; +0.460%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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 548.434µs 549.406µs ± 0.518µs 549.302µs ± 0.274µs 549.600µs 550.315µs 550.971µs 552.081µs 0.51% 1.366 3.585 0.09% 0.037µ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 [549.334µs; 549.478µs] or [-0.013%; +0.013%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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.895µs 3.912µs ± 0.003µs 3.911µs ± 0.002µs 3.914µs 3.917µs 3.918µs 3.920µs 0.23% -0.376 4.372 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 255082801.653op/s 255648917.600op/s ± 187878.918op/s 255682127.822op/s ± 118438.565op/s 255776266.097op/s 255871473.551op/s 255931881.208op/s 256723943.448op/s 0.41% 0.390 4.443 0.07% 13285.046op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.347µs 78.487µs ± 0.611µs 78.424µs ± 0.454µs 78.899µs 79.677µs 79.955µs 80.165µs 2.22% 0.436 -0.377 0.78% 0.043µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12474246.084op/s 12741746.877op/s ± 98925.887op/s 12751210.807op/s ± 73871.598op/s 12818514.242op/s 12884306.985op/s 12921725.308op/s 12928748.344op/s 1.39% -0.402 -0.416 0.77% 6995.117op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 71.368µs 72.157µs ± 0.398µs 72.135µs ± 0.281µs 72.403µs 72.830µs 73.116µs 73.440µs 1.81% 0.509 0.036 0.55% 0.028µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13616572.407op/s 13859028.560op/s ± 76176.312op/s 13862979.633op/s ± 54026.267op/s 13918274.695op/s 13968305.714op/s 13988847.627op/s 14011928.688op/s 1.07% -0.479 -0.018 0.55% 5386.479op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.892µs 3.912µs ± 0.004µs 3.912µs ± 0.002µs 3.914µs 3.917µs 3.918µs 3.956µs 1.11% 4.946 56.612 0.11% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 252806753.114op/s 255597980.489op/s ± 272761.370op/s 255616362.330op/s ± 123998.202op/s 255729568.731op/s 255856527.956op/s 255919223.760op/s 256919648.958op/s 0.51% -4.836 55.462 0.11% 19287.141op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 67.940µs 68.577µs ± 0.371µs 68.497µs ± 0.232µs 68.780µs 69.264µs 69.620µs 69.917µs 2.07% 0.805 0.490 0.54% 0.026µs 1 200
credit_card/is_card_number/378282246310005 throughput 14302726.413op/s 14582653.495op/s ± 78510.998op/s 14599079.575op/s ± 49452.895op/s 14645091.506op/s 14686517.592op/s 14705118.745op/s 14718893.333op/s 0.82% -0.775 0.410 0.54% 5551.566op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 44.599µs 44.931µs ± 0.098µs 44.934µs ± 0.070µs 45.001µs 45.086µs 45.109µs 45.168µs 0.52% -0.237 -0.003 0.22% 0.007µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 22139686.530op/s 22256595.999op/s ± 48602.085op/s 22254781.648op/s ± 34521.837op/s 22290171.707op/s 22335547.023op/s 22375191.088op/s 22422061.217op/s 0.75% 0.250 0.016 0.22% 3436.686op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 5.691µs 5.701µs ± 0.006µs 5.701µs ± 0.003µs 5.703µs 5.706µs 5.710µs 5.763µs 1.09% 6.056 63.151 0.10% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 173531430.905op/s 175419043.113op/s ± 177629.476op/s 175414769.933op/s ± 78627.442op/s 175509579.421op/s 175622651.767op/s 175665760.865op/s 175721464.848op/s 0.17% -5.970 61.960 0.10% 12560.301op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.893µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.915µs 3.917µs 3.920µs 3.921µs 0.24% -0.709 5.973 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255036191.800op/s 255604797.443op/s ± 207489.753op/s 255637790.559op/s ± 124389.779op/s 255717088.294op/s 255893219.852op/s 255950152.605op/s 256872339.671op/s 0.48% 0.727 6.079 0.08% 14671.741op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 60.877µs 62.277µs ± 0.505µs 62.211µs ± 0.328µs 62.576µs 63.260µs 63.557µs 63.713µs 2.41% 0.465 0.008 0.81% 0.036µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15695307.956op/s 16058392.561op/s ± 129833.837op/s 16074299.153op/s ± 85290.587op/s 16153573.041op/s 16239056.886op/s 16290329.962op/s 16426520.069op/s 2.19% -0.422 -0.023 0.81% 9180.639op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.196µs 53.814µs ± 0.118µs 53.833µs ± 0.041µs 53.871µs 53.945µs 53.964µs 54.009µs 0.33% -2.805 10.408 0.22% 0.008µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18515445.515op/s 18582612.975op/s ± 41135.401op/s 18576010.012op/s ± 14131.821op/s 18590603.380op/s 18631515.532op/s 18766299.216op/s 18798457.192op/s 1.20% 2.835 10.580 0.22% 2908.712op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.892µs 3.911µs ± 0.003µs 3.911µs ± 0.002µs 3.913µs 3.916µs 3.917µs 3.918µs 0.18% -1.612 12.755 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255220848.379op/s 255661718.946op/s ± 176409.020op/s 255680529.928op/s ± 108413.851op/s 255772313.230op/s 255888520.756op/s 255923391.714op/s 256951895.329op/s 0.50% 1.637 12.964 0.07% 12474.001op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.138µs 50.434µs ± 0.154µs 50.432µs ± 0.103µs 50.530µs 50.614µs 50.985µs 51.133µs 1.39% 1.011 2.946 0.30% 0.011µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19556734.332op/s 19828014.773op/s ± 60347.428op/s 19828836.343op/s ± 40360.230op/s 19873798.389op/s 19918060.801op/s 19935449.811op/s 19944835.991op/s 0.59% -0.975 2.807 0.30% 4267.208op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 44.638µs 44.931µs ± 0.107µs 44.945µs ± 0.071µs 45.005µs 45.092µs 45.129µs 45.157µs 0.47% -0.414 -0.238 0.24% 0.008µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 22145191.822op/s 22256369.985op/s ± 52865.216op/s 22249526.950op/s ± 35038.953op/s 22291617.798op/s 22346077.272op/s 22387876.363op/s 22402531.908op/s 0.69% 0.425 -0.226 0.24% 3738.135op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 5.692µs 5.699µs ± 0.006µs 5.698µs ± 0.002µs 5.701µs 5.705µs 5.707µs 5.767µs 1.20% 7.937 89.286 0.10% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 173402710.217op/s 175469949.810op/s ± 178597.689op/s 175487617.733op/s ± 72298.403op/s 175561767.036op/s 175615074.820op/s 175668411.955op/s 175683660.559op/s 0.11% -7.850 87.937 0.10% 12628.764op/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.911µs; 3.912µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255622879.389op/s; 255674955.812op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [78.402µs; 78.572µs] or [-0.108%; +0.108%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12728036.701op/s; 12755457.054op/s] or [-0.108%; +0.108%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [72.102µs; 72.212µs] or [-0.076%; +0.076%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13848471.256op/s; 13869585.864op/s] or [-0.076%; +0.076%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.015%; +0.015%] None None None
credit_card/is_card_number/37828224631 throughput [255560178.386op/s; 255635782.591op/s] or [-0.015%; +0.015%] None None None
credit_card/is_card_number/378282246310005 execution_time [68.525µs; 68.628µs] or [-0.075%; +0.075%] None None None
credit_card/is_card_number/378282246310005 throughput [14571772.626op/s; 14593534.364op/s] or [-0.075%; +0.075%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [44.917µs; 44.944µs] or [-0.030%; +0.030%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [22249860.217op/s; 22263331.781op/s] or [-0.030%; +0.030%] None None None
credit_card/is_card_number/x371413321323331 execution_time [5.700µs; 5.701µs] or [-0.014%; +0.014%] None None None
credit_card/is_card_number/x371413321323331 throughput [175394425.376op/s; 175443660.850op/s] or [-0.014%; +0.014%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ throughput [255576041.358op/s; 255633553.527op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [62.207µs; 62.347µs] or [-0.112%; +0.112%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [16040398.840op/s; 16076386.282op/s] or [-0.112%; +0.112%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.798µs; 53.830µs] or [-0.030%; +0.030%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18576912.004op/s; 18588313.946op/s] or [-0.031%; +0.031%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.911µs; 3.912µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255637270.352op/s; 255686167.539op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.413µs; 50.455µs] or [-0.042%; +0.042%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19819651.200op/s; 19836378.346op/s] or [-0.042%; +0.042%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [44.916µs; 44.946µs] or [-0.033%; +0.033%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [22249043.375op/s; 22263696.596op/s] or [-0.033%; +0.033%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [5.698µs; 5.700µs] or [-0.014%; +0.014%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [175445197.888op/s; 175494701.732op/s] or [-0.014%; +0.014%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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 3.990ms 3.995ms ± 0.006ms 3.994ms ± 0.001ms 3.996ms 3.998ms 4.002ms 4.077ms 2.07% 11.611 150.402 0.15% 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 [3.994ms; 3.996ms] or [-0.021%; +0.021%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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.431µs 146.264µs ± 1.569µs 146.026µs ± 0.476µs 146.557µs 147.845µs 153.944µs 160.596µs 9.98% 5.402 40.399 1.07% 0.111µ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.046µs; 146.481µs] or [-0.149%; +0.149%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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.794ms 13.837ms ± 0.026ms 13.834ms ± 0.009ms 13.843ms 13.868ms 13.954ms 14.014ms 1.30% 3.144 15.206 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.834ms; 13.841ms] or [-0.026%; +0.026%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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 60.291ms 60.930ms ± 1.744ms 60.705ms ± 0.067ms 60.779ms 60.971ms 69.073ms 79.994ms 31.78% 8.889 84.121 2.86% 0.123ms 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 [60.688ms; 61.171ms] or [-0.397%; +0.397%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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.617ms 10.646ms ± 0.015ms 10.644ms ± 0.009ms 10.654ms 10.667ms 10.679ms 10.743ms 0.93% 1.897 9.168 0.15% 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.644ms; 10.648ms] or [-0.020%; +0.020%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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 161.190µs 162.055µs ± 0.318µs 162.015µs ± 0.150µs 162.180µs 162.605µs 163.275µs 163.489µs 0.91% 1.539 5.060 0.20% 0.022µ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 [162.011µs; 162.099µs] or [-0.027%; +0.027%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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.211µs 3.264µs ± 1.440µs 3.043µs ± 0.032µs 3.072µs 3.717µs 14.194µs 14.858µs 388.19% 7.293 54.569 44.02% 0.102µ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.064µs; 3.463µs] or [-6.115%; +6.115%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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.687ms 9.934ms ± 0.064ms 9.931ms ± 0.031ms 9.962ms 10.029ms 10.103ms 10.192ms 2.64% -0.092 3.864 0.64% 0.004ms 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.926ms; 9.943ms] or [-0.089%; +0.089%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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.726µs 25.395µs ± 8.961µs 18.445µs ± 0.586µs 32.717µs 41.126µs 48.673µs 65.112µs 253.01% 1.043 1.169 35.20% 0.634µ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.153µs; 26.637µs] or [-4.890%; +4.890%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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.341µs 2.411µs ± 0.019µs 2.410µs ± 0.005µs 2.420µs 2.444µs 2.449µs 2.454µs 1.80% -1.258 3.771 0.78% 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.409µs; 2.414µs] or [-0.109%; +0.109%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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 243.612ns 256.152ns ± 14.418ns 249.163ns ± 3.959ns 265.113ns 287.656ns 293.757ns 297.207ns 19.28% 1.229 0.230 5.61% 1.019ns 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 [254.154ns; 258.151ns] or [-0.780%; +0.780%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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.919µs 534.914µs ± 0.577µs 534.878µs ± 0.298µs 535.168µs 535.618µs 536.094µs 540.263µs 1.01% 4.023 35.168 0.11% 0.041µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1850951.580op/s 1869462.067op/s ± 2008.465op/s 1869583.672op/s ± 1040.211op/s 1870681.906op/s 1872014.560op/s 1872493.556op/s 1872942.861op/s 0.18% -3.956 34.364 0.11% 142.020op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.268µs 380.902µs ± 0.282µs 380.893µs ± 0.202µs 381.114µs 381.354µs 381.573µs 381.684µs 0.21% 0.187 -0.373 0.07% 0.020µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2619970.440op/s 2625348.612op/s ± 1943.060op/s 2625408.037op/s ± 1395.778op/s 2626726.491op/s 2628349.356op/s 2629394.246op/s 2629727.607op/s 0.16% -0.183 -0.376 0.07% 137.395op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.838µs 190.354µs ± 0.212µs 190.353µs ± 0.154µs 190.495µs 190.691µs 190.813µs 191.074µs 0.38% 0.223 -0.104 0.11% 0.015µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5233568.106op/s 5253389.135op/s ± 5840.716op/s 5253410.019op/s ± 4242.473op/s 5257738.557op/s 5262959.699op/s 5265138.668op/s 5267650.682op/s 0.27% -0.217 -0.111 0.11% 413.001op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.960µs 37.216µs ± 0.084µs 37.229µs ± 0.050µs 37.271µs 37.326µs 37.371µs 37.502µs 0.73% -0.543 0.816 0.22% 0.006µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26665274.324op/s 26870408.404op/s ± 60567.999op/s 26860769.774op/s ± 36048.166op/s 26904973.848op/s 26987687.857op/s 27039605.313op/s 27056154.319op/s 0.73% 0.560 0.823 0.22% 4282.804op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.753µs 45.886µs ± 0.101µs 45.886µs ± 0.037µs 45.919µs 45.974µs 46.000µs 47.095µs 2.64% 8.643 101.751 0.22% 0.007µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21233546.361op/s 21793100.130op/s ± 46990.419op/s 21793303.114op/s ± 17382.419op/s 21814902.972op/s 21835791.524op/s 21849910.866op/s 21856628.290op/s 0.29% -8.453 98.770 0.22% 3322.724op/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.834µs; 534.994µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1869183.713op/s; 1869740.421op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.863µs; 380.941µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2625079.323op/s; 2625617.902op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.324µs; 190.383µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5252579.668op/s; 5254198.602op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.204µs; 37.227µs] or [-0.031%; +0.031%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26862014.262op/s; 26878802.546op/s] or [-0.031%; +0.031%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.872µs; 45.900µs] or [-0.030%; +0.030%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21786587.710op/s; 21799612.550op/s] or [-0.030%; +0.030%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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.103µs 90.441µs ± 0.253µs 90.441µs ± 0.083µs 90.515µs 90.637µs 90.780µs 93.441µs 3.32% 8.369 97.550 0.28% 0.018µ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.406µs; 90.476µs] or [-0.039%; +0.039%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c4720f8 1767729395 dsn/cxx-cancel
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 186.346ns 189.105ns ± 2.224ns 188.756ns ± 1.424ns 190.114ns 193.205ns 195.375ns 199.840ns 5.87% 1.420 3.379 1.17% 0.157ns 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 [188.797ns; 189.413ns] or [-0.163%; +0.163%] None None None

Baseline

Omitted due to size.

@danielsn danielsn force-pushed the dsn/cxx-cancel branch 2 times, most recently from 86bcd4a to 911b5a0 Compare December 19, 2025 17:57
Copy link
Contributor

@morrisonlevi morrisonlevi left a comment

Choose a reason for hiding this comment

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

Looks straightforward to me. Does cbindgen automatically make a send_profile_with_cancellation method in C++ from this?

@dd-octo-sts
Copy link

dd-octo-sts bot commented Jan 6, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 87.06 MB 87.06 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.50 MB 7.50 MB 0% (0 B) 👌
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 58.86 MB 58.86 MB 0% (0 B) 👌
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 8.49 MB 8.49 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.62 MB 9.62 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.74 MB 100.74 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 20.05 MB 20.05 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 74.31 KB 74.31 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 142.00 MB 142.00 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 747.80 MB 747.80 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 6.41 MB 6.41 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 74.31 KB 74.31 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 19.89 MB 19.89 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 38.98 MB 38.98 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 17.11 MB 17.11 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 75.46 KB 75.46 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 144.70 MB 144.71 MB +0% (+8.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 736.69 MB 736.69 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 4.92 MB 4.92 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 75.46 KB 75.46 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 21.17 MB 21.17 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 36.78 MB 36.78 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 75.34 MB 75.34 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.93 MB 8.93 MB 0% (0 B) 👌
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 60.20 MB 60.20 MB 0% (0 B) 👌
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 9.54 MB 9.54 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 94.90 MB 94.90 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.35 MB 10.35 MB 0% (0 B) 👌

@danielsn
Copy link
Contributor Author

danielsn commented Jan 6, 2026

/merge

1 similar comment
@danielsn
Copy link
Contributor Author

danielsn commented Jan 6, 2026

/merge

@dd-devflow-routing-codex
Copy link

dd-devflow-routing-codex bot commented Jan 6, 2026

View all feedbacks in Devflow UI.

2026-01-06 20:31:48 UTC ℹ️ Start processing command /merge


2026-01-06 20:31:53 UTC ℹ️ MergeQueue: pull request added to the queue

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


2026-01-06 20:57:28 UTC ℹ️ MergeQueue: This merge request was merged

@dd-devflow-routing-codex
Copy link

dd-devflow-routing-codex bot commented Jan 6, 2026

View all feedbacks in Devflow UI.

2026-01-06 20:31:50 UTC ℹ️ Start processing command /merge


2026-01-06 20:31:52 UTC ❌ MergeQueue

PR already in the queue with status queued

@dd-mergequeue dd-mergequeue bot merged commit ee82a73 into main Jan 6, 2026
38 of 39 checks passed
@dd-mergequeue dd-mergequeue bot deleted the dsn/cxx-cancel branch January 6, 2026 20:57
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.

4 participants