Skip to content

fix(obfuscation/memcached): fuzzing fix#1695

Open
Eldolfin wants to merge 1 commit intomainfrom
oscarld/memcached-fuzzing-fixes
Open

fix(obfuscation/memcached): fuzzing fix#1695
Eldolfin wants to merge 1 commit intomainfrom
oscarld/memcached-fuzzing-fixes

Conversation

@Eldolfin
Copy link
Contributor

@Eldolfin Eldolfin commented Mar 9, 2026

What does this PR do?

Ran a fuzzer to find output difference between this obfuscator and the agent's obfuscator, fixed issues one by one, even the nonsensical edge cases.

This one fixes 1 fuzzing testcase: memcached_fuzzing_2126976840

Motivation

Reach 100% parity between obfuscation libs.

Additional Notes

How to test the change?

…mSpace

Go's ObfuscateMemcachedString calls strings.TrimSpace() on the result after
splitting on \r\n. Rust was not trimming, causing a tab-only input to
return "\t" instead of "".

Fixes fuzzing testcase: memcached_fuzzing_2126976840
@Eldolfin Eldolfin requested review from a team as code owners March 9, 2026 17:54
@Eldolfin Eldolfin changed the title fix(memcached): trim whitespace from result to match Go's strings.Tri… fix(obfuscation/memcached): fuzzing fix Mar 9, 2026
@github-actions
Copy link

github-actions bot commented Mar 9, 2026

📚 Documentation Check Results

⚠️ 520 documentation warning(s) found

📦 libdd-trace-obfuscation - 520 warning(s)


Updated: 2026-03-09 17:55:51 UTC | Commit: 63ffdd7 | missing-docs job results

@github-actions
Copy link

github-actions bot commented Mar 9, 2026

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/oscarld/memcached-fuzzing-fixes

Summary by Rule

Rule Base Branch PR Branch Change

Annotation Counts by File

File Base Branch PR Branch Change

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 9, 2026

🔒 Cargo Deny Results

No issues found!

📦 libdd-trace-obfuscation - ✅ No issues


Updated: 2026-03-09 17:58:54 UTC | Commit: 63ffdd7 | dependency-check job results

@pr-commenter
Copy link

pr-commenter bot commented Mar 9, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-09 18:10:01

Comparing candidate commit 120c364 in PR branch oscarld/memcached-fuzzing-fixes with baseline commit 79f879e in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 58 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 ----------------------------------'

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 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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.352µs 2.404µs ± 0.018µs 2.402µs ± 0.007µs 2.411µs 2.443µs 2.449µs 2.455µs 2.18% -0.120 2.169 0.75% 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.402µs; 2.407µs] or [-0.104%; +0.104%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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.170ms 4.174ms ± 0.007ms 4.173ms ± 0.001ms 4.175ms 4.177ms 4.179ms 4.264ms 2.18% 12.078 158.701 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.173ms; 4.175ms] or [-0.022%; +0.022%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_trace/test_trace execution_time 240.067ns 249.139ns ± 11.705ns 244.587ns ± 2.644ns 250.277ns 276.620ns 290.070ns 294.472ns 20.40% 2.193 4.160 4.69% 0.828ns 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 [247.517ns; 250.761ns] or [-0.651%; +0.651%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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.652ms 10.686ms ± 0.015ms 10.686ms ± 0.009ms 10.694ms 10.708ms 10.721ms 10.798ms 1.05% 2.168 14.093 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.684ms; 10.688ms] or [-0.019%; +0.019%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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.012ms 14.067ms ± 0.029ms 14.064ms ± 0.014ms 14.077ms 14.104ms 14.168ms 14.210ms 1.03% 1.740 5.965 0.21% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [14.063ms; 14.071ms] or [-0.029%; +0.029%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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.119µs 535.457µs ± 1.435µs 535.178µs ± 0.318µs 535.527µs 537.294µs 540.544µs 547.845µs 2.37% 6.200 47.409 0.27% 0.101µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1825334.788op/s 1867577.218op/s ± 4923.662op/s 1868537.711op/s ± 1109.661op/s 1869575.602op/s 1870809.984op/s 1871328.084op/s 1872240.923op/s 0.20% -6.112 46.353 0.26% 348.155op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.307µs 381.605µs ± 0.544µs 381.623µs ± 0.371µs 381.993µs 382.409µs 382.730µs 382.808µs 0.31% -0.323 -0.403 0.14% 0.038µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2612274.122op/s 2620515.075op/s ± 3734.495op/s 2620387.136op/s ± 2546.881op/s 2622760.445op/s 2627331.598op/s 2628886.952op/s 2629457.330op/s 0.35% 0.329 -0.400 0.14% 264.069op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.862µs 190.223µs ± 0.167µs 190.212µs ± 0.112µs 190.324µs 190.507µs 190.661µs 190.724µs 0.27% 0.395 0.040 0.09% 0.012µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5243169.003op/s 5256995.008op/s ± 4600.292op/s 5257280.808op/s ± 3101.769op/s 5260382.870op/s 5263676.956op/s 5266468.473op/s 5266992.404op/s 0.18% -0.390 0.034 0.09% 325.290op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.367µs 37.574µs ± 0.073µs 37.579µs ± 0.052µs 37.626µs 37.682µs 37.738µs 37.790µs 0.56% -0.179 0.077 0.19% 0.005µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26462209.303op/s 26614285.733op/s ± 51688.294op/s 26610462.435op/s ± 36451.534op/s 26649874.617op/s 26694507.939op/s 26749607.121op/s 26761822.629op/s 0.57% 0.191 0.080 0.19% 3654.914op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.774µs 45.900µs ± 0.126µs 45.891µs ± 0.045µs 45.934µs 46.008µs 46.096µs 47.426µs 3.34% 8.899 104.474 0.27% 0.009µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21085628.738op/s 21786598.466op/s ± 58575.593op/s 21790867.956op/s ± 21589.745op/s 21812859.481op/s 21835943.843op/s 21844582.308op/s 21846473.664op/s 0.26% -8.675 100.861 0.27% 4141.920op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time [535.258µs; 535.656µs] or [-0.037%; +0.037%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1866894.846op/s; 1868259.591op/s] or [-0.037%; +0.037%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [381.530µs; 381.680µs] or [-0.020%; +0.020%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2619997.510op/s; 2621032.640op/s] or [-0.020%; +0.020%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.200µs; 190.246µs] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5256357.452op/s; 5257632.565op/s] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.564µs; 37.584µs] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26607122.233op/s; 26621449.233op/s] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.883µs; 45.918µs] or [-0.038%; +0.038%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21778480.452op/s; 21794716.480op/s] or [-0.037%; +0.037%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 185.371µs 185.831µs ± 0.241µs 185.824µs ± 0.177µs 185.984µs 186.283µs 186.366µs 186.514µs 0.37% 0.337 -0.460 0.13% 0.017µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5361531.414op/s 5381250.557op/s ± 6985.870op/s 5381425.700op/s ± 5113.047op/s 5387227.154op/s 5391174.345op/s 5393717.300op/s 5394592.892op/s 0.24% -0.331 -0.467 0.13% 493.976op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.876µs 17.989µs ± 0.077µs 17.978µs ± 0.036µs 18.019µs 18.079µs 18.174µs 18.643µs 3.70% 4.597 33.167 0.43% 0.005µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 53639750.030op/s 55589408.915op/s ± 234403.480op/s 55622278.937op/s ± 110701.091op/s 55720192.964op/s 55821873.100op/s 55876208.187op/s 55940242.658op/s 0.57% -4.421 31.277 0.42% 16574.829op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.253µs 10.344µs ± 0.129µs 10.338µs ± 0.042µs 10.370µs 10.428µs 10.489µs 12.013µs 16.20% 11.004 140.159 1.24% 0.009µs 1 200
normalization/normalize_name/normalize_name/good throughput 83239715.130op/s 96688834.052op/s ± 1062972.081op/s 96726760.190op/s ± 397050.539op/s 97150018.917op/s 97364596.880op/s 97483182.402op/s 97535915.181op/s 0.84% -10.211 126.517 1.10% 75163.477op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time [185.797µs; 185.864µs] or [-0.018%; +0.018%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5380282.382op/s; 5382218.731op/s] or [-0.018%; +0.018%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.979µs; 18.000µs] or [-0.060%; +0.060%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55556922.847op/s; 55621894.983op/s] or [-0.058%; +0.058%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.326µs; 10.362µs] or [-0.172%; +0.172%] None None None
normalization/normalize_name/normalize_name/good throughput [96541516.345op/s; 96836151.759op/s] or [-0.152%; +0.152%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
single_flag_killswitch/rules-based execution_time 188.593ns 190.556ns ± 1.814ns 190.276ns ± 1.207ns 191.416ns 193.625ns 196.918ns 200.419ns 5.33% 1.762 5.117 0.95% 0.128ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
single_flag_killswitch/rules-based execution_time [190.304ns; 190.807ns] or [-0.132%; +0.132%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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.135ms 49.580ms ± 0.957ms 49.443ms ± 0.063ms 49.518ms 49.649ms 56.045ms 58.505ms 18.33% 7.690 60.717 1.93% 0.068ms 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.448ms; 49.713ms] or [-0.268%; +0.268%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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.609µs 25.056µs ± 9.460µs 17.957µs ± 0.170µs 33.176µs 42.004µs 44.205µs 66.263µs 269.00% 1.008 0.543 37.66% 0.669µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [23.744µs; 26.367µs] or [-5.233%; +5.233%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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 86.526µs 86.771µs ± 0.225µs 86.753µs ± 0.045µs 86.797µs 86.886µs 87.001µs 89.749µs 3.45% 11.705 152.567 0.26% 0.016µ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 [86.739µs; 86.802µs] or [-0.036%; +0.036%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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.435ms 3.464ms ± 0.019ms 3.459ms ± 0.009ms 3.471ms 3.506ms 3.528ms 3.535ms 2.18% 1.415 1.848 0.55% 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.462ms; 3.467ms] or [-0.077%; +0.077%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
credit_card/is_card_number/ execution_time 3.892µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.918µs 3.919µs 3.919µs 0.14% -1.496 8.363 0.08% 0.000µs 1 200
credit_card/is_card_number/ throughput 255169935.493op/s 255543267.902op/s ± 206842.425op/s 255535358.840op/s ± 139482.757op/s 255680983.728op/s 255843647.253op/s 255925771.081op/s 256932272.874op/s 0.55% 1.516 8.524 0.08% 14625.968op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 78.887µs 79.767µs ± 0.442µs 79.686µs ± 0.294µs 80.062µs 80.531µs 80.834µs 81.418µs 2.17% 0.749 0.666 0.55% 0.031µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12282289.115op/s 12536939.727op/s ± 69183.432op/s 12549306.450op/s ± 46267.658op/s 12587597.755op/s 12629939.660op/s 12655316.830op/s 12676419.797op/s 1.01% -0.714 0.567 0.55% 4892.007op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 72.264µs 72.965µs ± 0.377µs 72.955µs ± 0.267µs 73.197µs 73.643µs 73.982µs 74.150µs 1.64% 0.612 0.230 0.52% 0.027µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13486174.014op/s 13705516.460op/s ± 70640.290op/s 13707163.430op/s ± 50136.114op/s 13759875.410op/s 13806327.780op/s 13820571.230op/s 13838116.861op/s 0.96% -0.583 0.170 0.51% 4995.023op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.893µs 3.912µs ± 0.004µs 3.912µs ± 0.002µs 3.914µs 3.917µs 3.920µs 3.942µs 0.77% 2.504 25.051 0.09% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 253672217.979op/s 255601809.438op/s ± 240662.444op/s 255621433.858op/s ± 114259.613op/s 255733767.960op/s 255830630.040op/s 255904002.191op/s 256879981.572op/s 0.49% -2.446 24.718 0.09% 17017.405op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 69.138µs 69.722µs ± 0.356µs 69.658µs ± 0.230µs 69.921µs 70.333µs 70.825µs 70.979µs 1.90% 0.991 0.837 0.51% 0.025µs 1 200
credit_card/is_card_number/378282246310005 throughput 14088769.226op/s 14342954.656op/s ± 72809.276op/s 14355919.542op/s ± 47567.546op/s 14400433.459op/s 14429939.529op/s 14449117.496op/s 14463871.008op/s 0.75% -0.963 0.748 0.51% 5148.393op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 52.145µs 52.224µs ± 0.042µs 52.217µs ± 0.026µs 52.248µs 52.289µs 52.356µs 52.446µs 0.44% 1.238 3.909 0.08% 0.003µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19067306.799op/s 19148193.628op/s ± 15331.459op/s 19150835.019op/s ± 9520.390op/s 19158560.991op/s 19168093.656op/s 19175917.751op/s 19177207.888op/s 0.14% -1.227 3.856 0.08% 1084.098op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.028µs 6.038µs ± 0.012µs 6.036µs ± 0.003µs 6.040µs 6.048µs 6.075µs 6.152µs 1.93% 5.796 48.407 0.19% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 162549514.535op/s 165618342.753op/s ± 312453.264op/s 165682849.709op/s ± 92347.689op/s 165750306.523op/s 165851848.521op/s 165871137.441op/s 165895393.337op/s 0.13% -5.702 47.021 0.19% 22093.782op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.898µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.914µs 3.917µs 3.918µs 3.920µs 0.21% -0.219 3.171 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255096388.709op/s 255616812.931op/s ± 174380.821op/s 255630074.878op/s ± 97944.056op/s 255715903.241op/s 255846132.957op/s 255936160.983op/s 256534297.913op/s 0.35% 0.229 3.213 0.07% 12330.586op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.165µs 64.442µs ± 0.138µs 64.422µs ± 0.075µs 64.502µs 64.723µs 64.849µs 64.876µs 0.70% 0.792 0.771 0.21% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15414092.176op/s 15517968.507op/s ± 33203.979op/s 15522663.762op/s ± 18152.172op/s 15539447.435op/s 15563546.690op/s 15574918.044op/s 15584786.132op/s 0.40% -0.779 0.744 0.21% 2347.876op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.089µs 58.370µs ± 0.152µs 58.337µs ± 0.083µs 58.442µs 58.648µs 58.827µs 58.940µs 1.03% 1.095 1.383 0.26% 0.011µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 16966368.022op/s 17132178.981op/s ± 44609.755op/s 17141884.726op/s ± 24517.330op/s 17162926.791op/s 17191498.031op/s 17200520.859op/s 17215092.472op/s 0.43% -1.078 1.332 0.26% 3154.386op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.897µs 3.913µs ± 0.002µs 3.912µs ± 0.001µs 3.914µs 3.917µs 3.918µs 3.920µs 0.20% -0.787 7.546 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255080044.837op/s 255584004.700op/s ± 159773.100op/s 255600639.006op/s ± 84555.309op/s 255672630.205op/s 255799349.552op/s 255829445.002op/s 256608007.575op/s 0.39% 0.804 7.650 0.06% 11297.664op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.567µs 54.933µs ± 0.260µs 54.904µs ± 0.197µs 55.102µs 55.401µs 55.594µs 55.739µs 1.52% 0.664 -0.245 0.47% 0.018µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17940644.659op/s 18204268.266op/s ± 85738.005op/s 18213539.036op/s ± 65582.141op/s 18279070.690op/s 18310674.569op/s 18317456.408op/s 18326092.681op/s 0.62% -0.645 -0.287 0.47% 6062.592op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 52.148µs 52.225µs ± 0.045µs 52.221µs ± 0.028µs 52.249µs 52.291µs 52.433µs 52.498µs 0.53% 2.101 9.110 0.09% 0.003µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19048253.989op/s 19147984.674op/s ± 16626.324op/s 19149308.907op/s ± 10404.921op/s 19159746.809op/s 19169025.730op/s 19171245.873op/s 19176095.080op/s 0.14% -2.083 8.993 0.09% 1175.659op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.027µs 6.037µs ± 0.013µs 6.035µs ± 0.003µs 6.038µs 6.050µs 6.102µs 6.145µs 1.82% 4.920 29.780 0.21% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 162738615.741op/s 165632580.031op/s ± 350825.755op/s 165707585.652op/s ± 69576.819op/s 165764363.656op/s 165839100.183op/s 165876648.081op/s 165913094.601op/s 0.12% -4.873 29.170 0.21% 24807.127op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.913µs; 3.914µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ throughput [255514601.531op/s; 255571934.273op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [79.705µs; 79.828µs] or [-0.077%; +0.077%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12527351.569op/s; 12546527.886op/s] or [-0.076%; +0.076%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [72.913µs; 73.018µs] or [-0.072%; +0.072%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13695726.395op/s; 13715306.525op/s] or [-0.071%; +0.071%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.013%; +0.013%] None None None
credit_card/is_card_number/37828224631 throughput [255568455.938op/s; 255635162.938op/s] or [-0.013%; +0.013%] None None None
credit_card/is_card_number/378282246310005 execution_time [69.673µs; 69.772µs] or [-0.071%; +0.071%] None None None
credit_card/is_card_number/378282246310005 throughput [14332863.991op/s; 14353045.321op/s] or [-0.070%; +0.070%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.218µs; 52.230µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19146068.836op/s; 19150318.421op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.036µs; 6.040µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number/x371413321323331 throughput [165575039.736op/s; 165661645.771op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.912µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ throughput [255592645.426op/s; 255640980.436op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [64.423µs; 64.461µs] or [-0.030%; +0.030%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15513366.755op/s; 15522570.260op/s] or [-0.030%; +0.030%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.349µs; 58.391µs] or [-0.036%; +0.036%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17125996.498op/s; 17138361.464op/s] or [-0.036%; +0.036%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255561861.685op/s; 255606147.715op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.897µs; 54.969µs] or [-0.065%; +0.065%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18192385.803op/s; 18216150.729op/s] or [-0.065%; +0.065%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.219µs; 52.231µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19145680.425op/s; 19150288.922op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.036µs; 6.039µs] or [-0.030%; +0.030%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165583958.955op/s; 165681201.106op/s] or [-0.029%; +0.029%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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 143.669µs 145.865µs ± 1.717µs 145.544µs ± 0.473µs 146.066µs 147.402µs 152.983µs 161.501µs 10.96% 5.790 43.693 1.17% 0.121µ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 [145.627µs; 146.103µs] or [-0.163%; +0.163%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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 159.410µs 160.290µs ± 0.341µs 160.230µs ± 0.132µs 160.386µs 160.751µs 160.991µs 163.471µs 2.02% 4.216 36.644 0.21% 0.024µ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 [160.242µs; 160.337µs] or [-0.029%; +0.029%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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.168µs 33.702µs ± 0.903µs 33.295µs ± 0.038µs 33.360µs 35.594µs 35.642µs 37.755µs 13.39% 1.874 2.195 2.67% 0.064µ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.577µs; 33.827µs] or [-0.371%; +0.371%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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.233µs 3.141µs ± 1.421µs 2.969µs ± 0.029µs 2.996µs 3.354µs 13.638µs 15.058µs 407.13% 7.525 57.174 45.14% 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 [2.944µs; 3.338µs] or [-6.271%; +6.271%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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.973µs 5.032µs ± 0.040µs 5.014µs ± 0.019µs 5.075µs 5.096µs 5.102µs 5.107µs 1.86% 0.621 -1.312 0.79% 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.026µs; 5.038µs] or [-0.109%; +0.109%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 120c364 1773078767 oscarld/memcached-fuzzing-fixes
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 732.238µs 733.777µs ± 0.652µs 733.822µs ± 0.475µs 734.150µs 734.939µs 735.443µs 735.854µs 0.28% 0.307 0.050 0.09% 0.046µ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 [733.686µs; 733.867µs] or [-0.012%; +0.012%] None None None

Baseline

Omitted due to size.

@dd-octo-sts
Copy link
Contributor

dd-octo-sts bot commented Mar 9, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.63 MB 8.63 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 100.28 MB 100.28 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.21 MB 11.21 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 116.94 MB 116.94 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.16 MB 27.16 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 76.26 KB 76.26 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 186.05 MB 186.01 MB --.01% (-32.00 KB) 💪
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 917.14 MB 917.14 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.93 MB 9.93 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 76.26 KB 76.26 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 24.77 MB 24.77 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 51.43 MB 51.43 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 22.97 MB 22.97 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.44 KB 77.44 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.26 MB 190.22 MB --.02% (-48.00 KB) 💪
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 900.80 MB 900.80 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.53 MB 7.53 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.44 KB 77.44 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 26.51 MB 26.51 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 47.05 MB 47.05 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 87.50 MB 87.50 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.21 MB 10.21 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 109.81 MB 109.81 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.95 MB 11.95 MB 0% (0 B) 👌

@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.03%. Comparing base (79f879e) to head (120c364).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1695      +/-   ##
==========================================
- Coverage   71.05%   71.03%   -0.03%     
==========================================
  Files         427      427              
  Lines       62963    62962       -1     
==========================================
- Hits        44738    44724      -14     
- Misses      18225    18238      +13     
Components Coverage Δ
libdd-crashtracker 62.44% <ø> (ø)
libdd-crashtracker-ffi 17.49% <ø> (ø)
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 88.02% <ø> (ø)
libdd-data-pipeline-ffi 75.72% <ø> (ø)
libdd-common 79.73% <ø> (ø)
libdd-common-ffi 73.40% <ø> (ø)
libdd-telemetry 62.48% <ø> (ø)
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 80.35% <ø> (ø)
libdd-profiling 81.60% <ø> (ø)
libdd-profiling-ffi 63.65% <ø> (ø)
datadog-sidecar 32.47% <ø> (ø)
datdog-sidecar-ffi 7.73% <ø> (ø)
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 94.77% <100.00%> (+0.07%) ⬆️
libdd-trace-protobuf 68.25% <ø> (ø)
libdd-trace-utils 89.08% <ø> (ø)
datadog-tracer-flare 88.95% <ø> (ø)
libdd-log 74.69% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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.

2 participants