Skip to content

refactor(trace-utils)!: change header name type to accept dynamic values#1722

Open
paullegranddc wants to merge 2 commits intomainfrom
paullgdc/trace_utils/pass_dynamic_header_names
Open

refactor(trace-utils)!: change header name type to accept dynamic values#1722
paullegranddc wants to merge 2 commits intomainfrom
paullgdc/trace_utils/pass_dynamic_header_names

Conversation

@paullegranddc
Copy link
Contributor

What does this PR do?

  • Change the header name types passed throughout data-pipeline and trace utils from &'static str to HeaderName

This should not cause extra allocations for fixed header names, as the header names for string values are "const constructed" and trivially copyable.

Motivation

OTLP supports requires the ability to defined extra headers sent with the payload in configuration

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Describe here in detail how the change can be validated.

@paullegranddc paullegranddc requested review from a team as code owners March 12, 2026 16:54
@datadog-prod-us1-4
Copy link

datadog-prod-us1-4 bot commented Mar 12, 2026

⚠️ Tests

Fix all issues with BitsAI or with Cursor

⚠️ Warnings

🧪 7 Tests failed

trace_exporter::tests::test_from_tracer_tags_to_hashmap from libdd-data-pipeline (Datadog) (Fix with Cursor)
Test has failed
trace_exporter::trace_serializer::tests::test_build_traces_headers from libdd-data-pipeline (Datadog) (Fix with Cursor)
Test has failed
trace_exporter::trace_serializer::tests::test_build_traces_headers_with_agent_version from libdd-data-pipeline (Datadog) (Fix with Cursor)
Test has failed
View all

ℹ️ Info

No other issues found (see more)

❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 62d3862 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback!

@pr-commenter
Copy link

pr-commenter bot commented Mar 12, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-12 20:25:40

Comparing candidate commit 62d3862 in PR branch paullgdc/trace_utils/pass_dynamic_header_names with baseline commit 0e8c2c6 in branch main.

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

Explanation

This is an A/B test comparing a candidate commit's performance against that of a baseline commit. Performance changes are noted in the tables below as:

  • 🟩 = significantly better candidate vs. baseline
  • 🟥 = significantly worse candidate vs. baseline

We compute a confidence interval (CI) over the relative difference of means between metrics from the candidate and baseline commits, considering the baseline as the reference.

If the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD), the change is considered significant.

Feel free to reach out to #apm-benchmarking-platform on Slack if you have any questions.

More details about the CI and significant changes

You can imagine this CI as a range of values that is likely to contain the true difference of means between the candidate and baseline commits.

CIs of the difference of means are often centered around 0%, because often changes are not that big:

---------------------------------(------|---^--------)-------------------------------->
                              -0.6%    0%  0.3%     +1.2%
                                 |          |        |
         lower bound of the CI --'          |        |
sample mean (center of the CI) -------------'        |
         upper bound of the CI ----------------------'

As described above, a change is considered significant if the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD).

For instance, for an execution time metric, this confidence interval indicates a significantly worse performance:

----------------------------------------|---------|---(---------^---------)---------->
                                       0%        1%  1.3%      2.2%      3.1%
                                                  |   |         |         |
       significant impact threshold --------------'   |         |         |
                      lower bound of CI --------------'         |         |
       sample mean (center of the CI) --------------------------'         |
                      upper bound of CI ----------------------------------'

scenario:benching serializing traces from their internal representation to msgpack

  • 🟩 execution_time [-766.268µs; -752.151µs] or [-5.206%; -5.110%]

scenario:concentrator/add_spans_to_concentrator

  • 🟩 execution_time [-2.304ms; -2.298ms] or [-17.697%; -17.651%]

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 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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.231ms 4.236ms ± 0.007ms 4.235ms ± 0.002ms 4.237ms 4.239ms 4.244ms 4.321ms 2.04% 11.297 144.478 0.15% 0.000ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [4.235ms; 4.237ms] or [-0.021%; +0.021%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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.821µs 146.603µs ± 1.570µs 146.351µs ± 0.573µs 146.965µs 148.166µs 153.700µs 161.422µs 10.30% 5.399 42.504 1.07% 0.111µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sdk_test_data/rules-based execution_time [146.385µs; 146.821µs] or [-0.148%; +0.148%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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.037µs 728.822µs ± 1.163µs 728.639µs ± 0.403µs 729.028µs 729.838µs 734.602µs 735.565µs 0.95% 3.435 14.679 0.16% 0.082µ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.660µs; 728.983µs] or [-0.022%; +0.022%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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 48.615ms 48.990ms ± 1.066ms 48.869ms ± 0.080ms 48.932ms 49.084ms 52.405ms 60.073ms 22.93% 8.810 81.316 2.17% 0.075ms 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 [48.842ms; 49.138ms] or [-0.302%; +0.302%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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 493.431µs 494.340µs ± 0.438µs 494.325µs ± 0.333µs 494.687µs 495.047µs 495.365µs 495.532µs 0.24% 0.175 -0.488 0.09% 0.031µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 2018032.692op/s 2022900.085op/s ± 1790.556op/s 2022960.376op/s ± 1363.702op/s 2024165.898op/s 2025809.842op/s 2026405.630op/s 2026627.407op/s 0.18% -0.171 -0.491 0.09% 126.611op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 369.295µs 370.184µs ± 0.367µs 370.143µs ± 0.197µs 370.363µs 370.754µs 371.041µs 372.716µs 0.70% 1.816 10.188 0.10% 0.026µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2683005.157op/s 2701358.609op/s ± 2671.460op/s 2701655.534op/s ± 1437.891op/s 2703048.922op/s 2704814.588op/s 2706052.926op/s 2707864.829op/s 0.23% -1.790 9.975 0.10% 188.901op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 167.313µs 167.554µs ± 0.139µs 167.533µs ± 0.075µs 167.622µs 167.779µs 168.011µs 168.202µs 0.40% 1.351 3.117 0.08% 0.010µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5945244.026op/s 5968215.574op/s ± 4949.714op/s 5968987.363op/s ± 2684.553op/s 5971546.691op/s 5974865.229op/s 5976106.741op/s 5976825.208op/s 0.13% -1.342 3.082 0.08% 349.998op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.214µs 37.303µs ± 0.041µs 37.302µs ± 0.031µs 37.334µs 37.369µs 37.385µs 37.411µs 0.29% -0.023 -0.530 0.11% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26730127.133op/s 26807437.433op/s ± 29349.932op/s 26808146.397op/s ± 22227.640op/s 26827165.732op/s 26859781.544op/s 26867033.628op/s 26871832.582op/s 0.24% 0.027 -0.530 0.11% 2075.354op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.615µs 45.742µs ± 0.176µs 45.724µs ± 0.033µs 45.758µs 45.827µs 45.882µs 47.715µs 4.36% 9.064 91.533 0.38% 0.012µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20957746.479op/s 21861915.576op/s ± 81189.158op/s 21870496.561op/s ± 15795.913op/s 21886198.475op/s 21913726.437op/s 21920937.764op/s 21922566.666op/s 0.24% -8.934 89.407 0.37% 5740.940op/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 [494.280µs; 494.401µs] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2022651.931op/s; 2023148.239op/s] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [370.134µs; 370.235µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2700988.370op/s; 2701728.847op/s] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [167.535µs; 167.574µs] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5967529.591op/s; 5968901.556op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.297µs; 37.309µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26803369.815op/s; 26811505.052op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.718µs; 45.767µs] or [-0.053%; +0.053%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21850663.540op/s; 21873167.613op/s] or [-0.051%; +0.051%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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.437µs 88.647µs ± 0.290µs 88.576µs ± 0.055µs 88.643µs 89.023µs 89.309µs 91.986µs 3.85% 8.006 86.262 0.33% 0.021µ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.607µs; 88.687µs] or [-0.045%; +0.045%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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.974µs 5.046µs ± 0.036µs 5.049µs ± 0.028µs 5.074µs 5.101µs 5.108µs 5.109µs 1.18% -0.110 -1.085 0.70% 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.041µs; 5.051µs] or [-0.098%; +0.098%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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.693ms 10.719ms ± 0.015ms 10.717ms ± 0.006ms 10.723ms 10.737ms 10.757ms 10.868ms 1.41% 5.125 46.687 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.717ms; 10.721ms] or [-0.019%; +0.019%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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.897µs 3.914µs ± 0.002µs 3.914µs ± 0.001µs 3.915µs 3.917µs 3.918µs 3.919µs 0.14% -2.436 19.824 0.05% 0.000µs 1 200
credit_card/is_card_number/ throughput 255165452.575op/s 255504397.660op/s ± 136276.595op/s 255509926.575op/s ± 75838.640op/s 255578679.897op/s 255666436.321op/s 255756836.168op/s 256608110.805op/s 0.43% 2.462 20.070 0.05% 9636.210op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 79.849µs 80.018µs ± 0.126µs 80.003µs ± 0.044µs 80.051µs 80.162µs 80.308µs 81.360µs 1.70% 6.517 64.355 0.16% 0.009µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12291030.360op/s 12497212.187op/s ± 19422.993op/s 12499483.772op/s ± 6885.637op/s 12505965.972op/s 12515161.054op/s 12520710.572op/s 12523570.612op/s 0.19% -6.405 62.723 0.16% 1373.413op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 67.813µs 67.930µs ± 0.162µs 67.908µs ± 0.033µs 67.940µs 68.022µs 68.701µs 69.373µs 2.16% 7.290 58.968 0.24% 0.011µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 14414735.912op/s 14721171.076op/s ± 34490.316op/s 14725715.396op/s ± 7133.208op/s 14733075.741op/s 14740571.324op/s 14743546.460op/s 14746501.168op/s 0.14% -7.235 58.260 0.23% 2438.834op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.896µs 3.914µs ± 0.003µs 3.914µs ± 0.001µs 3.916µs 3.918µs 3.922µs 3.924µs 0.24% -0.894 13.081 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254865063.718op/s 255466594.464op/s ± 166595.638op/s 255472196.449op/s ± 81659.103op/s 255556419.696op/s 255666099.835op/s 255730530.731op/s 256647460.647op/s 0.46% 0.922 13.250 0.07% 11780.091op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 64.601µs 64.679µs ± 0.046µs 64.670µs ± 0.026µs 64.703µs 64.773µs 64.802µs 64.881µs 0.33% 1.130 1.787 0.07% 0.003µs 1 200
credit_card/is_card_number/378282246310005 throughput 15412829.659op/s 15461092.421op/s ± 10939.744op/s 15463172.908op/s ± 6256.175op/s 15468534.294op/s 15474900.254op/s 15477772.294op/s 15479709.197op/s 0.11% -1.125 1.767 0.07% 773.557op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 45.447µs 45.739µs ± 0.099µs 45.743µs ± 0.067µs 45.807µs 45.904µs 45.938µs 45.971µs 0.50% -0.169 -0.118 0.22% 0.007µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21752708.063op/s 21863361.642op/s ± 47388.464op/s 21861212.744op/s ± 32014.587op/s 21894334.842op/s 21944712.465op/s 21984559.152op/s 22003785.254op/s 0.65% 0.182 -0.107 0.22% 3350.870op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.570µs 6.627µs ± 0.013µs 6.632µs ± 0.007µs 6.637µs 6.642µs 6.645µs 6.647µs 0.22% -1.257 2.027 0.20% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 150451029.484op/s 150892237.907op/s ± 299343.410op/s 150778344.721op/s ± 167205.883op/s 151088860.976op/s 151396734.574op/s 151931927.608op/s 152211509.326op/s 0.95% 1.272 2.094 0.20% 21166.775op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.901µs 3.915µs ± 0.003µs 3.915µs ± 0.002µs 3.917µs 3.921µs 3.922µs 3.924µs 0.23% -0.154 3.046 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254831780.106op/s 255401808.730op/s ± 184165.036op/s 255414474.463op/s ± 116570.376op/s 255531960.671op/s 255646386.956op/s 255686002.396op/s 256360679.710op/s 0.37% 0.165 3.088 0.07% 13022.435op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 65.592µs 65.705µs ± 0.048µs 65.697µs ± 0.031µs 65.734µs 65.787µs 65.860µs 65.876µs 0.27% 0.682 1.053 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15180146.670op/s 15219635.113op/s ± 11225.783op/s 15221377.021op/s ± 7297.485op/s 15227169.969op/s 15236033.191op/s 15241098.081op/s 15245684.201op/s 0.16% -0.677 1.040 0.07% 793.783op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.371µs 53.417µs ± 0.024µs 53.415µs ± 0.013µs 53.426µs 53.463µs 53.490µs 53.515µs 0.19% 1.052 1.962 0.04% 0.002µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18686401.627op/s 18720680.000op/s ± 8393.022op/s 18721353.466op/s ± 4541.613op/s 18726236.419op/s 18732565.854op/s 18735996.114op/s 18736910.947op/s 0.08% -1.048 1.951 0.04% 593.476op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.894µs 3.915µs ± 0.003µs 3.914µs ± 0.001µs 3.916µs 3.919µs 3.922µs 3.927µs 0.32% -1.278 17.639 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254655815.970op/s 255458634.371op/s ± 180720.357op/s 255463647.533op/s ± 85238.026op/s 255554465.047op/s 255643373.752op/s 255713182.254op/s 256837894.275op/s 0.54% 1.316 17.890 0.07% 12778.859op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.154µs 50.208µs ± 0.034µs 50.201µs ± 0.015µs 50.217µs 50.284µs 50.324µs 50.369µs 0.33% 1.837 4.421 0.07% 0.002µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19853353.207op/s 19917087.599op/s ± 13509.431op/s 19919792.954op/s ± 5851.515op/s 19925516.923op/s 19931699.051op/s 19935322.379op/s 19938473.857op/s 0.09% -1.830 4.391 0.07% 955.261op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 45.501µs 45.735µs ± 0.101µs 45.738µs ± 0.064µs 45.802µs 45.878µs 45.903µs 46.249µs 1.12% 0.296 2.389 0.22% 0.007µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21622099.800op/s 21865213.477op/s ± 48074.894op/s 21863744.446op/s ± 30780.690op/s 21894703.687op/s 21949569.263op/s 21971674.426op/s 21977298.554op/s 0.52% -0.269 2.271 0.22% 3399.408op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.542µs 6.624µs ± 0.016µs 6.630µs ± 0.008µs 6.636µs 6.640µs 6.642µs 6.651µs 0.31% -1.562 3.472 0.24% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 150352582.278op/s 150972626.083op/s ± 367919.494op/s 150819664.932op/s ± 175295.698op/s 151155614.036op/s 151685849.626op/s 152020084.614op/s 152851819.417op/s 1.35% 1.585 3.599 0.24% 26015.837op/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.914µs; 3.914µs] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/ throughput [255485511.034op/s; 255523284.285op/s] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [80.001µs; 80.035µs] or [-0.022%; +0.022%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12494520.347op/s; 12499904.027op/s] or [-0.022%; +0.022%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [67.907µs; 67.952µs] or [-0.033%; +0.033%] None None None
credit_card/is_card_number/ 378282246310005 throughput [14716391.050op/s; 14725951.103op/s] or [-0.032%; +0.032%] None None None
credit_card/is_card_number/37828224631 execution_time [3.914µs; 3.915µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631 throughput [255443505.911op/s; 255489683.017op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/378282246310005 execution_time [64.672µs; 64.685µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/378282246310005 throughput [15459576.277op/s; 15462608.564op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.725µs; 45.753µs] or [-0.030%; +0.030%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [21856794.057op/s; 21869929.227op/s] or [-0.030%; +0.030%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.625µs; 6.629µs] or [-0.027%; +0.027%] None None None
credit_card/is_card_number/x371413321323331 throughput [150850751.790op/s; 150933724.025op/s] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.915µs; 3.916µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255376285.227op/s; 255427332.233op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.698µs; 65.711µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15218079.328op/s; 15221190.899op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.414µs; 53.420µs] or [-0.006%; +0.006%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18719516.808op/s; 18721843.192op/s] or [-0.006%; +0.006%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.914µs; 3.915µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255433588.268op/s; 255483680.475op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.203µs; 50.213µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19915215.322op/s; 19918959.876op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.721µs; 45.749µs] or [-0.030%; +0.030%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [21858550.759op/s; 21871876.195op/s] or [-0.030%; +0.030%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.622µs; 6.626µs] or [-0.034%; +0.034%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [150921635.980op/s; 151023616.187op/s] or [-0.034%; +0.034%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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.960µs 26.305µs ± 9.587µs 18.423µs ± 0.209µs 34.543µs 43.413µs 46.099µs 63.258µs 243.36% 0.779 -0.141 36.35% 0.678µ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.977µs; 27.634µs] or [-5.051%; +5.051%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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.422ms 3.448ms ± 0.015ms 3.445ms ± 0.009ms 3.457ms 3.477ms 3.492ms 3.513ms 1.96% 1.106 1.819 0.44% 0.001ms 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.446ms; 3.450ms] or [-0.062%; +0.062%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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.582µs 206.391µs ± 0.430µs 206.380µs ± 0.276µs 206.640µs 207.183µs 207.432µs 207.752µs 0.67% 0.465 -0.086 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 4813425.137op/s 4845183.103op/s ± 10089.787op/s 4845435.518op/s ± 6475.543op/s 4852566.091op/s 4860888.307op/s 4862912.800op/s 4864242.284op/s 0.39% -0.454 -0.101 0.21% 713.456op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.562µs 18.785µs ± 0.178µs 18.717µs ± 0.094µs 18.887µs 19.142µs 19.336µs 19.385µs 3.57% 1.088 0.565 0.95% 0.013µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 51587067.385op/s 53238508.009op/s ± 500398.606op/s 53428648.051op/s ± 269472.585op/s 53614339.114op/s 53792669.305op/s 53870545.264op/s 53873627.992op/s 0.83% -1.050 0.442 0.94% 35383.525op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.719µs 10.827µs ± 0.047µs 10.819µs ± 0.026µs 10.850µs 10.905µs 10.986µs 11.090µs 2.50% 1.542 5.985 0.44% 0.003µs 1 200
normalization/normalize_name/normalize_name/good throughput 90169215.266op/s 92361785.254op/s ± 400346.198op/s 92426397.547op/s ± 219826.133op/s 92602672.454op/s 92941454.913op/s 93017459.949op/s 93294875.904op/s 0.94% -1.471 5.585 0.43% 28308.751op/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.332µs; 206.451µ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 [4843784.755op/s; 4846581.450op/s] or [-0.029%; +0.029%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.760µs; 18.810µs] or [-0.132%; +0.132%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53169157.575op/s; 53307858.443op/s] or [-0.130%; +0.130%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.821µs; 10.834µs] or [-0.060%; +0.060%] None None None
normalization/normalize_name/normalize_name/good throughput [92306301.122op/s; 92417269.387op/s] or [-0.060%; +0.060%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching serializing traces from their internal representation to msgpack execution_time 13.899ms 13.961ms ± 0.037ms 13.956ms ± 0.018ms 13.974ms 14.017ms 14.109ms 14.166ms 1.51% 2.132 8.054 0.26% 0.003ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [13.956ms; 13.966ms] or [-0.036%; +0.036%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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 163.781µs 164.752µs ± 0.350µs 164.722µs ± 0.124µs 164.846µs 165.176µs 165.908µs 167.380µs 1.61% 2.810 17.466 0.21% 0.025µ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 [164.704µs; 164.801µs] or [-0.029%; +0.029%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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 32.532µs 33.317µs ± 1.088µs 32.643µs ± 0.079µs 34.736µs 35.341µs 35.542µs 35.948µs 10.12% 0.975 -0.888 3.26% 0.077µ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 [33.166µs; 33.468µs] or [-0.453%; +0.453%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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.305µs 2.383µs ± 0.021µs 2.381µs ± 0.006µs 2.391µs 2.412µs 2.420µs 2.425µs 1.82% -1.438 3.706 0.86% 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.380µs; 2.386µs] or [-0.120%; +0.120%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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.476ns 253.818ns ± 11.143ns 249.674ns ± 2.947ns 253.517ns 280.693ns 284.631ns 287.146ns 15.01% 1.654 1.386 4.38% 0.788ns 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 [252.274ns; 255.362ns] or [-0.608%; +0.608%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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 189.909ns 192.161ns ± 2.000ns 191.863ns ± 1.338ns 193.181ns 195.470ns 198.601ns 204.077ns 6.37% 1.725 5.904 1.04% 0.141ns 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 [191.884ns; 192.438ns] or [-0.144%; +0.144%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 62d3862 1773346105 paullgdc/trace_utils/pass_dynamic_header_names
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.311µs 3.219µs ± 1.410µs 2.994µs ± 0.029µs 3.023µs 3.662µs 13.950µs 14.651µs 389.30% 7.322 54.830 43.71% 0.100µ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.023µs; 3.414µs] or [-6.073%; +6.073%] None None None

Baseline

Omitted due to size.

@paullegranddc paullegranddc force-pushed the paullgdc/trace_utils/pass_dynamic_header_names branch from 55a18b2 to bac2182 Compare March 12, 2026 17:10
@github-actions
Copy link

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/paullgdc/trace_utils/pass_dynamic_header_names

Summary by Rule

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

Annotation Counts by File

File Base Branch PR Branch Change
libdd-common/src/lib.rs 3 3 No change (0%)
libdd-data-pipeline/src/stats_exporter.rs 1 1 No change (0%)
libdd-data-pipeline/src/trace_exporter/mod.rs 2 2 No change (0%)
libdd-trace-utils/src/send_data/mod.rs 5 5 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 28 28 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-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 208 208 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 Mar 12, 2026

📚 Documentation Check Results

⚠️ 1443 documentation warning(s) found

📦 libdd-common - 166 warning(s)

📦 libdd-data-pipeline - 794 warning(s)

📦 libdd-trace-utils - 483 warning(s)


Updated: 2026-03-12 20:10:03 UTC | Commit: fd2f3f6 | missing-docs job results

@github-actions
Copy link

github-actions bot commented Mar 12, 2026

🔒 Cargo Deny Results

⚠️ 1 issue(s) found, showing only errors (advisories, bans, sources)

📦 libdd-common - ✅ No issues

📦 libdd-data-pipeline - 1 error(s)

Show output
error[vulnerability]: Denial of Service via Stack Exhaustion
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:293:1
    │
293 │ time 0.3.41 registry+https://github.com/rust-lang/crates.io-index
    │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ security vulnerability detected
    │
    ├ ID: RUSTSEC-2026-0009
    ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2026-0009
    ├ ## Impact
      
      When user-provided input is provided to any type that parses with the RFC 2822 format, a denial of
      service attack via stack exhaustion is possible. The attack relies on formally deprecated and
      rarely-used features that are part of the RFC 2822 format used in a malicious manner. Ordinary,
      non-malicious input will never encounter this scenario.
      
      ## Patches
      
      A limit to the depth of recursion was added in v0.3.47. From this version, an error will be returned
      rather than exhausting the stack.
      
      ## Workarounds
      
      Limiting the length of user input is the simplest way to avoid stack exhaustion, as the amount of
      the stack consumed would be at most a factor of the length of the input.
    ├ Announcement: https://github.com/time-rs/time/blob/main/CHANGELOG.md#0347-2026-02-05
    ├ Solution: Upgrade to >=0.3.47 (try `cargo update -p time`)
    ├ time v0.3.41
      └── tracing-appender v0.2.3
          └── libdd-log v1.0.0
              └── (dev) libdd-data-pipeline v2.0.0

advisories FAILED, bans ok, sources ok

📦 libdd-trace-utils - ✅ No issues


Updated: 2026-03-12 20:13:00 UTC | Commit: fd2f3f6 | dependency-check job results

@paullegranddc paullegranddc force-pushed the paullgdc/trace_utils/pass_dynamic_header_names branch from bac2182 to 8745975 Compare March 12, 2026 17:30
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.

1 participant