Skip to content

Conversation

@danielsn
Copy link
Contributor

@danielsn danielsn commented Dec 16, 2025

Marked draft because we want Reqwest to merge named pipe support before we merge this

What does this PR do?

  • Uses reqwest to send profiles instead of hyper.
  • Adds a bunch of tests
  • First class support for a "file://" endpoint for debugging/testing purposes
  • Updates the CXX api to support cancelation tokens
  • Updates the C FFI to handle the new API

Motivation

The hyper code has to handle a lot of lower level issues and is therefore more complex.
This also simplifies the API: Instead of creating and then uploading a reqwest, there is a single send function

Additional Notes

The API changes are as follows:

  1. Remove unused "files_to_export_unmodified" field
  2. Merges the build and send steps, avoiding creating unnecessary objects
  3. First class support for a "file://" endpoint for debugging/testing purposes
    Otherwise, the API should not substantially change

@pr-commenter
Copy link

pr-commenter bot commented Dec 16, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-12-19 00:23:17

Comparing candidate commit 8e585fe in PR branch dsn/reqwest with baseline commit 5974f2e in branch main.

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

scenario:single_flag_killswitch/rules-based

  • 🟥 execution_time [+18.518ns; +23.630ns] or [+9.760%; +12.455%]

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 8e585fe 1766102833 dsn/reqwest
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 537.114µs 537.881µs ± 0.592µs 537.758µs ± 0.243µs 538.049µs 538.497µs 540.194µs 542.240µs 0.83% 3.393 17.459 0.11% 0.042µ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 [537.798µs; 537.963µs] or [-0.015%; +0.015%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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 534.515µs 535.553µs ± 0.639µs 535.447µs ± 0.321µs 535.836µs 536.377µs 537.054µs 541.005µs 1.04% 3.666 26.598 0.12% 0.045µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1848410.546op/s 1867232.959op/s ± 2219.678op/s 1867598.987op/s ± 1121.939op/s 1868582.330op/s 1869781.509op/s 1870367.225op/s 1870855.917op/s 0.17% -3.612 26.005 0.12% 156.955op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.310µs 380.903µs ± 0.294µs 380.891µs ± 0.200µs 381.082µs 381.409µs 381.644µs 381.878µs 0.26% 0.524 0.346 0.08% 0.021µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2618634.981op/s 2625344.594op/s ± 2024.689op/s 2625420.923op/s ± 1379.926op/s 2626827.515op/s 2628293.806op/s 2629201.376op/s 2629430.877op/s 0.15% -0.519 0.337 0.08% 143.167op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.896µs 190.430µs ± 0.231µs 190.406µs ± 0.148µs 190.579µs 190.821µs 191.007µs 191.267µs 0.45% 0.461 0.479 0.12% 0.016µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5228287.826op/s 5251282.935op/s ± 6361.830op/s 5251924.376op/s ± 4073.984op/s 5255419.981op/s 5260965.790op/s 5263956.595op/s 5266034.670op/s 0.27% -0.453 0.465 0.12% 449.849op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.314µs 37.442µs ± 0.051µs 37.439µs ± 0.029µs 37.468µs 37.544µs 37.586µs 37.616µs 0.47% 0.487 0.868 0.14% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26584326.359op/s 26708299.383op/s ± 36169.954op/s 26709976.281op/s ± 20706.333op/s 26731215.349op/s 26769511.391op/s 26784066.798op/s 26799493.730op/s 0.34% -0.476 0.855 0.14% 2557.602op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.814µs 45.908µs ± 0.044µs 45.904µs ± 0.030µs 45.933µs 45.995µs 46.027µs 46.034µs 0.28% 0.546 0.191 0.09% 0.003µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21723199.753op/s 21782946.972op/s ± 20644.494op/s 21784518.208op/s ± 14046.148op/s 21799008.389op/s 21811241.460op/s 21822014.274op/s 21827318.050op/s 0.20% -0.540 0.184 0.09% 1459.786op/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 [535.464µs; 535.641µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1866925.333op/s; 1867540.585op/s] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.862µs; 380.943µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2625063.992op/s; 2625625.196op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.398µs; 190.462µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5250401.246op/s; 5252164.623op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.435µs; 37.449µs] or [-0.019%; +0.019%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26703286.576op/s; 26713312.191op/s] or [-0.019%; +0.019%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.901µs; 45.914µs] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21780085.844op/s; 21785808.100op/s] or [-0.013%; +0.013%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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.878ms 10.152ms ± 0.069ms 10.155ms ± 0.037ms 10.189ms 10.269ms 10.312ms 10.360ms 2.03% -0.503 2.026 0.68% 0.005ms 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 [10.143ms; 10.162ms] or [-0.095%; +0.095%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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.589ms 10.617ms ± 0.015ms 10.615ms ± 0.009ms 10.624ms 10.641ms 10.671ms 10.717ms 0.96% 1.978 9.252 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.615ms; 10.619ms] or [-0.020%; +0.020%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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.912µs ± 0.002µs 3.913µs ± 0.002µs 3.914µs 3.916µs 3.917µs 3.918µs 0.12% -1.600 9.260 0.06% 0.000µs 1 200
credit_card/is_card_number/ throughput 255254937.491op/s 255593746.982op/s ± 161993.892op/s 255568905.945op/s ± 101206.219op/s 255694246.935op/s 255837123.597op/s 255889142.006op/s 256700232.456op/s 0.44% 1.617 9.394 0.06% 11454.698op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.069µs 77.717µs ± 0.432µs 77.675µs ± 0.286µs 77.959µs 78.513µs 78.768µs 79.273µs 2.06% 0.660 0.214 0.55% 0.031µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12614692.244op/s 12867610.926op/s ± 71249.411op/s 12874223.237op/s ± 47524.090op/s 12921454.803op/s 12965829.657op/s 12969488.602op/s 12975370.032op/s 0.79% -0.631 0.144 0.55% 5038.094op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 70.644µs 71.162µs ± 0.417µs 71.061µs ± 0.233µs 71.339µs 72.075µs 72.517µs 73.106µs 2.88% 1.797 4.287 0.59% 0.030µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13678681.561op/s 14053008.760op/s ± 81582.260op/s 14072495.308op/s ± 46070.917op/s 14109614.998op/s 14140798.398op/s 14151968.748op/s 14155523.626op/s 0.59% -1.744 4.022 0.58% 5768.737op/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.916µs 3.917µs 0.15% -1.739 12.303 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255286283.050op/s 255686271.018op/s ± 171924.033op/s 255681143.518op/s ± 104995.719op/s 255795936.268op/s 255926580.760op/s 255970275.223op/s 256935784.040op/s 0.49% 1.762 12.496 0.07% 12156.865op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 67.414µs 67.884µs ± 0.400µs 67.778µs ± 0.245µs 68.041µs 68.608µs 69.401µs 69.780µs 2.95% 1.617 3.801 0.59% 0.028µs 1 200
credit_card/is_card_number/378282246310005 throughput 14330788.489op/s 14731592.694op/s ± 86021.844op/s 14754086.757op/s ± 53430.282op/s 14801619.649op/s 14824126.488op/s 14831025.142op/s 14833727.446op/s 0.54% -1.562 3.524 0.58% 6082.663op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 44.530µs 45.161µs ± 0.265µs 45.177µs ± 0.203µs 45.399µs 45.505µs 45.561µs 45.567µs 0.86% -0.527 -0.548 0.58% 0.019µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21945493.720op/s 22143761.662op/s ± 130213.591op/s 22134970.778op/s ± 99470.378op/s 22230430.682op/s 22402752.539op/s 22451000.618op/s 22456888.843op/s 1.45% 0.548 -0.516 0.59% 9207.491op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.027µs 6.034µs ± 0.004µs 6.034µs ± 0.002µs 6.037µs 6.042µs 6.045µs 6.047µs 0.22% 0.599 0.266 0.07% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 165364326.953op/s 165714881.514op/s ± 110046.448op/s 165729839.658op/s ± 68352.043op/s 165788696.955op/s 165870018.428op/s 165916684.038op/s 165927785.664op/s 0.12% -0.596 0.259 0.07% 7781.459op/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.001µs 3.913µs 3.917µs 3.921µs 3.931µs 0.49% 0.625 12.833 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254398577.279op/s 255632481.513op/s ± 206072.508op/s 255643561.663op/s ± 92831.844op/s 255746625.940op/s 255865489.896op/s 255923345.611op/s 256880420.456op/s 0.48% -0.590 12.848 0.08% 14571.527op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.404µs 65.491µs ± 0.281µs 65.542µs ± 0.185µs 65.702µs 65.840µs 65.904µs 66.000µs 0.70% -0.877 0.640 0.43% 0.020µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15151417.623op/s 15269437.845op/s ± 65689.207op/s 15257372.443op/s ± 43130.004op/s 15313693.888op/s 15405922.156op/s 15448792.685op/s 15526867.722op/s 1.77% 0.901 0.715 0.43% 4644.928op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 52.949µs 53.017µs ± 0.036µs 53.015µs ± 0.022µs 53.037µs 53.078µs 53.107µs 53.159µs 0.27% 0.618 0.838 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18811506.909op/s 18862055.414op/s ± 12811.706op/s 18862517.349op/s ± 7780.031op/s 18870174.275op/s 18880779.084op/s 18885280.435op/s 18886143.237op/s 0.13% -0.613 0.825 0.07% 905.924op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.893µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.916µs 3.920µs 3.921µs 0.22% -0.890 7.211 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255059096.175op/s 255623792.004op/s ± 193855.316op/s 255623261.717op/s ± 125444.676op/s 255750285.262op/s 255890750.752op/s 255948392.708op/s 256850915.328op/s 0.48% 0.909 7.324 0.08% 13707.641op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 49.734µs 49.800µs ± 0.028µs 49.798µs ± 0.017µs 49.816µs 49.851µs 49.879µs 49.896µs 0.20% 0.470 0.657 0.06% 0.002µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 20041622.761op/s 20080217.518op/s ± 11456.572op/s 20081181.924op/s ± 6697.790op/s 20087731.418op/s 20098160.516op/s 20103510.198op/s 20106844.370op/s 0.13% -0.466 0.651 0.06% 810.102op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 44.518µs 45.079µs ± 0.297µs 45.113µs ± 0.238µs 45.335µs 45.483µs 45.507µs 45.557µs 0.98% -0.324 -0.994 0.66% 0.021µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21950525.690op/s 22184033.346op/s ± 146554.404op/s 22166489.410op/s ± 117422.646op/s 22289915.849op/s 22445749.888op/s 22457922.918op/s 22463053.589op/s 1.34% 0.342 -0.981 0.66% 10362.961op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.026µs 6.037µs ± 0.018µs 6.035µs ± 0.003µs 6.037µs 6.042µs 6.105µs 6.242µs 3.43% 7.965 76.680 0.31% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 160211711.650op/s 165638847.643op/s ± 495513.275op/s 165709824.187op/s ± 68894.313op/s 165778029.079op/s 165872845.073op/s 165896532.106op/s 165952832.317op/s 0.15% -7.829 74.199 0.30% 35038.080op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.912µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ throughput [255571296.187op/s; 255616197.777op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [77.657µs; 77.777µs] or [-0.077%; +0.077%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12857736.443op/s; 12877485.409op/s] or [-0.077%; +0.077%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.104µs; 71.219µs] or [-0.081%; +0.081%] None None None
credit_card/is_card_number/ 378282246310005 throughput [14041702.243op/s; 14064315.277op/s] or [-0.080%; +0.080%] None None None
credit_card/is_card_number/37828224631 execution_time [3.911µs; 3.911µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631 throughput [255662444.000op/s; 255710098.035op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/378282246310005 execution_time [67.828µs; 67.939µs] or [-0.082%; +0.082%] None None None
credit_card/is_card_number/378282246310005 throughput [14719670.894op/s; 14743514.495op/s] or [-0.081%; +0.081%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.124µs; 45.198µs] or [-0.081%; +0.081%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [22125715.310op/s; 22161808.013op/s] or [-0.081%; +0.081%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.034µs; 6.035µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/x371413321323331 throughput [165699630.135op/s; 165730132.894op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.911µs; 3.912µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ throughput [255603921.845op/s; 255661041.181op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.453µs; 65.530µs] or [-0.059%; +0.059%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15260333.953op/s; 15278541.738op/s] or [-0.060%; +0.060%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.012µs; 53.022µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18860279.835op/s; 18863830.993op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.912µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255596925.522op/s; 255650658.486op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [49.796µs; 49.804µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [20078629.747op/s; 20081805.288op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.038µs; 45.121µs] or [-0.091%; +0.091%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [22163722.315op/s; 22204344.377op/s] or [-0.092%; +0.092%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.035µs; 6.040µs] or [-0.042%; +0.042%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165570174.269op/s; 165707521.018op/s] or [-0.041%; +0.041%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching serializing traces from their internal representation to msgpack execution_time 14.083ms 14.127ms ± 0.032ms 14.121ms ± 0.014ms 14.136ms 14.170ms 14.245ms 14.337ms 1.53% 2.842 12.350 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 [14.122ms; 14.131ms] or [-0.031%; +0.031%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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.159µs 34.811µs ± 1.142µs 34.287µs ± 0.035µs 34.336µs 37.250µs 37.312µs 38.418µs 12.05% 1.716 1.037 3.27% 0.081µ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.652µs; 34.969µs] or [-0.455%; +0.455%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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 61.014ms 61.544ms ± 2.169ms 61.272ms ± 0.057ms 61.332ms 61.509ms 74.107ms 81.543ms 33.08% 8.337 69.279 3.52% 0.153ms 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 [61.244ms; 61.845ms] or [-0.488%; +0.488%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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.302µs 3.216µs ± 1.437µs 3.043µs ± 0.022µs 3.064µs 3.416µs 13.862µs 15.438µs 407.39% 7.564 57.724 44.58% 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.017µs; 3.415µs] or [-6.194%; +6.194%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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 190.018ns 210.804ns ± 18.264ns 206.808ns ± 16.323ns 229.584ns 233.739ns 236.155ns 236.790ns 14.50% 0.078 -1.853 8.64% 1.291ns 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 [208.273ns; 213.335ns] or [-1.201%; +1.201%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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 242.129ns 255.396ns ± 13.474ns 249.963ns ± 5.322ns 260.003ns 281.966ns 293.429ns 296.500ns 18.62% 1.289 0.653 5.26% 0.953ns 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 [253.528ns; 257.263ns] or [-0.731%; +0.731%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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.260µs 204.884µs ± 0.418µs 204.795µs ± 0.280µs 205.163µs 205.698µs 205.991µs 206.162µs 0.67% 0.800 0.019 0.20% 0.030µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4850551.239op/s 4880820.636op/s ± 9936.981op/s 4882942.023op/s ± 6677.137op/s 4888294.385op/s 4893355.726op/s 4894834.015op/s 4895727.618op/s 0.26% -0.791 0.001 0.20% 702.651op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.587µs 18.654µs ± 0.049µs 18.642µs ± 0.023µs 18.674µs 18.740µs 18.836µs 18.868µs 1.21% 1.739 3.968 0.26% 0.003µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 52998764.410op/s 53607277.390op/s ± 140688.171op/s 53641483.961op/s ± 66069.900op/s 53689210.905op/s 53766964.823op/s 53790091.084op/s 53799988.966op/s 0.30% -1.716 3.864 0.26% 9948.156op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.803µs 10.895µs ± 0.043µs 10.894µs ± 0.029µs 10.920µs 10.965µs 10.991µs 11.031µs 1.26% 0.217 -0.185 0.40% 0.003µs 1 200
normalization/normalize_name/normalize_name/good throughput 90650641.493op/s 91790633.997op/s ± 365686.151op/s 91796792.282op/s ± 240254.696op/s 92046150.610op/s 92379035.774op/s 92530485.790op/s 92568593.328op/s 0.84% -0.196 -0.207 0.40% 25857.916op/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.827µs; 204.942µs] or [-0.028%; +0.028%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4879443.466op/s; 4882197.806op/s] or [-0.028%; +0.028%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.647µs; 18.661µs] or [-0.037%; +0.037%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53587779.363op/s; 53626775.417op/s] or [-0.036%; +0.036%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.889µs; 10.901µs] or [-0.055%; +0.055%] None None None
normalization/normalize_name/normalize_name/good throughput [91739953.414op/s; 91841314.581op/s] or [-0.055%; +0.055%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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 5.044µs 5.132µs ± 0.049µs 5.126µs ± 0.041µs 5.170µs 5.216µs 5.219µs 5.221µs 1.84% 0.174 -1.062 0.96% 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.125µs; 5.139µs] or [-0.133%; +0.133%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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.499µs 146.924µs ± 1.670µs 146.630µs ± 0.575µs 147.327µs 148.658µs 154.129µs 161.379µs 10.06% 4.640 32.158 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.693µs; 147.156µs] or [-0.158%; +0.158%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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.918ms 3.925ms ± 0.007ms 3.924ms ± 0.002ms 3.926ms 3.929ms 3.935ms 4.014ms 2.28% 10.827 137.008 0.18% 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.924ms; 3.926ms] or [-0.024%; +0.024%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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.342µs 2.400µs ± 0.017µs 2.398µs ± 0.005µs 2.404µs 2.434µs 2.442µs 2.451µs 2.20% -0.226 2.332 0.72% 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.397µs; 2.402µs] or [-0.100%; +0.100%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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.955µs 162.673µs ± 0.665µs 162.597µs ± 0.156µs 162.748µs 163.167µs 163.579µs 171.280µs 5.34% 10.985 139.105 0.41% 0.047µ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.581µs; 162.766µs] or [-0.057%; +0.057%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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.748µs 25.326µs ± 9.332µs 17.957µs ± 0.135µs 33.606µs 41.257µs 48.720µs 66.697µs 271.42% 0.909 0.420 36.76% 0.660µ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.032µs; 26.619µs] or [-5.107%; +5.107%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8e585fe 1766102833 dsn/reqwest
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.225µs 90.938µs ± 0.176µs 90.942µs ± 0.126µs 91.045µs 91.171µs 91.324µs 92.071µs 1.24% 1.154 8.355 0.19% 0.012µ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.913µs; 90.962µs] or [-0.027%; +0.027%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Dec 16, 2025

Codecov Report

❌ Patch coverage is 87.81163% with 88 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.47%. Comparing base (5974f2e) to head (8e585fe).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1412      +/-   ##
==========================================
- Coverage   71.51%   71.47%   -0.05%     
==========================================
  Files         411      412       +1     
  Lines       66083    66093      +10     
==========================================
- Hits        47260    47239      -21     
- Misses      18823    18854      +31     
Components Coverage Δ
libdd-crashtracker 58.80% <ø> (+0.15%) ⬆️
libdd-crashtracker-ffi 15.43% <ø> (+0.71%) ⬆️
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 85.76% <ø> (+0.09%) ⬆️
libdd-data-pipeline-ffi 76.28% <ø> (+0.52%) ⬆️
libdd-common 80.73% <ø> (-0.61%) ⬇️
libdd-common-ffi 73.91% <ø> (-1.05%) ⬇️
libdd-telemetry 59.95% <ø> (ø)
libdd-telemetry-ffi 21.17% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.71% <ø> (ø)
libdd-profiling 82.10% <87.81%> (-0.24%) ⬇️
libdd-profiling-ffi 64.52% <98.18%> (-6.48%) ⬇️
datadog-sidecar 35.78% <ø> (-0.40%) ⬇️
datdog-sidecar-ffi 10.38% <ø> (-2.00%) ⬇️
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% <ø> (-0.15%) ⬇️
datadog-tracer-flare 62.06% <ø> (+1.00%) ⬆️
libdd-log 75.57% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@danielsn danielsn force-pushed the dsn/reqwest branch 2 times, most recently from 40c9600 to 96f8a4e Compare December 17, 2025 15:40
@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Dec 17, 2025

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 8e585fe | Docs | Datadog PR Page | Was this helpful? Give us feedback!

@dd-octo-sts
Copy link

dd-octo-sts bot commented Dec 17, 2025

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.50 MB 8.44 MB +12.48% (+959.96 KB) 🚨
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 87.06 MB 94.61 MB +8.67% (+7.55 MB) 🚨
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 58.87 MB 63.97 MB +8.67% (+5.10 MB) 🚨
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 8.49 MB 9.60 MB +13.07% (+1.11 MB) 🚨
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.62 MB 10.79 MB +12.23% (+1.17 MB) 🚨
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.73 MB 109.18 MB +8.38% (+8.44 MB) 🚨
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 20.06 MB 22.12 MB +10.25% (+2.05 MB) 🚨
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 74.31 KB 73.44 KB --1.16% (-884 B) 💪
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 142.05 MB 157.95 MB +11.19% (+15.90 MB) 🚨
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 748.19 MB 787.41 MB +5.24% (+39.22 MB) 🚨
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 6.40 MB 7.10 MB +10.87% (+713.50 KB) 🚨
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 74.31 KB 73.44 KB --1.16% (-884 B) 💪
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 19.90 MB 21.31 MB +7.10% (+1.41 MB) 🚨
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 38.99 MB 41.90 MB +7.48% (+2.91 MB) 🚨
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 17.12 MB 19.00 MB +11.00% (+1.88 MB) 🚨
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 75.46 KB 74.58 KB --1.16% (-898 B) 💪
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 144.70 MB 161.29 MB +11.46% (+16.58 MB) 🚨
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 736.83 MB 775.77 MB +5.28% (+38.94 MB) 🚨
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 4.92 MB 5.51 MB +12.05% (+608.00 KB) 🚨
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 75.46 KB 74.58 KB --1.16% (-898 B) 💪
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 21.16 MB 22.74 MB +7.45% (+1.57 MB) 🚨
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 36.77 MB 39.58 MB +7.65% (+2.81 MB) 🚨
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 75.34 MB 82.58 MB +9.61% (+7.24 MB) 🚨
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.93 MB 10.02 MB +12.24% (+1.09 MB) 🚨
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 60.20 MB 65.62 MB +9.00% (+5.41 MB) 🚨
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 9.54 MB 10.73 MB +12.45% (+1.18 MB) 🚨
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 94.90 MB 103.37 MB +8.93% (+8.47 MB) 🚨
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.35 MB 11.62 MB +12.23% (+1.26 MB) 🚨

@danielsn danielsn force-pushed the dsn/reqwest branch 2 times, most recently from 69928f9 to 8d5d510 Compare December 17, 2025 21:15
@danielsn danielsn force-pushed the dsn/reqwest branch 2 times, most recently from d7b6fd3 to ce0b11d Compare December 18, 2025 05:05
parking_lot = { version = "0.12", default-features = false }
prost = "0.13.5"
rand = "0.8"
reqwest = { git = "https://github.com/seanmonstar/reqwest", branch = "windows-named-pipes" , features = ["multipart", "rustls-tls"], default-features = false }
Copy link
Member

Choose a reason for hiding this comment

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

Should def wait before merging until this branch got merged and released by upstream

Comment on lines +82 to +88
// File dump endpoint (debugging) - uses platform-specific local transport
Some("file") => {
let output_path = libdd_common::decode_uri_path_in_authority(&endpoint.url)
.context("Failed to decode file path from URI")?;
builder = spawn_dump_server_with_builder(builder, output_path)?;
"http://localhost/v1/input".to_string()
}
Copy link
Member

Choose a reason for hiding this comment

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

Should we maybe "guard" this behind a feature flag? I like the idea of being able to dump HTTP request header and body to a file, but I am not sure we should have this in release builds. On the other hand, I have no hard feelings against and it seems cool to be able to debug this...
I am unsure.

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