Skip to content

feat(obfuscation/sql): feature parity on sql obfuscation [APMSP-2667]#1708

Open
Eldolfin wants to merge 5 commits intomainfrom
oscarld/obfuscation-sql-parity-cleaned
Open

feat(obfuscation/sql): feature parity on sql obfuscation [APMSP-2667]#1708
Eldolfin wants to merge 5 commits intomainfrom
oscarld/obfuscation-sql-parity-cleaned

Conversation

@Eldolfin
Copy link
Contributor

What does this PR do?

Implements missing features from agent's sql obfuscation.
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.

Motivation

Reach 100% parity between obfuscation libs.

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Describe here in detail how the change can be validated.

@Eldolfin Eldolfin requested review from a team as code owners March 11, 2026 12:57
@Eldolfin Eldolfin requested review from Copilot and removed request for a team March 11, 2026 12:57
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link

github-actions bot commented Mar 11, 2026

📚 Documentation Check Results

⚠️ 546 documentation warning(s) found

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


Updated: 2026-03-12 17:47:49 UTC | Commit: 306a9be | missing-docs job results

@github-actions
Copy link

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/oscarld/obfuscation-sql-parity-cleaned

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

🔒 Cargo Deny Results

No issues found!

📦 libdd-trace-obfuscation - ✅ No issues


Updated: 2026-03-12 17:50:53 UTC | Commit: 306a9be | dependency-check job results

@codecov-commenter
Copy link

codecov-commenter commented Mar 11, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.20%. Comparing base (b04809b) to head (e52e919).
⚠️ Report is 8 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1708      +/-   ##
==========================================
+ Coverage   71.18%   71.20%   +0.01%     
==========================================
  Files         429      429              
  Lines       63503    65443    +1940     
==========================================
+ Hits        45207    46601    +1394     
- Misses      18296    18842     +546     
Components Coverage Δ
libdd-crashtracker 62.44% <ø> (+0.11%) ⬆️
libdd-crashtracker-ffi 17.64% <ø> (+1.08%) ⬆️
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 88.32% <ø> (+0.13%) ⬆️
libdd-data-pipeline-ffi 76.94% <ø> (+0.98%) ⬆️
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% <ø> (-0.12%) ⬇️
libdd-profiling 81.60% <ø> (+0.01%) ⬆️
libdd-profiling-ffi 63.65% <ø> (ø)
datadog-sidecar 32.65% <ø> (+0.15%) ⬆️
datdog-sidecar-ffi 8.50% <ø> (+0.68%) ⬆️
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 79.19% <ø> (-12.62%) ⬇️
libdd-trace-protobuf 68.25% <ø> (ø)
libdd-trace-utils 89.08% <ø> (ø)
datadog-tracer-flare 88.95% <ø> (-1.50%) ⬇️
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.

@pr-commenter
Copy link

pr-commenter bot commented Mar 11, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-12 17:54:38

Comparing candidate commit e52e919 in PR branch oscarld/obfuscation-sql-parity-cleaned with baseline commit 0e8c2c6 in branch main.

Found 2 performance improvements and 13 performance regressions! Performance is the same for 43 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 [-718.741µs; -706.525µs] or [-4.889%; -4.806%]

scenario:concentrator/add_spans_to_concentrator

  • 🟩 execution_time [-2.325ms; -2.319ms] or [-17.826%; -17.782%]

scenario:credit_card/is_card_number/ 378282246310005

  • 🟥 execution_time [+5.578µs; +5.656µs] or [+8.211%; +8.326%]
  • 🟥 throughput [-1131172.629op/s; -1116602.981op/s] or [-7.685%; -7.586%]

scenario:credit_card/is_card_number/378282246310005

  • 🟥 execution_time [+5.538µs; +5.638µs] or [+8.560%; +8.714%]
  • 🟥 throughput [-1238418.879op/s; -1218293.468op/s] or [-8.013%; -7.883%]

scenario:credit_card/is_card_number/37828224631000521389798

  • 🟥 execution_time [+7.414µs; +7.442µs] or [+16.220%; +16.281%]
  • 🟥 throughput [-3064926.429op/s; -3051874.972op/s] or [-14.009%; -13.949%]

scenario:credit_card/is_card_number_no_luhn/ 378282246310005

  • 🟥 execution_time [+5.377µs; +5.423µs] or [+10.061%; +10.148%]
  • 🟥 throughput [-1723975.459op/s; -1710366.586op/s] or [-9.213%; -9.140%]

scenario:credit_card/is_card_number_no_luhn/378282246310005

  • 🟥 execution_time [+5.349µs; +5.392µs] or [+10.652%; +10.736%]
  • 🟥 throughput [-1930722.021op/s; -1916510.414op/s] or [-9.696%; -9.625%]

scenario:credit_card/is_card_number_no_luhn/37828224631000521389798

  • 🟥 execution_time [+7.403µs; +7.436µs] or [+16.193%; +16.264%]
  • 🟥 throughput [-3061864.775op/s; -3046528.249op/s] or [-13.998%; -13.928%]

scenario:sql/obfuscate_sql_string

  • 🟥 execution_time [+198.517µs; +198.666µs] or [+222.189%; +222.356%]

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 e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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.917ms 13.989ms ± 0.033ms 13.984ms ± 0.016ms 14.002ms 14.039ms 14.089ms 14.196ms 1.52% 1.805 7.912 0.23% 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 [13.985ms; 13.994ms] or [-0.033%; +0.033%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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.189µs 3.192µs ± 1.436µs 2.984µs ± 0.023µs 3.004µs 3.673µs 13.873µs 14.822µs 396.67% 7.380 55.527 44.86% 0.102µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [2.993µs; 3.391µs] or [-6.233%; +6.233%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
redis/obfuscate_redis_string execution_time 34.529µs 34.995µs ± 0.714µs 34.678µs ± 0.055µs 34.770µs 36.417µs 36.456µs 38.890µs 12.14% 2.057 4.125 2.04% 0.051µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
redis/obfuscate_redis_string execution_time [34.896µs; 35.094µs] or [-0.283%; +0.283%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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 204.627µs 205.788µs ± 0.570µs 205.758µs ± 0.421µs 206.167µs 206.823µs 207.106µs 207.517µs 0.86% 0.393 -0.379 0.28% 0.040µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4818884.191op/s 4859416.127op/s ± 13445.413op/s 4860086.332op/s ± 9933.905op/s 4870250.282op/s 4878996.631op/s 4880849.443op/s 4886934.174op/s 0.55% -0.381 -0.397 0.28% 950.734op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.576µs 18.781µs ± 0.160µs 18.725µs ± 0.098µs 18.871µs 19.077µs 19.167µs 19.318µs 3.17% 0.875 0.068 0.85% 0.011µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 51764262.041op/s 53250038.548op/s ± 449520.532op/s 53405388.360op/s ± 277961.323op/s 53633133.461op/s 53740281.469op/s 53789366.667op/s 53832976.348op/s 0.80% -0.842 -0.034 0.84% 31785.902op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.810µs 10.885µs ± 0.034µs 10.881µs ± 0.021µs 10.902µs 10.946µs 10.990µs 11.036µs 1.42% 0.917 1.848 0.31% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 90616614.937op/s 91867813.638op/s ± 287168.118op/s 91902737.440op/s ± 173731.031op/s 92074947.602op/s 92226658.669op/s 92442091.335op/s 92506219.454op/s 0.66% -0.889 1.757 0.31% 20305.852op/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 [205.709µs; 205.867µs] or [-0.038%; +0.038%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4857552.722op/s; 4861279.532op/s] or [-0.038%; +0.038%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.759µs; 18.803µs] or [-0.118%; +0.118%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53187739.326op/s; 53312337.771op/s] or [-0.117%; +0.117%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.881µs; 10.890µs] or [-0.043%; +0.043%] None None None
normalization/normalize_name/normalize_name/good throughput [91828014.899op/s; 91907612.378op/s] or [-0.043%; +0.043%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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.002µs 3.915µs ± 0.001µs 3.917µs 3.919µs 3.921µs 3.922µs 0.18% -2.336 22.441 0.06% 0.000µs 1 200
credit_card/is_card_number/ throughput 254986813.539op/s 255411487.873op/s ± 161798.026op/s 255446266.878op/s ± 68540.207op/s 255495592.706op/s 255562079.863op/s 255676491.486op/s 256757289.093op/s 0.51% 2.372 22.781 0.06% 11440.848op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 79.233µs 79.916µs ± 0.382µs 79.858µs ± 0.252µs 80.128µs 80.629µs 80.951µs 81.187µs 1.66% 0.639 0.066 0.48% 0.027µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12317198.357op/s 12513369.446op/s ± 59675.736op/s 12522227.583op/s ± 39408.796op/s 12552364.409op/s 12595225.455op/s 12607997.721op/s 12621069.614op/s 0.79% -0.616 0.018 0.48% 4219.712op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 73.155µs 73.556µs ± 0.271µs 73.486µs ± 0.167µs 73.713µs 74.073µs 74.314µs 74.499µs 1.38% 0.961 0.458 0.37% 0.019µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13423036.062op/s 13595178.684op/s ± 49924.827op/s 13608115.882op/s ± 30893.659op/s 13633518.348op/s 13657443.482op/s 13665994.481op/s 13669586.397op/s 0.45% -0.944 0.410 0.37% 3530.218op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.896µs 3.917µs ± 0.003µs 3.917µs ± 0.002µs 3.918µs 3.920µs 3.921µs 3.922µs 0.12% -2.572 18.608 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254983632.646op/s 255313861.406op/s ± 170361.929op/s 255288098.114op/s ± 105201.141op/s 255433919.252op/s 255541968.936op/s 255628624.946op/s 256679313.104op/s 0.54% 2.600 18.893 0.07% 12046.408op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 69.803µs 70.290µs ± 0.356µs 70.231µs ± 0.211µs 70.436µs 71.089µs 71.353µs 71.460µs 1.75% 1.158 1.098 0.51% 0.025µs 1 200
credit_card/is_card_number/378282246310005 throughput 13993842.709op/s 14227164.576op/s ± 71637.988op/s 14238666.239op/s ± 42898.236op/s 14281997.542op/s 14313363.888op/s 14317673.465op/s 14325939.980op/s 0.61% -1.132 1.020 0.50% 5065.571op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 53.060µs 53.136µs ± 0.029µs 53.137µs ± 0.021µs 53.156µs 53.186µs 53.200µs 53.211µs 0.14% 0.056 -0.398 0.05% 0.002µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 18792945.983op/s 18819689.291op/s ± 10311.929op/s 18819401.210op/s ± 7422.532op/s 18828112.384op/s 18835248.653op/s 18842841.991op/s 18846564.336op/s 0.14% -0.053 -0.399 0.05% 729.164op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.440µs 6.445µs ± 0.014µs 6.443µs ± 0.001µs 6.445µs 6.449µs 6.482µs 6.601µs 2.45% 9.093 89.039 0.22% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 151499828.782op/s 155159602.882op/s ± 333092.170op/s 155215280.947op/s ± 32211.419op/s 155241845.439op/s 155268643.491op/s 155282306.300op/s 155287318.059op/s 0.05% -9.039 88.078 0.21% 23553.173op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.897µs 3.915µs ± 0.003µs 3.915µs ± 0.001µs 3.917µs 3.920µs 3.922µs 3.923µs 0.21% -1.018 9.414 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254890938.103op/s 255415409.565op/s ± 180155.596op/s 255427484.138op/s ± 93443.027op/s 255520486.355op/s 255632184.856op/s 255725968.672op/s 256632983.295op/s 0.47% 1.040 9.566 0.07% 12738.924op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.912µs 65.140µs ± 0.134µs 65.110µs ± 0.058µs 65.192µs 65.383µs 65.590µs 65.927µs 1.26% 1.966 6.749 0.21% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15168202.562op/s 15351631.600op/s ± 31569.900op/s 15358716.538op/s ± 13592.131op/s 15370135.063op/s 15388548.996op/s 15402670.011op/s 15405555.243op/s 0.30% -1.936 6.558 0.21% 2232.329op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.599µs 58.840µs ± 0.161µs 58.805µs ± 0.093µs 58.931µs 59.172µs 59.288µs 59.359µs 0.94% 0.977 0.576 0.27% 0.011µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 16846557.027op/s 16995500.808op/s ± 46338.495op/s 17005469.148op/s ± 26936.049op/s 17030145.325op/s 17054638.847op/s 17061894.806op/s 17065210.861op/s 0.35% -0.964 0.544 0.27% 3276.626op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.896µs 3.915µs ± 0.003µs 3.915µs ± 0.002µs 3.917µs 3.919µs 3.921µs 3.923µs 0.19% -1.637 14.658 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254932621.957op/s 255416440.519op/s ± 171458.653op/s 255419402.411op/s ± 101879.833op/s 255522626.529op/s 255625026.200op/s 255668501.940op/s 256703993.068op/s 0.50% 1.665 14.887 0.07% 12123.958op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 55.306µs 55.590µs ± 0.139µs 55.562µs ± 0.079µs 55.644µs 55.863µs 55.980µs 56.281µs 1.29% 1.360 3.076 0.25% 0.010µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17767853.085op/s 17988813.313op/s ± 44910.282op/s 17997911.347op/s ± 25636.574op/s 18020054.929op/s 18042994.706op/s 18053055.836op/s 18081213.619op/s 0.46% -1.336 2.961 0.25% 3175.636op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 53.083µs 53.137µs ± 0.033µs 53.131µs ± 0.019µs 53.157µs 53.203µs 53.224µs 53.229µs 0.19% 0.724 -0.016 0.06% 0.002µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 18786755.318op/s 18819123.321op/s ± 11632.911op/s 18821570.517op/s ± 6816.654op/s 18827379.971op/s 18834496.635op/s 18837767.514op/s 18838349.617op/s 0.09% -0.721 -0.021 0.06% 822.571op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.431µs 6.438µs ± 0.004µs 6.438µs ± 0.003µs 6.441µs 6.445µs 6.448µs 6.450µs 0.19% 0.311 -0.324 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 155029850.728op/s 155320889.744op/s ± 96545.147op/s 155324551.113op/s ± 71986.710op/s 155392366.350op/s 155465265.113op/s 155502579.299op/s 155507969.183op/s 0.12% -0.308 -0.328 0.06% 6826.773op/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.915µs; 3.916µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ throughput [255389064.222op/s; 255433911.523op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [79.863µs; 79.969µs] or [-0.066%; +0.066%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12505098.963op/s; 12521639.929op/s] or [-0.066%; +0.066%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [73.519µs; 73.594µs] or [-0.051%; +0.051%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13588259.583op/s; 13602097.785op/s] or [-0.051%; +0.051%] None None None
credit_card/is_card_number/37828224631 execution_time [3.916µs; 3.917µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631 throughput [255290250.881op/s; 255337471.931op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/378282246310005 execution_time [70.241µs; 70.339µs] or [-0.070%; +0.070%] None None None
credit_card/is_card_number/378282246310005 throughput [14217236.240op/s; 14237092.912op/s] or [-0.070%; +0.070%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [53.132µs; 53.140µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [18818260.157op/s; 18821118.425op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.443µs; 6.447µs] or [-0.030%; +0.030%] None None None
credit_card/is_card_number/x371413321323331 throughput [155113439.511op/s; 155205766.253op/s] or [-0.030%; +0.030%] 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 [255390441.732op/s; 255440377.398op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.121µs; 65.159µs] or [-0.029%; +0.029%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15347256.315op/s; 15356006.884op/s] or [-0.029%; +0.029%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.817µs; 58.862µs] or [-0.038%; +0.038%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [16989078.738op/s; 17001922.877op/s] or [-0.038%; +0.038%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.915µs; 3.916µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255392677.998op/s; 255440203.039op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [55.571µs; 55.610µs] or [-0.035%; +0.035%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [17982589.180op/s; 17995037.446op/s] or [-0.035%; +0.035%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [53.133µs; 53.142µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [18817511.112op/s; 18820735.531op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.438µs; 6.439µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155307509.515op/s; 155334269.973op/s] or [-0.009%; +0.009%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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 5.024µs 5.099µs ± 0.047µs 5.099µs ± 0.043µs 5.121µs 5.188µs 5.189µs 5.189µs 1.77% 0.343 -0.813 0.93% 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.092µs; 5.105µs] or [-0.129%; +0.129%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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.283µs 2.364µs ± 0.017µs 2.367µs ± 0.005µs 2.370µs 2.386µs 2.396µs 2.405µs 1.60% -1.825 5.693 0.70% 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.362µs; 2.366µ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 e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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 164.048µs 164.442µs ± 0.241µs 164.396µs ± 0.128µs 164.538µs 164.900µs 165.127µs 165.601µs 0.73% 1.588 4.007 0.15% 0.017µ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.408µs; 164.475µs] or [-0.020%; +0.020%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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 245.330ns 254.546ns ± 12.348ns 248.705ns ± 2.164ns 254.788ns 281.972ns 294.161ns 296.123ns 19.07% 1.832 2.178 4.84% 0.873ns 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.835ns; 256.258ns] or [-0.672%; +0.672%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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.575µs 25.038µs ± 9.469µs 18.016µs ± 0.244µs 33.888µs 43.165µs 44.123µs 70.472µs 291.17% 1.142 1.329 37.72% 0.670µ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.726µs; 26.350µs] or [-5.241%; +5.241%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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.317µs 494.124µs ± 0.548µs 494.049µs ± 0.310µs 494.387µs 494.869µs 495.835µs 498.619µs 0.92% 3.206 21.685 0.11% 0.039µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 2005539.076op/s 2023785.486op/s ± 2237.400op/s 2024089.704op/s ± 1268.529op/s 2025195.457op/s 2026335.061op/s 2026521.228op/s 2027092.771op/s 0.15% -3.162 21.208 0.11% 158.208op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 369.343µs 370.018µs ± 0.305µs 369.999µs ± 0.189µs 370.215µs 370.507µs 370.787µs 371.034µs 0.28% 0.333 0.316 0.08% 0.022µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2695168.582op/s 2702575.309op/s ± 2228.005op/s 2702707.308op/s ± 1378.737op/s 2703997.905op/s 2706187.724op/s 2707322.939op/s 2707512.913op/s 0.18% -0.328 0.310 0.08% 157.544op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 167.281µs 167.613µs ± 0.137µs 167.592µs ± 0.077µs 167.691µs 167.863µs 167.944µs 168.325µs 0.44% 1.026 3.252 0.08% 0.010µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5940896.371op/s 5966134.155op/s ± 4863.849op/s 5966881.449op/s ± 2726.582op/s 5969033.764op/s 5973351.559op/s 5974978.065op/s 5977961.896op/s 0.19% -1.016 3.204 0.08% 343.926op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.050µs 37.249µs ± 0.060µs 37.249µs ± 0.030µs 37.286µs 37.338µs 37.381µs 37.383µs 0.36% -0.815 1.546 0.16% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26749824.002op/s 26846637.206op/s ± 43358.622op/s 26846400.690op/s ± 21312.421op/s 26865101.790op/s 26950239.198op/s 26983210.497op/s 26990647.582op/s 0.54% 0.829 1.572 0.16% 3065.918op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.375µs 45.624µs ± 0.161µs 45.619µs ± 0.108µs 45.719µs 45.832µs 46.040µs 46.816µs 2.62% 2.345 14.409 0.35% 0.011µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21360396.164op/s 21918427.490op/s ± 76711.840op/s 21920642.889op/s ± 51621.560op/s 21975242.212op/s 22017818.042op/s 22030204.843op/s 22038448.767op/s 0.54% -2.233 13.396 0.35% 5424.346op/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.048µs; 494.200µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2023475.403op/s; 2024095.568op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [369.975µs; 370.060µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2702266.529op/s; 2702884.089op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [167.594µs; 167.632µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5965460.073op/s; 5966808.238op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.240µs; 37.257µs] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26840628.118op/s; 26852646.294op/s] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.602µs; 45.647µs] or [-0.049%; +0.049%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21907795.966op/s; 21929059.013op/s] or [-0.049%; +0.049%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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.695ms 10.720ms ± 0.015ms 10.717ms ± 0.008ms 10.727ms 10.743ms 10.759ms 10.840ms 1.15% 2.947 18.897 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.718ms; 10.722ms] or [-0.020%; +0.020%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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.433ns 192.728ns ± 1.919ns 192.594ns ± 1.225ns 193.499ns 195.979ns 199.118ns 201.030ns 4.38% 1.407 2.794 0.99% 0.136ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
single_flag_killswitch/rules-based execution_time [192.462ns; 192.994ns] or [-0.138%; +0.138%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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.330ms 48.646ms ± 1.247ms 48.483ms ± 0.031ms 48.515ms 48.622ms 54.831ms 60.333ms 24.44% 8.482 72.774 2.56% 0.088ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching deserializing traces from msgpack to their internal representation execution_time [48.473ms; 48.819ms] or [-0.355%; +0.355%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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.616µs 146.571µs ± 1.737µs 146.287µs ± 0.465µs 146.823µs 147.904µs 153.087µs 163.882µs 12.03% 6.545 55.431 1.18% 0.123µ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.330µs; 146.812µs] or [-0.164%; +0.164%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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.396ms 3.428ms ± 0.017ms 3.425ms ± 0.009ms 3.434ms 3.464ms 3.478ms 3.502ms 2.26% 1.313 2.389 0.51% 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.425ms; 3.430ms] or [-0.070%; +0.070%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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 287.299µs 287.938µs ± 0.475µs 287.858µs ± 0.211µs 288.128µs 288.434µs 289.812µs 291.300µs 1.20% 3.990 23.985 0.16% 0.034µ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 [287.872µs; 288.004µs] or [-0.023%; +0.023%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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 746.893µs 748.069µs ± 0.790µs 747.997µs ± 0.408µs 748.416µs 749.090µs 749.506µs 755.321µs 0.98% 3.934 33.720 0.11% 0.056µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample2_frames_x1000 execution_time [747.959µs; 748.178µs] or [-0.015%; +0.015%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e52e919 1773337052 oscarld/obfuscation-sql-parity-cleaned
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.146ms 4.150ms ± 0.008ms 4.149ms ± 0.001ms 4.150ms 4.154ms 4.181ms 4.237ms 2.14% 6.905 59.749 0.20% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [4.149ms; 4.152ms] or [-0.028%; +0.028%] None None None

Baseline

Omitted due to size.

@dd-octo-sts
Copy link
Contributor

dd-octo-sts bot commented Mar 11, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 100.28 MB 100.28 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.63 MB 8.63 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 116.94 MB 116.94 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.21 MB 11.21 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.01 MB 186.02 MB +0% (+8.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 917.15 MB 917.15 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.23 MB --.02% (-40.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) 👌

@Eldolfin Eldolfin requested a review from Copilot March 12, 2026 15:42
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@Eldolfin
Copy link
Contributor Author

@codex review

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fae46a4e7a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

// Check for LIMIT (case-insensitive) + " ?, ?" or " ? ?"
if remaining.len() >= 9 {
let rb = remaining.as_bytes();
if rb.starts_with(b"LIMIT ?") {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Handle lowercase LIMIT in two-arg LIMIT collapse

collapse_limit_two_args is intended to collapse LIMIT ?, ? regardless of keyword case, but it currently matches only rb.starts_with(b"LIMIT ?"). For normalized SQL that keeps lowercase keywords (for example ... limit ?, ?), the second placeholder is not collapsed, so output diverges from the intended canonical form and leaks extra literal structure compared to uppercase inputs.

Useful? React with 👍 / 👎.

Comment on lines +1415 to +1418
if self.config.replace_digits {
self.emit(&apply_replace_digits(&token));
} else {
self.emit(&token);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Obfuscate Unicode @ bind vars when replacement is enabled

In the Unicode @ bind-variable path, the code only applies replace_digits and otherwise emits the original token, unlike the ASCII @name path which honors replace_bind_parameter. With replace_bind_parameter=true in new modes, this leaves values like @ᏤᏤ unobfuscated while @name is replaced, causing inconsistent behavior and potential leakage of bind parameter identifiers.

Useful? React with 👍 / 👎.

@Eldolfin Eldolfin changed the title feat(obfuscation/sql): feature parity on sql obfuscation feat(obfuscation/sql): feature parity on sql obfuscation [APMSP-2667] Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants