Skip to content

(WIP) ekump/APMSP-2516 implement http common component#1624

Draft
ekump wants to merge 13 commits intomainfrom
ekump/APMSP-2516-implement-http-common-component
Draft

(WIP) ekump/APMSP-2516 implement http common component#1624
ekump wants to merge 13 commits intomainfrom
ekump/APMSP-2516-implement-http-common-component

Conversation

@ekump
Copy link
Contributor

@ekump ekump commented Feb 23, 2026

What does this PR do?

A generic HTTP client that can be used by other languages.

NOTE: This PR will be updated to work with the shared runtime component as soon as it lands before being ready for proper review because 🍴

Motivation

What inspired you to submit this pull request?

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Describe here in detail how the change can be validated.

@ekump ekump changed the title (WIP} ekump/APMSP-2516 implement http common component (WIP) ekump/APMSP-2516 implement http common component Feb 23, 2026
@github-actions
Copy link

github-actions bot commented Feb 23, 2026

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/ekump/APMSP-2516-implement-http-common-component

Summary by Rule

Rule Base Branch PR Branch Change
unwrap_used 3 3 No change (0%)
Total 3 3 No change (0%)

Annotation Counts by File

File Base Branch PR Branch Change
libdd-common/src/lib.rs 3 3 No change (0%)

Annotation Stats by Crate

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

About This Report

This report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality.

@github-actions
Copy link

github-actions bot commented Feb 23, 2026

📚 Documentation Check Results

⚠️ 169 documentation warning(s) found

📦 libdd-common - 169 warning(s)

📦 libdd-http-client - ✅ No warnings


Updated: 2026-02-26 13:15:40 UTC | Commit: aac7a73 | missing-docs job results

@github-actions
Copy link

github-actions bot commented Feb 23, 2026

🔒 Cargo Deny Results

No issues found!

📦 libdd-common - ✅ No issues

📦 libdd-http-client - ✅ No issues


Updated: 2026-02-26 13:18:05 UTC | Commit: aac7a73 | dependency-check job results

@ekump ekump force-pushed the ekump/APMSP-2516-implement-http-common-component branch 2 times, most recently from 919247e to 0c989d9 Compare February 23, 2026 17:34
@pr-commenter
Copy link

pr-commenter bot commented Feb 23, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-02-26 13:30:29

Comparing candidate commit 5d99312 in PR branch ekump/APMSP-2516-implement-http-common-component with baseline commit 40898a4 in branch main.

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

scenario:normalization/normalize_service/normalize_service/[empty string]

  • 🟩 execution_time [-23.161µs; -23.117µs] or [-38.130%; -38.059%]
  • 🟩 throughput [+10122773.167op/s; +10139085.313op/s] or [+61.486%; +61.586%]

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 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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.919µs 3.920µs 3.920µs 0.19% -1.076 8.423 0.08% 0.000µs 1 200
credit_card/is_card_number/ throughput 255084066.966op/s 255544637.706op/s ± 208540.171op/s 255571823.207op/s ± 132103.246op/s 255678870.543op/s 255788718.360op/s 255888885.501op/s 256936997.359op/s 0.53% 1.099 8.590 0.08% 14746.017op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 76.470µs 77.803µs ± 0.567µs 77.788µs ± 0.420µs 78.210µs 78.781µs 79.048µs 79.339µs 1.99% 0.123 -0.447 0.73% 0.040µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12604160.194op/s 12853726.214op/s ± 93609.774op/s 12855465.469op/s ± 69225.921op/s 12921926.591op/s 12993843.004op/s 13058126.530op/s 13077091.278op/s 1.72% -0.090 -0.458 0.73% 6619.211op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 69.888µs 70.862µs ± 0.630µs 70.771µs ± 0.401µs 71.206µs 72.148µs 72.660µs 72.875µs 2.97% 0.862 0.511 0.89% 0.045µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13722146.820op/s 14113062.136op/s ± 124476.900op/s 14130180.579op/s ± 80053.273op/s 14205697.910op/s 14281125.799op/s 14303291.766op/s 14308671.498op/s 1.26% -0.816 0.406 0.88% 8801.846op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.892µs 3.914µs ± 0.009µs 3.914µs ± 0.002µs 3.915µs 3.918µs 3.920µs 3.995µs 2.08% 8.134 74.416 0.22% 0.001µs 1 200
credit_card/is_card_number/37828224631 throughput 250311861.551op/s 255482042.285op/s ± 553758.478op/s 255522193.492op/s ± 129304.355op/s 255658015.195op/s 255772711.814op/s 255870362.092op/s 256919616.225op/s 0.55% -8.066 73.664 0.22% 39156.638op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 66.646µs 67.762µs ± 0.659µs 67.652µs ± 0.462µs 68.172µs 68.891µs 69.780µs 70.055µs 3.55% 0.810 0.523 0.97% 0.047µs 1 200
credit_card/is_card_number/378282246310005 throughput 14274513.753op/s 14758905.914op/s ± 142536.667op/s 14781566.669op/s ± 101660.351op/s 14875440.474op/s 14949443.765op/s 14983465.028op/s 15004587.551op/s 1.51% -0.756 0.383 0.96% 10078.864op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 52.145µs 52.226µs ± 0.038µs 52.223µs ± 0.027µs 52.251µs 52.290µs 52.325µs 52.343µs 0.23% 0.518 0.145 0.07% 0.003µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19104747.550op/s 19147461.040op/s ± 13805.772op/s 19148755.065op/s ± 9740.717op/s 19157332.311op/s 19166947.941op/s 19171313.157op/s 19177204.058op/s 0.15% -0.514 0.138 0.07% 976.216op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.030µs 6.038µs ± 0.008µs 6.037µs ± 0.003µs 6.040µs 6.046µs 6.073µs 6.076µs 0.64% 3.165 11.421 0.13% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 164594737.640op/s 165609566.588op/s ± 212606.174op/s 165648808.421op/s ± 77794.098op/s 165719160.362op/s 165811568.930op/s 165833445.899op/s 165838591.982op/s 0.11% -3.152 11.351 0.13% 15033.527op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.894µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.917µs 3.920µs 3.921µs 0.22% -0.838 6.446 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255025707.609op/s 255563012.852op/s ± 194139.985op/s 255574072.065op/s ± 127901.509op/s 255698635.749op/s 255809016.436op/s 255922756.736op/s 256773867.412op/s 0.47% 0.855 6.555 0.08% 13727.770op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.054µs 64.412µs ± 0.152µs 64.395µs ± 0.095µs 64.498µs 64.665µs 64.840µs 64.873µs 0.74% 0.528 0.345 0.23% 0.011µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15414836.978op/s 15525262.467op/s ± 36509.248op/s 15529275.023op/s ± 22964.828op/s 15551180.958op/s 15576290.885op/s 15596640.686op/s 15611772.838op/s 0.53% -0.513 0.324 0.23% 2581.594op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.018µs 58.273µs ± 0.146µs 58.247µs ± 0.086µs 58.355µs 58.538µs 58.717µs 58.737µs 0.84% 0.803 0.487 0.25% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 17024900.600op/s 17160848.897op/s ± 43019.331op/s 17168144.511op/s ± 25261.170op/s 17190301.662op/s 17221076.382op/s 17230360.038op/s 17235897.203op/s 0.39% -0.789 0.455 0.25% 3041.926op/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.918µs 3.920µs 3.921µs 0.21% -0.454 3.035 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255039601.484op/s 255566034.243op/s ± 204101.596op/s 255573560.921op/s ± 150849.004op/s 255720105.342op/s 255857932.941op/s 255942940.253op/s 256660031.596op/s 0.43% 0.465 3.090 0.08% 14432.162op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.585µs 54.957µs ± 0.266µs 54.922µs ± 0.183µs 55.106µs 55.457µs 55.739µs 55.935µs 1.84% 0.957 0.714 0.48% 0.019µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17877783.347op/s 18196319.299op/s ± 87732.509op/s 18207589.850op/s ± 61008.752op/s 18268341.878op/s 18304401.810op/s 18314826.475op/s 18319892.706op/s 0.62% -0.931 0.636 0.48% 6203.625op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 52.147µs 52.229µs ± 0.051µs 52.220µs ± 0.031µs 52.259µs 52.308µs 52.397µs 52.483µs 0.50% 1.498 4.284 0.10% 0.004µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19053877.717op/s 19146320.902op/s ± 18533.881op/s 19149773.018op/s ± 11414.082op/s 19159451.416op/s 19168274.974op/s 19174478.194op/s 19176529.845op/s 0.14% -1.487 4.222 0.10% 1310.543op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.028µs 6.038µs ± 0.008µs 6.037µs ± 0.003µs 6.041µs 6.046µs 6.070µs 6.107µs 1.16% 4.451 30.896 0.13% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 163744594.798op/s 165608815.137op/s ± 215380.824op/s 165645477.792op/s ± 94809.579op/s 165719293.880op/s 165813880.976op/s 165858737.925op/s 165885244.052op/s 0.14% -4.400 30.299 0.13% 15229.724op/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 [255515736.044op/s; 255573539.368op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [77.724µs; 77.881µs] or [-0.101%; +0.101%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12840752.799op/s; 12866699.628op/s] or [-0.101%; +0.101%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [70.775µs; 70.949µs] or [-0.123%; +0.123%] None None None
credit_card/is_card_number/ 378282246310005 throughput [14095810.835op/s; 14130313.437op/s] or [-0.122%; +0.122%] None None None
credit_card/is_card_number/37828224631 execution_time [3.913µs; 3.915µs] or [-0.031%; +0.031%] None None None
credit_card/is_card_number/37828224631 throughput [255405296.685op/s; 255558787.884op/s] or [-0.030%; +0.030%] None None None
credit_card/is_card_number/378282246310005 execution_time [67.671µs; 67.853µs] or [-0.135%; +0.135%] None None None
credit_card/is_card_number/378282246310005 throughput [14739151.703op/s; 14778660.126op/s] or [-0.134%; +0.134%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.221µs; 52.231µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19145547.693op/s; 19149374.387op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.037µs; 6.039µs] or [-0.018%; +0.018%] None None None
credit_card/is_card_number/x371413321323331 throughput [165580101.417op/s; 165639031.759op/s] or [-0.018%; +0.018%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.913µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ throughput [255536106.917op/s; 255589918.787op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [64.390µs; 64.433µs] or [-0.033%; +0.033%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15520202.637op/s; 15530322.298op/s] or [-0.033%; +0.033%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.252µs; 58.293µs] or [-0.035%; +0.035%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17154886.831op/s; 17166810.962op/s] or [-0.035%; +0.035%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255537747.725op/s; 255594320.761op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.921µs; 54.994µs] or [-0.067%; +0.067%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18184160.417op/s; 18208478.181op/s] or [-0.067%; +0.067%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.222µs; 52.236µs] or [-0.013%; +0.013%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19143752.285op/s; 19148889.520op/s] or [-0.013%; +0.013%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.037µs; 6.039µs] or [-0.018%; +0.018%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165578965.426op/s; 165638664.848op/s] or [-0.018%; +0.018%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 185.130µs 185.660µs ± 0.252µs 185.637µs ± 0.180µs 185.836µs 186.048µs 186.100µs 186.834µs 0.64% 0.496 1.056 0.14% 0.018µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5352343.430op/s 5386209.517op/s ± 7312.171op/s 5386862.224op/s ± 5221.127op/s 5391367.269op/s 5397073.893op/s 5399986.344op/s 5401602.385op/s 0.27% -0.484 1.011 0.14% 517.049op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.883µs 17.976µs ± 0.048µs 17.968µs ± 0.027µs 18.003µs 18.050µs 18.086µs 18.312µs 1.92% 1.923 10.481 0.27% 0.003µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 54608297.891op/s 55628953.182op/s ± 148626.513op/s 55655316.842op/s ± 83270.100op/s 55729299.863op/s 55831285.744op/s 55905165.931op/s 55919659.896op/s 0.47% -1.854 9.899 0.27% 10509.482op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.281µs 10.366µs ± 0.048µs 10.363µs ± 0.033µs 10.396µs 10.459µs 10.488µs 10.517µs 1.49% 0.430 -0.012 0.46% 0.003µs 1 200
normalization/normalize_name/normalize_name/good throughput 95081683.810op/s 96473332.634op/s ± 443917.855op/s 96495883.588op/s ± 302832.874op/s 96796725.044op/s 97125479.479op/s 97230628.627op/s 97269454.812op/s 0.80% -0.406 -0.055 0.46% 31389.733op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time [185.625µs; 185.695µs] or [-0.019%; +0.019%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5385196.120op/s; 5387222.914op/s] or [-0.019%; +0.019%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.970µs; 17.983µs] or [-0.037%; +0.037%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55608354.977op/s; 55649551.387op/s] or [-0.037%; +0.037%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.359µs; 10.372µs] or [-0.064%; +0.064%] None None None
normalization/normalize_name/normalize_name/good throughput [96411809.888op/s; 96534855.379op/s] or [-0.064%; +0.064%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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 188.733ns 191.171ns ± 2.306ns 190.943ns ± 1.429ns 191.994ns 195.010ns 196.599ns 210.704ns 10.35% 3.436 24.292 1.20% 0.163ns 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 [190.852ns; 191.491ns] or [-0.167%; +0.167%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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.338µs 146.676µs ± 1.691µs 146.367µs ± 0.497µs 146.876µs 148.874µs 152.800µs 162.583µs 11.08% 5.545 43.363 1.15% 0.120µ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.441µs; 146.910µs] or [-0.160%; +0.160%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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.588ms 10.617ms ± 0.015ms 10.615ms ± 0.010ms 10.626ms 10.644ms 10.654ms 10.680ms 0.61% 0.757 1.067 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 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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 3.141ms 3.170ms ± 0.020ms 3.168ms ± 0.008ms 3.177ms 3.192ms 3.205ms 3.396ms 7.21% 6.901 73.758 0.64% 0.001ms 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 [3.167ms; 3.172ms] or [-0.089%; +0.089%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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 240.124ns 250.524ns ± 14.057ns 243.779ns ± 2.104ns 250.446ns 282.653ns 291.863ns 296.882ns 21.78% 1.705 1.616 5.60% 0.994ns 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 [248.576ns; 252.472ns] or [-0.778%; +0.778%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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.168µs 3.218µs ± 1.446µs 3.016µs ± 0.030µs 3.043µs 3.647µs 13.963µs 15.043µs 398.78% 7.424 56.041 44.81% 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.018µs; 3.419µs] or [-6.227%; +6.227%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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.262µs 34.699µs ± 0.727µs 34.372µs ± 0.052µs 34.466µs 36.190µs 36.229µs 38.166µs 11.04% 1.901 2.595 2.09% 0.051µ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.599µs; 34.800µs] or [-0.290%; +0.290%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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.980µs 5.061µs ± 0.037µs 5.054µs ± 0.026µs 5.085µs 5.116µs 5.124µs 5.128µs 1.46% -0.054 -0.873 0.72% 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.056µs; 5.066µs] or [-0.100%; +0.100%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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.142ms 4.146ms ± 0.007ms 4.145ms ± 0.001ms 4.147ms 4.150ms 4.155ms 4.234ms 2.15% 11.416 146.190 0.16% 0.000ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [4.146ms; 4.147ms] or [-0.022%; +0.022%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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.931µs 534.732µs ± 0.411µs 534.677µs ± 0.248µs 534.935µs 535.470µs 536.113µs 536.675µs 0.37% 1.090 2.515 0.08% 0.029µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1863323.674op/s 1870097.884op/s ± 1437.168op/s 1870287.735op/s ± 866.060op/s 1871066.822op/s 1872095.681op/s 1872550.757op/s 1872900.355op/s 0.14% -1.082 2.483 0.08% 101.623op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 390.392µs 391.112µs ± 0.310µs 391.121µs ± 0.223µs 391.341µs 391.591µs 391.804µs 391.895µs 0.20% -0.003 -0.390 0.08% 0.022µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2551703.334op/s 2556816.715op/s ± 2026.001op/s 2556753.110op/s ± 1457.454op/s 2558352.972op/s 2560045.677op/s 2561422.862op/s 2561528.185op/s 0.19% 0.006 -0.391 0.08% 143.260op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.574µs 189.999µs ± 0.372µs 189.950µs ± 0.156µs 190.116µs 190.361µs 190.910µs 193.024µs 1.62% 5.291 39.846 0.20% 0.026µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5180705.671op/s 5263209.386op/s ± 10205.413op/s 5264540.814op/s ± 4321.816op/s 5268665.998op/s 5273405.812op/s 5274755.752op/s 5274997.095op/s 0.20% -5.211 38.986 0.19% 721.632op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.439µs 37.602µs ± 0.063µs 37.595µs ± 0.042µs 37.644µs 37.704µs 37.744µs 37.755µs 0.43% 0.112 -0.255 0.17% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26486549.720op/s 26594344.724op/s ± 44416.857op/s 26599370.260op/s ± 29447.558op/s 26624496.423op/s 26662673.408op/s 26692155.434op/s 26709805.122op/s 0.42% -0.103 -0.256 0.17% 3140.746op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.787µs 45.906µs ± 0.051µs 45.900µs ± 0.030µs 45.929µs 45.992µs 46.064µs 46.106µs 0.45% 0.964 1.622 0.11% 0.004µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21689098.818op/s 21783770.582op/s ± 24294.368op/s 21786595.216op/s ± 14128.983op/s 21800894.371op/s 21815152.289op/s 21829366.710op/s 21840419.336op/s 0.25% -0.955 1.598 0.11% 1717.871op/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.675µs; 534.789µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1869898.706op/s; 1870297.062op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [391.069µs; 391.155µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2556535.931op/s; 2557097.500op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [189.947µs; 190.050µs] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5261795.014op/s; 5264623.758op/s] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.593µs; 37.611µs] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26588188.974op/s; 26600500.473op/s] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.899µs; 45.913µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21780403.616op/s; 21787137.548op/s] or [-0.015%; +0.015%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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 727.323µs 728.671µs ± 0.675µs 728.609µs ± 0.464µs 729.090µs 729.887µs 730.426µs 731.243µs 0.36% 0.736 1.089 0.09% 0.048µ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 [728.577µs; 728.764µs] or [-0.013%; +0.013%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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.987µs 25.684µs ± 9.190µs 18.953µs ± 0.759µs 33.670µs 42.667µs 48.382µs 69.452µs 266.44% 1.116 1.342 35.69% 0.650µ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.410µs; 26.958µs] or [-4.959%; +4.959%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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.795ms 14.843ms ± 0.032ms 14.837ms ± 0.014ms 14.853ms 14.900ms 14.977ms 15.037ms 1.35% 2.757 11.072 0.21% 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.839ms; 14.848ms] or [-0.030%; +0.030%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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.073µs 161.701µs ± 0.301µs 161.636µs ± 0.113µs 161.782µs 162.136µs 162.799µs 164.157µs 1.56% 3.512 22.635 0.19% 0.021µ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.659µs; 161.743µs] or [-0.026%; +0.026%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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 47.491ms 47.780ms ± 1.249ms 47.624ms ± 0.055ms 47.680ms 47.813ms 51.144ms 61.436ms 29.00% 9.405 91.564 2.61% 0.088ms 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 [47.607ms; 47.953ms] or [-0.362%; +0.362%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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 88.393µs 88.918µs ± 0.160µs 88.917µs ± 0.070µs 88.986µs 89.127µs 89.222µs 90.018µs 1.24% 1.481 11.342 0.18% 0.011µ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 [88.896µs; 88.940µs] or [-0.025%; +0.025%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d99312 1772111605 ekump/APMSP-2516-implement-http-common-component
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.321µs 2.374µs ± 0.014µs 2.373µs ± 0.004µs 2.379µs 2.403µs 2.410µs 2.415µs 1.77% -0.498 3.743 0.58% 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.372µs; 2.376µs] or [-0.080%; +0.080%] None None None

Baseline

Omitted due to size.

@dd-octo-sts
Copy link
Contributor

dd-octo-sts bot commented Feb 23, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.51 MB 8.51 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 97.27 MB 97.27 MB +0% (+16 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 112.87 MB 112.87 MB +0% (+8 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.12 MB 11.12 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.15 MB 27.15 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 76.26 KB 76.26 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 185.89 MB 185.90 MB +0% (+8.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 914.84 MB 914.90 MB +0% (+62.51 KB) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.93 MB 9.93 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 76.26 KB 76.26 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 24.76 MB 24.76 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 51.40 MB 51.40 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 22.96 MB 22.96 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.44 KB 77.44 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.10 MB 190.13 MB +.01% (+32.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 898.43 MB 898.50 MB +0% (+70.25 KB) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.53 MB 7.53 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.44 KB 77.44 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 26.51 MB 26.51 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 47.03 MB 47.03 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 85.23 MB 85.23 MB +0% (+16 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.04 MB 10.04 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 105.85 MB 105.85 MB +0% (+24 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.78 MB 11.78 MB 0% (0 B) 👌

@codecov-commenter
Copy link

codecov-commenter commented Feb 23, 2026

Codecov Report

❌ Patch coverage is 94.59930% with 31 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.34%. Comparing base (40898a4) to head (5d99312).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1624      +/-   ##
==========================================
+ Coverage   71.19%   71.34%   +0.14%     
==========================================
  Files         423      432       +9     
  Lines       62453    63026     +573     
==========================================
+ Hits        44466    44964     +498     
- Misses      17987    18062      +75     
Components Coverage Δ
libdd-crashtracker 63.10% <ø> (-0.17%) ⬇️
libdd-crashtracker-ffi 16.09% <ø> (-1.55%) ⬇️
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 87.79% <ø> (+0.08%) ⬆️
libdd-data-pipeline-ffi 73.67% <ø> (-0.25%) ⬇️
libdd-common 80.14% <100.00%> (+0.40%) ⬆️
libdd-common-ffi 73.40% <ø> (ø)
libdd-telemetry 62.45% <ø> (-0.04%) ⬇️
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 80.74% <ø> (-0.12%) ⬇️
libdd-profiling 81.56% <ø> (ø)
libdd-profiling-ffi 63.65% <ø> (ø)
datadog-sidecar 32.53% <ø> (-0.94%) ⬇️
datdog-sidecar-ffi 8.42% <ø> (-4.07%) ⬇️
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 94.21% <ø> (ø)
libdd-trace-protobuf 68.00% <ø> (ø)
libdd-trace-utils 88.97% <ø> (-0.21%) ⬇️
datadog-tracer-flare 90.45% <ø> (+1.49%) ⬆️
libdd-log 74.69% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ekump ekump force-pushed the ekump/APMSP-2516-implement-http-common-component branch 2 times, most recently from 9093e6a to 5570b43 Compare February 25, 2026 09:30
@datadog-datadog-prod-us1-2
Copy link

datadog-datadog-prod-us1-2 bot commented Feb 25, 2026

⚠️ Tests

Fix all issues with BitsAI or with Cursor

⚠️ Warnings

❄️ 2 New flaky tests detected

test_retries_on_connection_error from libdd-http-client::retry_test (Datadog) (Fix with Cursor)
Test has failed
test_connection_refused from libdd-http-client::timeout_test (Datadog) (Fix with Cursor)
Test has failed

ℹ️ Info

🧪 All tests passed

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

@danielsn
Copy link
Contributor

It might make sense to tie this into the ddcommon Endpoint type

@ekump ekump force-pushed the ekump/APMSP-2516-implement-http-common-component branch from 5570b43 to c1327a8 Compare February 25, 2026 12:22
@ekump
Copy link
Contributor Author

ekump commented Feb 25, 2026

@danielsn Endpoint is specific for Datadog endpoints and does things like automatic header injection, which we don't want to do with a generic http client.

@brettlangdon did mention that it would be nice if there was an "agent client". I think it makes sense. We can build that on top of this generic http client. I assume we'll be able to extract logic in Endpoint so it's shared (or just use it directly).

ekump added 13 commits February 26, 2026 13:24
New HTTP client crate for use by external language clients via FFI.
Defines HttpClient, HttpRequest, HttpResponse, HttpClientError, and a
builder API with configurable timeout, transport, and retry.
ReqwestBackend sends requests via reqwest::Client with connection
pooling, error mapping, and per-request timeout. Integration tests
cover HTTP round-trips, timeout behavior, and connection pooling.
Builder API supports unix_socket() and windows_named_pipe() for
platform-specific transports. FIPS TLS via rustls-no-provider with
init_fips_crypto() helper for callers to install the crypto provider.
Opt-in retry via RetryConfig on the builder. Supports configurable max
retries, initial delay, exponential backoff, and jitter. All errors
except InvalidConfig are retried.
Add MultipartPart type and multipart_parts field on HttpRequest.
When parts are present, the request is sent as multipart/form-data
with reqwest handling Content-Type and boundary automatically. Setting
both multipart parts and a body returns an error.
Add a hyper-backend feature as a lighter alternative to reqwest-backend
for consumers where binary size matters. The hyper backend uses
libdd-common's Connector and a new shared multipart encoder in
libdd-common. CI runs tests against both backends.
When both reqwest-backend and hyper-backend are enabled (e.g. CI with
--all-features), reqwest takes precedence. Hyper backend only activates
when reqwest-backend is not enabled.
@ekump ekump force-pushed the ekump/APMSP-2516-implement-http-common-component branch from 0a1ac56 to 5d99312 Compare February 26, 2026 13:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants