Skip to content

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

Open
paullegranddc wants to merge 3 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 3 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: ba5b268 | 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-13 12:48:53

Comparing candidate commit ba5b268 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 [-674.306µs; -660.468µs] or [-4.582%; -4.488%]

scenario:concentrator/add_spans_to_concentrator

  • 🟩 execution_time [-2.346ms; -2.340ms] or [-17.978%; -17.937%]

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 ba5b268 1773405169 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.199µs 3.168µs ± 1.433µs 2.995µs ± 0.022µs 3.013µs 3.285µs 13.824µs 15.126µs 405.10% 7.496 56.811 45.13% 0.101µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [2.969µs; 3.366µs] or [-6.271%; +6.271%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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 190.891ns 194.034ns ± 8.185ns 193.364ns ± 1.313ns 194.445ns 197.623ns 200.742ns 305.664ns 58.08% 12.786 171.788 4.21% 0.579ns 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.899ns; 195.168ns] or [-0.585%; +0.585%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.036ns 253.548ns ± 11.056ns 248.536ns ± 2.266ns 255.882ns 278.214ns 291.486ns 292.726ns 17.78% 2.038 3.560 4.35% 0.782ns 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.015ns; 255.080ns] or [-0.604%; +0.604%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.965µs 5.044µs ± 0.045µs 5.033µs ± 0.038µs 5.088µs 5.116µs 5.117µs 5.126µs 1.84% 0.340 -1.333 0.89% 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.038µs; 5.050µs] or [-0.124%; +0.124%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.831µs 206.432µs ± 0.384µs 206.343µs ± 0.255µs 206.691µs 207.167µs 207.354µs 207.563µs 0.59% 0.623 -0.377 0.19% 0.027µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4817807.450op/s 4844235.338op/s ± 9004.025op/s 4846296.434op/s ± 5993.849op/s 4851416.043op/s 4856153.865op/s 4858081.853op/s 4858343.825op/s 0.25% -0.616 -0.390 0.19% 636.681op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.570µs 18.740µs ± 0.171µs 18.675µs ± 0.051µs 18.812µs 19.140µs 19.342µs 19.380µs 3.77% 1.734 2.601 0.91% 0.012µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 51600422.074op/s 53366318.419op/s ± 479977.956op/s 53548094.507op/s ± 146601.180op/s 53652270.319op/s 53837095.247op/s 53844148.451op/s 53851107.165op/s 0.57% -1.691 2.420 0.90% 33939.567op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.733µs 10.820µs ± 0.044µs 10.817µs ± 0.029µs 10.844µs 10.898µs 10.953µs 10.959µs 1.31% 0.689 0.415 0.40% 0.003µs 1 200
normalization/normalize_name/normalize_name/good throughput 91253142.487op/s 92421610.611op/s ± 373322.452op/s 92446847.908op/s ± 247934.954op/s 92706099.914op/s 92973717.149op/s 93055487.112op/s 93169336.336op/s 0.78% -0.666 0.366 0.40% 26397.884op/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.378µs; 206.485µs] or [-0.026%; +0.026%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4842987.467op/s; 4845483.209op/s] or [-0.026%; +0.026%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.716µs; 18.764µs] or [-0.127%; +0.127%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53299798.091op/s; 53432838.748op/s] or [-0.125%; +0.125%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.814µs; 10.826µs] or [-0.056%; +0.056%] None None None
normalization/normalize_name/normalize_name/good throughput [92369871.709op/s; 92473349.512op/s] or [-0.056%; +0.056%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.776µs 25.363µs ± 9.370µs 18.278µs ± 0.422µs 33.825µs 42.195µs 43.307µs 70.239µs 284.27% 1.012 0.996 36.85% 0.663µ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.065µs; 26.662µs] or [-5.120%; +5.120%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.983ms 14.048ms ± 0.034ms 14.043ms ± 0.017ms 14.062ms 14.098ms 14.188ms 14.231ms 1.34% 2.027 6.744 0.24% 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.044ms; 14.053ms] or [-0.034%; +0.034%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.305µs 88.536µs ± 0.173µs 88.500µs ± 0.080µs 88.610µs 88.755µs 89.052µs 90.180µs 1.90% 4.688 39.462 0.20% 0.012µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sql/obfuscate_sql_string execution_time [88.512µs; 88.560µs] or [-0.027%; +0.027%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.307µs 494.126µs ± 1.183µs 493.963µs ± 0.254µs 494.243µs 494.685µs 495.371µs 505.439µs 2.32% 8.375 76.150 0.24% 0.084µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1978479.420op/s 2023785.338op/s ± 4749.867op/s 2024443.240op/s ± 1041.133op/s 2025265.867op/s 2026554.472op/s 2027101.046op/s 2027133.862op/s 0.13% -8.318 75.427 0.23% 335.866op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 370.228µs 370.721µs ± 0.246µs 370.716µs ± 0.173µs 370.874µs 371.103µs 371.331µs 371.713µs 0.27% 0.503 0.566 0.07% 0.017µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2690250.101op/s 2697450.080op/s ± 1792.374op/s 2697480.336op/s ± 1261.517op/s 2698770.141op/s 2700198.102op/s 2700820.688op/s 2701035.107op/s 0.13% -0.498 0.554 0.07% 126.740op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 167.270µs 167.631µs ± 0.223µs 167.583µs ± 0.097µs 167.699µs 168.011µs 168.146µs 169.151µs 0.94% 2.855 14.556 0.13% 0.016µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5911879.992op/s 5965510.873op/s ± 7913.740op/s 5967194.861op/s ± 3443.976op/s 5970401.457op/s 5973712.498op/s 5976357.065op/s 5978346.706op/s 0.19% -2.822 14.269 0.13% 559.586op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.023µs 37.116µs ± 0.046µs 37.112µs ± 0.029µs 37.140µs 37.197µs 37.233µs 37.313µs 0.54% 0.836 1.478 0.12% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26800577.064op/s 26942748.248op/s ± 33126.290op/s 26945216.808op/s ± 21037.546op/s 26966586.932op/s 26989198.812op/s 27001315.466op/s 27010069.513op/s 0.24% -0.826 1.444 0.12% 2342.382op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.407µs 45.639µs ± 0.124µs 45.640µs ± 0.073µs 45.711µs 45.766µs 45.826µs 46.767µs 2.47% 3.657 32.928 0.27% 0.009µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21382553.120op/s 21911460.606op/s ± 58747.804op/s 21910714.101op/s ± 34957.410op/s 21945940.444op/s 21995246.754op/s 22003274.981op/s 22022966.038op/s 0.51% -3.486 30.974 0.27% 4154.097op/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 [493.962µs; 494.290µs] or [-0.033%; +0.033%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2023127.052op/s; 2024443.623op/s] or [-0.033%; +0.033%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [370.686µs; 370.755µs] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2697201.674op/s; 2697698.486op/s] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [167.600µs; 167.661µs] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5964414.104op/s; 5966607.641op/s] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.109µs; 37.122µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26938157.263op/s; 26947339.233op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.621µs; 45.656µs] or [-0.038%; +0.038%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21903318.726op/s; 21919602.487op/s] or [-0.037%; +0.037%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.423ms 3.461ms ± 0.031ms 3.450ms ± 0.008ms 3.462ms 3.535ms 3.560ms 3.579ms 3.76% 1.953 3.311 0.89% 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.456ms; 3.465ms] or [-0.124%; +0.124%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.573µs 164.400µs ± 0.283µs 164.392µs ± 0.137µs 164.516µs 164.844µs 165.120µs 165.836µs 0.88% 1.000 3.936 0.17% 0.020µ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.361µs; 164.439µs] or [-0.024%; +0.024%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.297µs 2.367µs ± 0.020µs 2.367µs ± 0.003µs 2.371µs 2.407µs 2.416µs 2.418µs 2.15% -0.909 4.024 0.84% 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.364µs; 2.370µs] or [-0.116%; +0.116%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.971µs 146.894µs ± 1.886µs 146.595µs ± 0.465µs 147.097µs 148.184µs 153.317µs 166.307µs 13.45% 6.908 61.320 1.28% 0.133µ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.632µs; 147.155µs] or [-0.178%; +0.178%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.677ms 10.704ms ± 0.013ms 10.703ms ± 0.008ms 10.711ms 10.725ms 10.738ms 10.748ms 0.42% 0.556 0.392 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 [10.702ms; 10.706ms] or [-0.016%; +0.016%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.589µs 33.510µs ± 1.238µs 32.752µs ± 0.117µs 34.785µs 35.613µs 35.821µs 36.102µs 10.23% 0.952 -0.983 3.69% 0.088µ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.338µs; 33.682µs] or [-0.512%; +0.512%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.119ms 4.124ms ± 0.007ms 4.123ms ± 0.001ms 4.124ms 4.127ms 4.131ms 4.211ms 2.15% 11.601 149.918 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.123ms; 4.124ms] or [-0.022%; +0.022%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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.895µs 3.915µs ± 0.003µs 3.915µs ± 0.001µs 3.916µs 3.918µs 3.922µs 3.925µs 0.27% -1.280 14.504 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 254766904.243op/s 255453581.549op/s ± 170472.201op/s 255456788.046op/s ± 90208.984op/s 255549023.427op/s 255651928.378op/s 255713372.154op/s 256707075.416op/s 0.49% 1.310 14.705 0.07% 12054.205op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 79.631µs 80.185µs ± 0.090µs 80.185µs ± 0.044µs 80.229µs 80.296µs 80.342µs 80.630µs 0.56% -1.574 14.310 0.11% 0.006µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12402314.411op/s 12471244.405op/s ± 14042.407op/s 12471205.856op/s ± 6783.058op/s 12477214.423op/s 12487058.352op/s 12513990.495op/s 12557862.865op/s 0.69% 1.620 14.479 0.11% 992.948op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 67.829µs 67.918µs ± 0.069µs 67.906µs ± 0.030µs 67.944µs 68.003µs 68.136µs 68.549µs 0.95% 4.610 36.380 0.10% 0.005µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 14588160.939op/s 14723559.205op/s ± 14784.153op/s 14726335.922op/s ± 6545.531op/s 14731594.579op/s 14738297.602op/s 14740771.949op/s 14742925.712op/s 0.11% -4.559 35.744 0.10% 1045.398op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.896µs 3.915µs ± 0.004µs 3.915µs ± 0.002µs 3.916µs 3.922µs 3.924µs 3.940µs 0.64% 1.289 12.643 0.09% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 253838827.942op/s 255415529.809op/s ± 236209.315op/s 255457555.737op/s ± 106310.605op/s 255538407.470op/s 255665620.200op/s 255746680.500op/s 256661006.061op/s 0.47% -1.253 12.535 0.09% 16702.521op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 64.601µs 64.706µs ± 0.054µs 64.701µs ± 0.038µs 64.739µs 64.795µs 64.864µs 64.878µs 0.27% 0.600 0.197 0.08% 0.004µs 1 200
credit_card/is_card_number/378282246310005 throughput 15413634.324op/s 15454627.101op/s ± 12922.161op/s 15455673.130op/s ± 9059.611op/s 15464369.708op/s 15473096.232op/s 15477102.556op/s 15479709.197op/s 0.16% -0.596 0.187 0.08% 913.735op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 45.363µs 45.704µs ± 0.101µs 45.700µs ± 0.080µs 45.788µs 45.852µs 45.909µs 45.929µs 0.50% -0.169 -0.367 0.22% 0.007µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21772604.139op/s 21880002.408op/s ± 48531.680op/s 21881705.806op/s ± 38598.973op/s 21914932.288op/s 21955931.749op/s 21980647.809op/s 22044566.060op/s 0.74% 0.180 -0.352 0.22% 3431.708op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.592µs 6.631µs ± 0.011µs 6.635µs ± 0.004µs 6.637µs 6.641µs 6.645µs 6.651µs 0.24% -1.593 2.710 0.16% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 150359184.193op/s 150811688.164op/s ± 241258.813op/s 150724874.351op/s ± 82176.199op/s 150932389.936op/s 151249765.573op/s 151673128.890op/s 151706939.166op/s 0.65% 1.603 2.754 0.16% 17059.574op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.894µs 3.915µs ± 0.003µs 3.915µs ± 0.002µs 3.917µs 3.919µs 3.920µs 3.924µs 0.23% -1.701 15.054 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254845200.741op/s 255429145.017op/s ± 181996.012op/s 255438005.201op/s ± 106734.930op/s 255528440.373op/s 255665681.588op/s 255726775.186op/s 256801805.392op/s 0.53% 1.732 15.297 0.07% 12869.061op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 65.579µs 65.695µs ± 0.046µs 65.693µs ± 0.028µs 65.721µs 65.781µs 65.798µs 65.825µs 0.20% 0.253 -0.011 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15191722.517op/s 15221832.891op/s ± 10600.351op/s 15222328.828op/s ± 6448.302op/s 15228667.020op/s 15237973.600op/s 15245023.717op/s 15248721.599op/s 0.17% -0.249 -0.013 0.07% 749.558op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.366µs 53.438µs ± 0.040µs 53.431µs ± 0.027µs 53.461µs 53.514µs 53.556µs 53.574µs 0.27% 0.749 0.497 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18665913.411op/s 18713456.516op/s ± 14060.104op/s 18715580.567op/s ± 9406.992op/s 18724036.584op/s 18732877.571op/s 18734470.086op/s 18738416.195op/s 0.12% -0.744 0.486 0.07% 994.200op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.896µs 3.915µs ± 0.003µs 3.916µs ± 0.002µs 3.917µs 3.920µs 3.921µs 3.923µs 0.18% -1.144 6.957 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254923134.439op/s 255402988.057op/s ± 197101.488op/s 255388739.896op/s ± 127306.871op/s 255542004.723op/s 255674259.906op/s 255739988.708op/s 256669179.446op/s 0.50% 1.162 7.083 0.08% 13937.180op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.147µs 50.209µs ± 0.027µs 50.205µs ± 0.018µs 50.224µs 50.255µs 50.283µs 50.287µs 0.16% 0.567 0.025 0.05% 0.002µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19885950.099op/s 19916814.075op/s ± 10686.655op/s 19918407.233op/s ± 7069.016op/s 19924754.662op/s 19931837.501op/s 19934219.955op/s 19941205.350op/s 0.11% -0.565 0.022 0.05% 755.661op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 45.401µs 45.684µs ± 0.102µs 45.688µs ± 0.072µs 45.760µs 45.848µs 45.886µs 45.910µs 0.49% -0.191 -0.231 0.22% 0.007µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21781710.067op/s 21889423.807op/s ± 48713.264op/s 21887426.769op/s ± 34510.380op/s 21921061.774op/s 21970779.307op/s 22007749.302op/s 22025807.004op/s 0.63% 0.202 -0.220 0.22% 3444.548op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.573µs 6.632µs ± 0.010µs 6.634µs ± 0.004µs 6.637µs 6.643µs 6.649µs 6.650µs 0.24% -1.790 6.923 0.14% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 150374456.313op/s 150786227.349op/s ± 217163.252op/s 150733093.246op/s ± 80219.292op/s 150848259.071op/s 151174180.989op/s 151398009.247op/s 152138176.550op/s 0.93% 1.815 7.100 0.14% 15355.761op/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.915µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ throughput [255429955.742op/s; 255477207.357op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [80.172µs; 80.197µs] or [-0.016%; +0.016%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12469298.262op/s; 12473190.547op/s] or [-0.016%; +0.016%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [67.909µs; 67.928µs] or [-0.014%; +0.014%] None None None
credit_card/is_card_number/ 378282246310005 throughput [14721510.264op/s; 14725608.147op/s] or [-0.014%; +0.014%] None None None
credit_card/is_card_number/37828224631 execution_time [3.915µs; 3.916µs] or [-0.013%; +0.013%] None None None
credit_card/is_card_number/37828224631 throughput [255382793.470op/s; 255448266.149op/s] or [-0.013%; +0.013%] None None None
credit_card/is_card_number/378282246310005 execution_time [64.698µs; 64.713µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/378282246310005 throughput [15452836.213op/s; 15456417.988op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.690µs; 45.718µs] or [-0.031%; +0.031%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [21873276.384op/s; 21886728.432op/s] or [-0.031%; +0.031%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.629µs; 6.632µs] or [-0.022%; +0.022%] None None None
credit_card/is_card_number/x371413321323331 throughput [150778252.013op/s; 150845124.315op/s] or [-0.022%; +0.022%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.915µs; 3.915µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255403922.120op/s; 255454367.914op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.689µs; 65.701µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15220363.784op/s; 15223301.998op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.432µs; 53.443µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18711507.920op/s; 18715405.111op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.915µs; 3.916µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255375671.686op/s; 255430304.427op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.205µs; 50.213µs] or [-0.007%; +0.007%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19915333.007op/s; 19918295.142op/s] or [-0.007%; +0.007%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.670µs; 45.698µs] or [-0.031%; +0.031%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [21882672.617op/s; 21896174.997op/s] or [-0.031%; +0.031%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.631µs; 6.633µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [150756130.611op/s; 150816324.087op/s] or [-0.020%; +0.020%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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 49.164ms 49.543ms ± 0.824ms 49.447ms ± 0.054ms 49.501ms 49.651ms 53.522ms 57.697ms 16.69% 8.475 73.862 1.66% 0.058ms 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.429ms; 49.658ms] or [-0.231%; +0.231%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz ba5b268 1773405169 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 729.381µs 730.920µs ± 0.775µs 730.882µs ± 0.384µs 731.254µs 732.051µs 732.970µs 737.147µs 0.86% 2.823 19.804 0.11% 0.055µ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 [730.812µs; 731.027µs] or [-0.015%; +0.015%] 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-13 12:34:15 UTC | Commit: 50088bc | 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-13 12:37:21 UTC | Commit: 50088bc | 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