feat!: implement HTTP common component#1624
feat!: implement HTTP common component#1624gh-worker-dd-mergequeue-cf854d[bot] merged 22 commits intomainfrom
Conversation
Clippy Allow Annotation ReportComparing clippy allow annotations between branches:
Summary by Rule
Annotation Counts by File
Annotation Stats by Crate
About This ReportThis 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. |
919247e to
0c989d9
Compare
BenchmarksComparisonBenchmark execution time: 2026-03-30 13:53:50 Comparing candidate commit e8deb49 in PR branch Found 14 performance improvements and 5 performance regressions! Performance is the same for 43 metrics, 0 unstable metrics.
|
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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 | 49.099ms | 49.372ms ± 1.113ms | 49.209ms ± 0.046ms | 49.266ms | 49.441ms | 56.297ms | 60.455ms | 22.86% | 8.192 | 68.936 | 2.25% | 0.079ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| benching deserializing traces from msgpack to their internal representation | execution_time | [49.218ms; 49.527ms] or [-0.312%; +0.312%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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.793ms | 14.855ms ± 0.030ms | 14.852ms ± 0.015ms | 14.867ms | 14.900ms | 14.946ms | 15.042ms | 1.28% | 1.985 | 9.196 | 0.20% | 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.851ms; 14.859ms] or [-0.028%; +0.028%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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_timestamped_x1000 | execution_time | 4.216ms | 4.221ms ± 0.008ms | 4.220ms ± 0.001ms | 4.221ms | 4.225ms | 4.229ms | 4.333ms | 2.69% | 11.780 | 152.649 | 0.20% | 0.001ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| profile_add_sample_timestamped_x1000 | execution_time | [4.219ms; 4.222ms] or [-0.028%; +0.028%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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/2598 | execution_time | 3.419ms | 3.461ms ± 0.030ms | 3.450ms ± 0.010ms | 3.466ms | 3.532ms | 3.554ms | 3.561ms | 3.23% | 1.530 | 1.578 | 0.87% | 0.002ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| receiver_entry_point/report/2598 | execution_time | [3.457ms; 3.465ms] or [-0.120%; +0.120%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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.424µs | 2.475µs ± 0.037µs | 2.470µs ± 0.030µs | 2.500µs | 2.537µs | 2.545µs | 2.550µs | 3.22% | 0.357 | -1.199 | 1.47% | 0.003µ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.470µs; 2.480µs] or [-0.205%; +0.205%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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 | 160.408µs | 161.579µs ± 0.317µs | 161.601µs ± 0.189µs | 161.754µs | 162.097µs | 162.265µs | 162.672µs | 0.66% | -0.042 | 0.997 | 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 | [161.535µs; 161.623µs] or [-0.027%; +0.027%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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 | 205.229µs | 206.097µs ± 0.427µs | 206.115µs ± 0.296µs | 206.376µs | 206.685µs | 207.172µs | 207.718µs | 0.78% | 0.322 | 0.398 | 0.21% | 0.030µs | 1 | 200 |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | 4814227.421op/s | 4852115.012op/s ± 10050.273op/s | 4851663.987op/s ± 6959.356op/s | 4859421.534op/s | 4867682.062op/s | 4871997.677op/s | 4872613.424op/s | 0.43% | -0.308 | 0.367 | 0.21% | 710.662op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | execution_time | 18.580µs | 18.700µs ± 0.078µs | 18.681µs ± 0.032µs | 18.724µs | 18.829µs | 19.036µs | 19.143µs | 2.47% | 2.626 | 10.450 | 0.41% | 0.005µs | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | throughput | 52237930.493op/s | 53477002.310op/s ± 219955.635op/s | 53529584.282op/s ± 91070.945op/s | 53602618.352op/s | 53701724.758op/s | 53805395.778op/s | 53821583.276op/s | 0.55% | -2.558 | 9.970 | 0.41% | 15553.212op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/good | execution_time | 10.594µs | 10.834µs ± 0.102µs | 10.817µs ± 0.064µs | 10.900µs | 11.013µs | 11.087µs | 11.106µs | 2.67% | 0.378 | -0.154 | 0.94% | 0.007µs | 1 | 200 |
| normalization/normalize_name/normalize_name/good | throughput | 90038448.479op/s | 92310866.297op/s ± 863164.296op/s | 92445410.514op/s ± 548922.024op/s | 92893043.944op/s | 93557979.737op/s | 94021557.121op/s | 94395705.356op/s | 2.11% | -0.330 | -0.191 | 0.93% | 61034.933op/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 | [206.037µs; 206.156µs] or [-0.029%; +0.029%] | None | None | None |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | [4850722.141op/s; 4853507.883op/s] or [-0.029%; +0.029%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | execution_time | [18.689µs; 18.711µs] or [-0.058%; +0.058%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | throughput | [53446518.575op/s; 53507486.046op/s] or [-0.057%; +0.057%] | None | None | None |
| normalization/normalize_name/normalize_name/good | execution_time | [10.820µs; 10.848µs] or [-0.130%; +0.130%] | None | None | None |
| normalization/normalize_name/normalize_name/good | throughput | [92191240.028op/s; 92430492.567op/s] or [-0.130%; +0.130%] | None | None | None |
Group 8
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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 | 14.932µs | 15.410µs ± 0.267µs | 15.374µs ± 0.154µs | 15.530µs | 15.891µs | 16.110µs | 16.691µs | 8.56% | 1.260 | 2.726 | 1.73% | 0.019µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| two way interface | execution_time | [15.373µs; 15.447µs] or [-0.240%; +0.240%] | None | None | None |
Group 9
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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.200ms | 4.206ms ± 0.003ms | 4.205ms ± 0.001ms | 4.207ms | 4.210ms | 4.212ms | 4.234ms | 0.69% | 3.942 | 33.366 | 0.07% | 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.205ms; 4.206ms] or [-0.010%; +0.010%] | None | None | None |
Group 10
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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.976µs | 5.061µs ± 0.044µs | 5.083µs ± 0.026µs | 5.092µs | 5.120µs | 5.125µs | 5.127µs | 0.87% | -0.457 | -1.225 | 0.86% | 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.055µs; 5.067µs] or [-0.120%; +0.120%] | None | None | None |
Group 11
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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.899µs | 3.917µs ± 0.004µs | 3.916µs ± 0.003µs | 3.919µs | 3.924µs | 3.928µs | 3.932µs | 0.42% | 0.468 | 1.648 | 0.11% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/ | throughput | 254308887.717op/s | 255312671.714op/s ± 275380.644op/s | 255368576.901op/s ± 163901.431op/s | 255511479.661op/s | 255622997.837op/s | 255744606.670op/s | 256474680.205op/s | 0.43% | -0.457 | 1.658 | 0.11% | 19472.352op/s | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | 76.383µs | 77.625µs ± 0.548µs | 77.608µs ± 0.411µs | 78.012µs | 78.547µs | 78.966µs | 79.001µs | 1.79% | 0.182 | -0.470 | 0.70% | 0.039µs | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | 12658053.957op/s | 12883040.618op/s ± 90916.385op/s | 12885239.507op/s ± 68102.930op/s | 12954336.021op/s | 13025744.941op/s | 13066115.548op/s | 13091936.960op/s | 1.60% | -0.150 | -0.487 | 0.70% | 6428.759op/s | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | execution_time | 67.474µs | 67.692µs ± 0.110µs | 67.677µs ± 0.062µs | 67.748µs | 67.856µs | 67.944µs | 68.414µs | 1.09% | 1.670 | 8.143 | 0.16% | 0.008µs | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | throughput | 14616943.250op/s | 14772769.834op/s ± 23988.700op/s | 14776138.753op/s ± 13578.946op/s | 14787722.494op/s | 14804632.074op/s | 14815135.532op/s | 14820437.383op/s | 0.30% | -1.635 | 7.873 | 0.16% | 1696.257op/s | 1 | 200 |
| credit_card/is_card_number/37828224631 | execution_time | 3.898µs | 3.917µs ± 0.004µs | 3.917µs ± 0.002µs | 3.919µs | 3.924µs | 3.929µs | 3.931µs | 0.37% | 0.234 | 2.927 | 0.10% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/37828224631 | throughput | 254376896.124op/s | 255289140.285op/s ± 256153.488op/s | 255316881.589op/s ± 160977.576op/s | 255473320.844op/s | 255613050.923op/s | 255689749.158op/s | 256532256.420op/s | 0.48% | -0.219 | 2.958 | 0.10% | 18112.787op/s | 1 | 200 |
| credit_card/is_card_number/378282246310005 | execution_time | 64.578µs | 64.771µs ± 0.083µs | 64.763µs ± 0.047µs | 64.816µs | 64.908µs | 65.025µs | 65.141µs | 0.58% | 0.889 | 2.674 | 0.13% | 0.006µs | 1 | 200 |
| credit_card/is_card_number/378282246310005 | throughput | 15351278.350op/s | 15438992.865op/s ± 19776.786op/s | 15440870.730op/s ± 11304.016op/s | 15451074.944op/s | 15467784.782op/s | 15481760.412op/s | 15485231.734op/s | 0.29% | -0.874 | 2.623 | 0.13% | 1398.430op/s | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | execution_time | 44.799µs | 45.036µs ± 0.086µs | 45.038µs ± 0.058µs | 45.095µs | 45.176µs | 45.217µs | 45.249µs | 0.47% | -0.143 | -0.066 | 0.19% | 0.006µs | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | throughput | 22099738.797op/s | 22204433.393op/s ± 42346.147op/s | 22203386.405op/s ± 28666.905op/s | 22233079.077op/s | 22278531.182op/s | 22318054.905op/s | 22321734.673op/s | 0.53% | 0.154 | -0.059 | 0.19% | 2994.325op/s | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | execution_time | 5.697µs | 5.708µs ± 0.007µs | 5.706µs ± 0.004µs | 5.711µs | 5.716µs | 5.723µs | 5.771µs | 1.13% | 3.807 | 30.024 | 0.12% | 0.001µs | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | throughput | 173277367.940op/s | 175204607.851op/s ± 217618.260op/s | 175242432.880op/s ± 127569.267op/s | 175342393.424op/s | 175439848.367op/s | 175500792.919op/s | 175537590.128op/s | 0.17% | -3.742 | 29.255 | 0.12% | 15387.935op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | execution_time | 3.893µs | 3.918µs ± 0.004µs | 3.917µs ± 0.002µs | 3.920µs | 3.924µs | 3.926µs | 3.926µs | 0.23% | -1.055 | 7.594 | 0.10% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | throughput | 254702163.083op/s | 255257686.644op/s ± 248512.225op/s | 255276782.607op/s ± 151275.684op/s | 255389852.537op/s | 255594965.548op/s | 255730322.791op/s | 256870919.797op/s | 0.62% | 1.079 | 7.763 | 0.10% | 17572.468op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | 59.676µs | 60.390µs ± 0.414µs | 60.328µs ± 0.246µs | 60.624µs | 61.073µs | 61.599µs | 62.160µs | 3.04% | 1.108 | 1.956 | 0.68% | 0.029µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | 16087629.902op/s | 16559928.460op/s ± 112620.922op/s | 16576155.201op/s ± 67551.460op/s | 16637127.015op/s | 16706211.613op/s | 16740324.869op/s | 16757211.128op/s | 1.09% | -1.053 | 1.747 | 0.68% | 7963.502op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | 53.433µs | 53.707µs ± 0.115µs | 53.703µs ± 0.080µs | 53.784µs | 53.913µs | 53.967µs | 53.979µs | 0.51% | 0.109 | -0.312 | 0.21% | 0.008µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | 18525756.002op/s | 18619477.497op/s ± 39949.524op/s | 18620844.673op/s ± 27904.663op/s | 18647694.154op/s | 18688263.584op/s | 18702222.694op/s | 18715037.533op/s | 0.51% | -0.099 | -0.314 | 0.21% | 2824.858op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | 3.903µs | 3.917µs ± 0.004µs | 3.916µs ± 0.003µs | 3.919µs | 3.923µs | 3.927µs | 3.931µs | 0.37% | 0.563 | 0.933 | 0.10% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | 254410825.270op/s | 255319744.083op/s ± 261359.782op/s | 255346351.762op/s ± 180581.181op/s | 255516291.880op/s | 255667923.366op/s | 255738962.303op/s | 256220674.821op/s | 0.34% | -0.555 | 0.925 | 0.10% | 18480.927op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | 50.225µs | 50.339µs ± 0.067µs | 50.331µs ± 0.042µs | 50.374µs | 50.440µs | 50.551µs | 50.609µs | 0.55% | 1.065 | 2.038 | 0.13% | 0.005µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | 19759421.595op/s | 19865460.616op/s ± 26527.434op/s | 19868389.408op/s ± 16490.189op/s | 19884359.960op/s | 19900976.843op/s | 19909404.625op/s | 19910538.648op/s | 0.21% | -1.054 | 1.996 | 0.13% | 1875.773op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | 44.771µs | 45.034µs ± 0.086µs | 45.036µs ± 0.062µs | 45.098µs | 45.172µs | 45.210µs | 45.230µs | 0.43% | -0.157 | -0.408 | 0.19% | 0.006µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | 22109107.249op/s | 22205392.526op/s ± 42626.510op/s | 22204412.018op/s ± 30708.919op/s | 22236810.919op/s | 22278312.949op/s | 22296338.422op/s | 22335860.103op/s | 0.59% | 0.166 | -0.401 | 0.19% | 3014.149op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | 5.695µs | 5.706µs ± 0.006µs | 5.704µs ± 0.004µs | 5.710µs | 5.716µs | 5.721µs | 5.724µs | 0.35% | 0.656 | -0.157 | 0.10% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | 174689870.640op/s | 175259471.284op/s ± 178440.301op/s | 175305218.192op/s ± 114900.616op/s | 175394121.836op/s | 175491384.158op/s | 175563329.541op/s | 175586061.072op/s | 0.16% | -0.652 | -0.166 | 0.10% | 12617.635op/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.916µs; 3.917µs] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number/ | throughput | [255274506.605op/s; 255350836.823op/s] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | [77.549µs; 77.701µs] or [-0.098%; +0.098%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | [12870440.481op/s; 12895640.754op/s] or [-0.098%; +0.098%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | execution_time | [67.677µs; 67.708µs] or [-0.023%; +0.023%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | throughput | [14769445.231op/s; 14776094.437op/s] or [-0.023%; +0.023%] | None | None | None |
| credit_card/is_card_number/37828224631 | execution_time | [3.917µs; 3.918µs] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number/37828224631 | throughput | [255253639.875op/s; 255324640.695op/s] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number/378282246310005 | execution_time | [64.760µs; 64.783µs] or [-0.018%; +0.018%] | None | None | None |
| credit_card/is_card_number/378282246310005 | throughput | [15436251.993op/s; 15441733.738op/s] or [-0.018%; +0.018%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | execution_time | [45.024µs; 45.048µs] or [-0.026%; +0.026%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | throughput | [22198564.625op/s; 22210302.162op/s] or [-0.026%; +0.026%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | execution_time | [5.707µs; 5.709µs] or [-0.017%; +0.017%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | throughput | [175174448.053op/s; 175234767.649op/s] or [-0.017%; +0.017%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | execution_time | [3.917µs; 3.918µs] or [-0.013%; +0.013%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | throughput | [255223245.240op/s; 255292128.048op/s] or [-0.013%; +0.013%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | [60.332µs; 60.447µs] or [-0.095%; +0.095%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | [16544320.284op/s; 16575536.637op/s] or [-0.094%; +0.094%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | [53.691µs; 53.723µs] or [-0.030%; +0.030%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | [18613940.877op/s; 18625014.117op/s] or [-0.030%; +0.030%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | [3.916µs; 3.917µs] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | [255283522.131op/s; 255355966.035op/s] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | [50.329µs; 50.348µs] or [-0.019%; +0.019%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | [19861784.169op/s; 19869137.063op/s] or [-0.019%; +0.019%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | [45.022µs; 45.046µs] or [-0.027%; +0.027%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | [22199484.902op/s; 22211300.151op/s] or [-0.027%; +0.027%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | [5.705µs; 5.707µs] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | [175234741.174op/s; 175284201.393op/s] or [-0.014%; +0.014%] | None | None | None |
Group 12
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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 | 745.860µs | 747.122µs ± 0.602µs | 747.089µs ± 0.292µs | 747.350µs | 748.173µs | 749.015µs | 750.371µs | 0.44% | 1.437 | 4.795 | 0.08% | 0.043µ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 | [747.039µs; 747.206µs] or [-0.011%; +0.011%] | None | None | None |
Group 13
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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 | 145.212µs | 147.815µs ± 1.584µs | 147.634µs ± 0.580µs | 148.190µs | 149.640µs | 153.937µs | 162.138µs | 9.82% | 4.655 | 34.844 | 1.07% | 0.112µ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 | [147.596µs; 148.035µs] or [-0.149%; +0.149%] | None | None | None |
Group 14
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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 | 33.948µs | 34.686µs ± 1.196µs | 34.132µs ± 0.056µs | 34.249µs | 37.246µs | 37.306µs | 38.282µs | 12.16% | 1.704 | 0.988 | 3.44% | 0.085µ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.521µs; 34.852µs] or [-0.478%; +0.478%] | None | None | None |
Group 15
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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 | 5.476µs | 5.543µs ± 0.031µs | 5.553µs ± 0.019µs | 5.565µs | 5.583µs | 5.591µs | 5.603µs | 0.90% | -0.699 | -0.487 | 0.56% | 0.002µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| write only interface | execution_time | [5.539µs; 5.548µs] or [-0.078%; +0.078%] | None | None | None |
Group 16
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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_serialize_compressed_pprof_timestamped_x1000 | execution_time | 911.233µs | 915.786µs ± 2.743µs | 915.267µs ± 1.105µs | 916.670µs | 919.582µs | 927.514µs | 934.906µs | 2.15% | 3.363 | 17.919 | 0.30% | 0.194µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| profile_serialize_compressed_pprof_timestamped_x1000 | execution_time | [915.406µs; 916.166µs] or [-0.042%; +0.042%] | None | None | None |
Group 17
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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 | 289.188µs | 289.867µs ± 0.521µs | 289.749µs ± 0.158µs | 289.960µs | 290.525µs | 292.227µs | 293.868µs | 1.42% | 4.275 | 25.560 | 0.18% | 0.037µ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 | [289.795µs; 289.940µs] or [-0.025%; +0.025%] | None | None | None |
Group 18
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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 | 244.353ns | 255.391ns ± 13.757ns | 249.876ns ± 4.048ns | 257.534ns | 289.841ns | 297.604ns | 299.967ns | 20.05% | 1.786 | 2.132 | 5.37% | 0.973ns | 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.484ns; 257.298ns] or [-0.747%; +0.747%] | None | None | None |
Group 19
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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 | 14.862ms | 14.900ms ± 0.017ms | 14.899ms ± 0.011ms | 14.911ms | 14.924ms | 14.936ms | 14.989ms | 0.61% | 1.042 | 4.175 | 0.12% | 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 | [14.898ms; 14.902ms] or [-0.016%; +0.016%] | None | None | None |
Group 20
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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 | 190.901ns | 193.227ns ± 1.921ns | 193.010ns ± 1.526ns | 194.214ns | 196.976ns | 198.688ns | 198.825ns | 3.01% | 0.890 | 0.188 | 0.99% | 0.136ns | 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 | [192.961ns; 193.493ns] or [-0.138%; +0.138%] | None | None | None |
Group 21
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | e8deb49 | 1774877806 | 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 | 534.948µs | 536.370µs ± 1.256µs | 536.039µs ± 0.484µs | 536.683µs | 538.906µs | 539.911µs | 545.797µs | 1.82% | 3.007 | 15.600 | 0.23% | 0.089µs | 1 | 200 |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | 1832183.028op/s | 1864395.482op/s ± 4336.071op/s | 1865536.006op/s ± 1687.387op/s | 1867106.396op/s | 1868409.779op/s | 1869064.782op/s | 1869340.160op/s | 0.20% | -2.949 | 14.986 | 0.23% | 306.607op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | 380.352µs | 381.265µs ± 0.450µs | 381.204µs ± 0.293µs | 381.551µs | 381.968µs | 382.674µs | 382.826µs | 0.43% | 0.789 | 0.953 | 0.12% | 0.032µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | 2612156.043op/s | 2622854.471op/s ± 3090.098op/s | 2623268.529op/s ± 2017.580op/s | 2624896.124op/s | 2626854.553op/s | 2628478.603op/s | 2629140.525op/s | 0.22% | -0.781 | 0.933 | 0.12% | 218.503op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | 189.121µs | 190.255µs ± 0.395µs | 190.245µs ± 0.283µs | 190.520µs | 190.907µs | 191.118µs | 191.436µs | 0.63% | 0.044 | -0.006 | 0.21% | 0.028µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | 5223668.337op/s | 5256138.966op/s ± 10910.967op/s | 5256376.132op/s ± 7821.869op/s | 5264404.728op/s | 5274619.435op/s | 5280500.526op/s | 5287621.493op/s | 0.59% | -0.032 | -0.006 | 0.21% | 771.522op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | 37.825µs | 37.932µs ± 0.056µs | 37.920µs ± 0.030µs | 37.960µs | 38.034µs | 38.096µs | 38.169µs | 0.66% | 1.119 | 1.661 | 0.15% | 0.004µs | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | throughput | 26198979.840op/s | 26363087.257op/s ± 38534.121op/s | 26370991.530op/s ± 21041.772op/s | 26388366.839op/s | 26410743.925op/s | 26429705.593op/s | 26437591.532op/s | 0.25% | -1.108 | 1.624 | 0.15% | 2724.774op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | 45.769µs | 46.010µs ± 0.107µs | 45.984µs ± 0.070µs | 46.076µs | 46.215µs | 46.288µs | 46.347µs | 0.79% | 0.698 | 0.074 | 0.23% | 0.008µs | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | 21576404.228op/s | 21734607.103op/s ± 50331.760op/s | 21746714.643op/s ± 33086.701op/s | 21772504.201op/s | 21797691.919op/s | 21819146.098op/s | 21848692.228op/s | 0.47% | -0.687 | 0.054 | 0.23% | 3558.993op/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 | [536.196µs; 536.544µs] or [-0.032%; +0.032%] | None | None | None |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | [1863794.544op/s; 1864996.420op/s] or [-0.032%; +0.032%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | [381.202µs; 381.327µs] or [-0.016%; +0.016%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | [2622426.213op/s; 2623282.729op/s] or [-0.016%; +0.016%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | [190.200µs; 190.309µs] or [-0.029%; +0.029%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | [5254626.811op/s; 5257651.121op/s] or [-0.029%; +0.029%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | [37.924µs; 37.940µs] or [-0.020%; +0.020%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | throughput | [26357746.799op/s; 26368427.716op/s] or [-0.020%; +0.020%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | [45.995µs; 46.025µs] or [-0.032%; +0.032%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | [21727631.605op/s; 21741582.601op/s] or [-0.032%; +0.032%] | None | None | None |
Baseline
Omitted due to size.
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1624 +/- ##
==========================================
+ Coverage 71.21% 71.30% +0.09%
==========================================
Files 414 423 +9
Lines 65963 66609 +646
==========================================
+ Hits 46974 47496 +522
- Misses 18989 19113 +124
🚀 New features to boost your workflow:
|
9093e6a to
5570b43
Compare
|
✅ Tests 🎉 All green!❄️ No new flaky tests detected 🎯 Code Coverage (details) 🔗 Commit SHA: e8deb49 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback! |
|
It might make sense to tie this into the ddcommon |
5570b43 to
c1327a8
Compare
|
@danielsn @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). |
0a1ac56 to
5d99312
Compare
yannham
left a comment
There was a problem hiding this comment.
👍 for the simple interface, README, extensive testing split in small files. LGTM
2090110 to
7daa34f
Compare
6436cbc to
f7034e5
Compare
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.
fc06596 to
97cfd8f
Compare
97cfd8f to
b49a17e
Compare
New crate from #1624 used reqwest?/rustls which re-introduced aws-lc-rs. Switch to rustls-no-provider to match the rest of the workspace.
What does this PR do?
This PR introduces
libdd-http-client, a new crate providing a generic, backend-agnostic async HTTP client supporting multipart/form-data designed to be consumed by external language libraries (Python, Ruby, .NET, …) via FFI.This plan is to follow-up with a higher-level ddog-agent-specific layer (header injection, endpoint routing, etc.) on top of it.
The client supports both a
hyperand areqwestbackend, depending on the binary size/performance tradeoffs of consumers.Supported transport:
Additional features:
RetryConfigMotivation
dd-trace-pyanddd-trace-rbcurrently implement HTTP communication in their nativelanguages (
http.client/net/http). This creates three problems:A shared Rust HTTP client exposed over FFI solves all three: it runs outside the language runtime, is never instrumented by the tracer, and provides one canonical implementation of transport and resilience.
Additional Notes
N/A
How to test the change?
Several unit tests are included. This is an initial PR, and porper integration will be handled later.