feat(obfuscation/sql): feature parity on sql obfuscation [APMSP-2667]#1708
Conversation
There was a problem hiding this comment.
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.
Clippy Allow Annotation ReportComparing clippy allow annotations between branches:
Summary by Rule
Annotation Counts by File
Annotation Stats by Crate
About This ReportThis report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1708 +/- ##
==========================================
+ Coverage 70.47% 71.00% +0.53%
==========================================
Files 411 411
Lines 62220 64794 +2574
==========================================
+ Hits 43847 46010 +2163
- Misses 18373 18784 +411
🚀 New features to boost your workflow:
|
BenchmarksComparisonBenchmark execution time: 2026-03-24 19:27:06 Comparing candidate commit 8605260 in PR branch Found 12 performance improvements and 6 performance regressions! Performance is the same for 43 metrics, 0 unstable metrics.
|
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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.188ms | 4.196ms ± 0.003ms | 4.196ms ± 0.002ms | 4.198ms | 4.202ms | 4.204ms | 4.209ms | 0.31% | 0.506 | 0.736 | 0.08% | 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.196ms; 4.197ms] or [-0.011%; +0.011%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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.665µs | 146.661µs ± 1.687µs | 146.422µs ± 0.499µs | 146.917µs | 148.294µs | 153.644µs | 162.828µs | 11.20% | 6.021 | 48.415 | 1.15% | 0.119µ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.428µs; 146.895µs] or [-0.159%; +0.159%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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_timestamped_x1000 | execution_time | 4.189ms | 4.194ms ± 0.008ms | 4.193ms ± 0.001ms | 4.195ms | 4.197ms | 4.201ms | 4.299ms | 2.53% | 11.989 | 156.757 | 0.19% | 0.001ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| profile_add_sample_timestamped_x1000 | execution_time | [4.193ms; 4.195ms] or [-0.026%; +0.026%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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 | 4.959µs | 5.030µs ± 0.043µs | 5.036µs ± 0.041µs | 5.071µs | 5.082µs | 5.090µs | 5.103µs | 1.31% | -0.134 | -1.640 | 0.85% | 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.024µs; 5.036µs] or [-0.118%; +0.118%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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 | 13.058ms | 13.088ms ± 0.014ms | 13.087ms ± 0.008ms | 13.095ms | 13.109ms | 13.123ms | 13.163ms | 0.58% | 1.086 | 3.943 | 0.10% | 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 | [13.086ms; 13.090ms] or [-0.015%; +0.015%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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 | 736.562µs | 738.303µs ± 0.695µs | 738.261µs ± 0.454µs | 738.800µs | 739.442µs | 739.898µs | 740.261µs | 0.27% | 0.017 | -0.081 | 0.09% | 0.049µ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 | [738.207µs; 738.399µs] or [-0.013%; +0.013%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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 | 185.623µs | 186.040µs ± 0.198µs | 186.040µs ± 0.148µs | 186.185µs | 186.389µs | 186.458µs | 186.520µs | 0.26% | 0.218 | -0.746 | 0.11% | 0.014µs | 1 | 200 |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | 5361348.883op/s | 5375200.511op/s ± 5713.933op/s | 5375185.242op/s ± 4262.251op/s | 5379575.267op/s | 5383740.760op/s | 5384808.426op/s | 5387275.766op/s | 0.22% | -0.215 | -0.749 | 0.11% | 404.036op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | execution_time | 17.817µs | 17.888µs ± 0.094µs | 17.881µs ± 0.023µs | 17.900µs | 17.938µs | 17.955µs | 19.144µs | 7.07% | 11.866 | 155.481 | 0.53% | 0.007µs | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | throughput | 52234724.416op/s | 55905596.563op/s ± 277918.468op/s | 55926072.312op/s ± 70686.474op/s | 56000210.826op/s | 56070462.761op/s | 56102915.983op/s | 56125456.904op/s | 0.36% | -11.598 | 150.757 | 0.50% | 19651.803op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/good | execution_time | 10.541µs | 10.598µs ± 0.027µs | 10.596µs ± 0.018µs | 10.614µs | 10.640µs | 10.655µs | 10.735µs | 1.31% | 0.779 | 2.522 | 0.25% | 0.002µs | 1 | 200 |
| normalization/normalize_name/normalize_name/good | throughput | 93154495.664op/s | 94356741.704op/s ± 235991.008op/s | 94374692.043op/s ± 156433.839op/s | 94527336.264op/s | 94683880.023op/s | 94838973.820op/s | 94863675.106op/s | 0.52% | -0.750 | 2.386 | 0.25% | 16687.084op/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 | [186.012µs; 186.067µs] or [-0.015%; +0.015%] | None | None | None |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | [5374408.615op/s; 5375992.408op/s] or [-0.015%; +0.015%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | execution_time | [17.875µs; 17.901µs] or [-0.073%; +0.073%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | throughput | [55867079.737op/s; 55944113.390op/s] or [-0.069%; +0.069%] | None | None | None |
| normalization/normalize_name/normalize_name/good | execution_time | [10.594µs; 10.602µs] or [-0.035%; +0.035%] | None | None | None |
| normalization/normalize_name/normalize_name/good | throughput | [94324035.620op/s; 94389447.788op/s] or [-0.035%; +0.035%] | None | None | None |
Group 8
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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.605ms | 3.649ms ± 0.039ms | 3.636ms ± 0.013ms | 3.654ms | 3.738ms | 3.782ms | 3.824ms | 5.18% | 1.849 | 3.104 | 1.07% | 0.003ms | 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.643ms; 3.654ms] or [-0.148%; +0.148%] | None | None | None |
Group 9
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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 | 285.564µs | 286.228µs ± 0.539µs | 286.128µs ± 0.185µs | 286.380µs | 286.841µs | 288.033µs | 290.512µs | 1.53% | 5.006 | 34.541 | 0.19% | 0.038µ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 | [286.154µs; 286.303µs] or [-0.026%; +0.026%] | None | None | None |
Group 10
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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.201ns | 192.749ns ± 2.089ns | 192.444ns ± 1.368ns | 193.734ns | 196.389ns | 196.919ns | 206.743ns | 7.43% | 1.904 | 8.654 | 1.08% | 0.148ns | 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.460ns; 193.039ns] or [-0.150%; +0.150%] | None | None | None |
Group 11
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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 | 495.396µs | 496.892µs ± 1.684µs | 496.421µs ± 0.392µs | 496.934µs | 499.567µs | 505.631µs | 508.152µs | 2.36% | 4.043 | 20.871 | 0.34% | 0.119µs | 1 | 200 |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | 1967916.833op/s | 2012534.462op/s ± 6730.569op/s | 2014420.791op/s ± 1590.033op/s | 2015676.871op/s | 2017134.052op/s | 2018396.151op/s | 2018587.603op/s | 0.21% | -3.978 | 20.252 | 0.33% | 475.923op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | 371.306µs | 372.199µs ± 0.353µs | 372.175µs ± 0.250µs | 372.450µs | 372.810µs | 372.948µs | 373.180µs | 0.27% | 0.172 | -0.305 | 0.09% | 0.025µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | 2679670.135op/s | 2686737.025op/s ± 2548.230op/s | 2686905.216op/s ± 1800.989op/s | 2688611.425op/s | 2690541.786op/s | 2692736.717op/s | 2693199.285op/s | 0.23% | -0.167 | -0.306 | 0.09% | 180.187op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | 167.845µs | 168.308µs ± 0.198µs | 168.301µs ± 0.118µs | 168.410µs | 168.679µs | 168.782µs | 169.058µs | 0.45% | 0.467 | 0.521 | 0.12% | 0.014µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | 5915113.445op/s | 5941498.759op/s ± 6986.505op/s | 5941740.270op/s ± 4166.772op/s | 5946166.246op/s | 5952197.295op/s | 5956374.164op/s | 5957884.408op/s | 0.27% | -0.459 | 0.507 | 0.12% | 494.021op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | 36.847µs | 37.038µs ± 0.110µs | 37.056µs ± 0.093µs | 37.134µs | 37.195µs | 37.223µs | 37.283µs | 0.61% | -0.125 | -1.164 | 0.30% | 0.008µs | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | throughput | 26822035.314op/s | 26999741.402op/s ± 80449.799op/s | 26986187.550op/s ± 67781.044op/s | 27078200.191op/s | 27124500.082op/s | 27138292.136op/s | 27139194.164op/s | 0.57% | 0.132 | -1.166 | 0.30% | 5688.660op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | 46.314µs | 46.429µs ± 0.115µs | 46.416µs ± 0.038µs | 46.455µs | 46.522µs | 46.595µs | 47.848µs | 3.08% | 9.603 | 116.048 | 0.25% | 0.008µs | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | 20899427.774op/s | 21538337.899op/s ± 51931.392op/s | 21544127.460op/s ± 17608.912op/s | 21560746.506op/s | 21577511.745op/s | 21585687.998op/s | 21591836.558op/s | 0.22% | -9.413 | 112.881 | 0.24% | 3672.104op/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 | [496.658µs; 497.125µs] or [-0.047%; +0.047%] | None | None | None |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | [2011601.669op/s; 2013467.254op/s] or [-0.046%; +0.046%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | [372.150µs; 372.248µs] or [-0.013%; +0.013%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | [2686383.865op/s; 2687090.185op/s] or [-0.013%; +0.013%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | [168.280µs; 168.335µs] or [-0.016%; +0.016%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | [5940530.496op/s; 5942467.021op/s] or [-0.016%; +0.016%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | [37.022µs; 37.053µs] or [-0.041%; +0.041%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | throughput | [26988591.834op/s; 27010890.971op/s] or [-0.041%; +0.041%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | [46.413µs; 46.445µs] or [-0.034%; +0.034%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | [21531140.707op/s; 21545535.090op/s] or [-0.033%; +0.033%] | None | None | None |
Group 12
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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.897µs | 3.915µs ± 0.007µs | 3.914µs ± 0.002µs | 3.916µs | 3.920µs | 3.924µs | 3.979µs | 1.66% | 6.664 | 58.042 | 0.17% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/ | throughput | 251308179.565op/s | 255428998.267op/s ± 430914.321op/s | 255481656.432op/s ± 130518.973op/s | 255605526.787op/s | 255733302.935op/s | 255796080.130op/s | 256619940.745op/s | 0.45% | -6.584 | 57.121 | 0.17% | 30470.244op/s | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | 79.119µs | 79.962µs ± 0.195µs | 79.987µs ± 0.075µs | 80.063µs | 80.149µs | 80.223µs | 80.993µs | 1.26% | -1.102 | 7.824 | 0.24% | 0.014µs | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | 12346688.697op/s | 12506054.015op/s ± 30612.094op/s | 12502028.454op/s ± 11796.992op/s | 12513318.871op/s | 12586541.234op/s | 12609029.582op/s | 12639208.240op/s | 1.10% | 1.164 | 7.729 | 0.24% | 2164.602op/s | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | execution_time | 67.803µs | 67.963µs ± 0.078µs | 67.961µs ± 0.042µs | 68.000µs | 68.068µs | 68.109µs | 68.630µs | 0.98% | 3.174 | 25.645 | 0.11% | 0.005µs | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | throughput | 14570987.785op/s | 14713957.374op/s ± 16742.235op/s | 14714250.499op/s ± 9023.576op/s | 14723312.523op/s | 14737070.943op/s | 14742524.074op/s | 14748584.958op/s | 0.23% | -3.115 | 25.003 | 0.11% | 1183.855op/s | 1 | 200 |
| credit_card/is_card_number/37828224631 | execution_time | 3.892µs | 3.915µs ± 0.003µs | 3.915µs ± 0.002µs | 3.917µs | 3.919µs | 3.920µs | 3.921µs | 0.15% | -1.933 | 13.170 | 0.08% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/37828224631 | throughput | 255047036.463op/s | 255438782.335op/s ± 199657.561op/s | 255439307.657op/s ± 134743.301op/s | 255557423.814op/s | 255727578.365op/s | 255771373.253op/s | 256917103.359op/s | 0.58% | 1.960 | 13.412 | 0.08% | 14117.922op/s | 1 | 200 |
| credit_card/is_card_number/378282246310005 | execution_time | 64.792µs | 64.902µs ± 0.052µs | 64.894µs ± 0.033µs | 64.930µs | 64.990µs | 65.043µs | 65.068µs | 0.27% | 0.432 | 0.188 | 0.08% | 0.004µs | 1 | 200 |
| credit_card/is_card_number/378282246310005 | throughput | 15368636.579op/s | 15407783.964op/s ± 12407.857op/s | 15409709.887op/s ± 7761.068op/s | 15416437.130op/s | 15427305.614op/s | 15431780.527op/s | 15434093.335op/s | 0.16% | -0.427 | 0.182 | 0.08% | 877.368op/s | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | execution_time | 45.488µs | 45.651µs ± 0.066µs | 45.650µs ± 0.044µs | 45.695µs | 45.764µs | 45.799µs | 45.833µs | 0.40% | 0.021 | -0.031 | 0.14% | 0.005µs | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | throughput | 21818539.570op/s | 21905256.782op/s ± 31836.234op/s | 21905933.754op/s ± 20892.593op/s | 21924846.016op/s | 21955395.090op/s | 21981002.369op/s | 21983806.728op/s | 0.36% | -0.012 | -0.031 | 0.14% | 2251.162op/s | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | execution_time | 6.827µs | 6.838µs ± 0.005µs | 6.838µs ± 0.003µs | 6.841µs | 6.845µs | 6.848µs | 6.853µs | 0.21% | -0.081 | 0.217 | 0.07% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | throughput | 145920693.749op/s | 146242641.727op/s ± 98271.785op/s | 146233507.630op/s ± 55872.579op/s | 146298134.700op/s | 146427944.345op/s | 146460998.571op/s | 146472881.943op/s | 0.16% | 0.086 | 0.213 | 0.07% | 6948.865op/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.002µs | 3.917µs | 3.919µs | 3.922µs | 3.922µs | 0.18% | -0.994 | 5.450 | 0.08% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | throughput | 254965897.438op/s | 255437930.282op/s ± 197524.533op/s | 255421189.795op/s ± 120560.353op/s | 255568722.493op/s | 255743378.190op/s | 255795651.686op/s | 256631488.232op/s | 0.47% | 1.009 | 5.542 | 0.08% | 13967.094op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | 65.122µs | 65.758µs ± 0.066µs | 65.762µs ± 0.036µs | 65.798µs | 65.837µs | 65.857µs | 65.886µs | 0.19% | -4.438 | 40.705 | 0.10% | 0.005µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | 15177780.919op/s | 15207177.269op/s ± 15385.189op/s | 15206369.064op/s ± 8359.161op/s | 15214775.576op/s | 15225743.972op/s | 15233653.524op/s | 15355696.647op/s | 0.98% | 4.508 | 41.579 | 0.10% | 1087.897op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | 53.350µs | 53.426µs ± 0.042µs | 53.423µs ± 0.026µs | 53.447µs | 53.492µs | 53.557µs | 53.631µs | 0.39% | 1.081 | 2.841 | 0.08% | 0.003µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | 18645863.966op/s | 18717647.091op/s ± 14577.122op/s | 18718638.502op/s ± 9123.330op/s | 18728174.641op/s | 18737818.923op/s | 18743005.015op/s | 18744004.162op/s | 0.14% | -1.072 | 2.803 | 0.08% | 1030.758op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | 3.899µs | 3.914µs ± 0.003µs | 3.914µs ± 0.001µs | 3.915µs | 3.918µs | 3.920µs | 3.929µs | 0.40% | 0.302 | 7.622 | 0.07% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | 254485696.360op/s | 255502512.809op/s ± 180153.882op/s | 255507907.974op/s ± 76003.794op/s | 255576308.701op/s | 255771515.535op/s | 255830063.514op/s | 256452670.380op/s | 0.37% | -0.282 | 7.604 | 0.07% | 12738.803op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | 50.147µs | 50.227µs ± 0.035µs | 50.234µs ± 0.026µs | 50.252µs | 50.276µs | 50.299µs | 50.312µs | 0.16% | -0.107 | -0.702 | 0.07% | 0.002µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | 19875926.516op/s | 19909777.587op/s ± 13782.501op/s | 19906913.290op/s ± 10341.639op/s | 19921449.230op/s | 19931743.347op/s | 19938930.684op/s | 19941231.198op/s | 0.17% | 0.109 | -0.703 | 0.07% | 974.570op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | 45.396µs | 45.643µs ± 0.082µs | 45.650µs ± 0.055µs | 45.696µs | 45.771µs | 45.807µs | 45.825µs | 0.38% | -0.408 | 0.053 | 0.18% | 0.006µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | 21822071.202op/s | 21909378.462op/s ± 39344.603op/s | 21905702.055op/s ± 26213.782op/s | 21937219.793op/s | 21982120.262op/s | 22007389.616op/s | 22028195.285op/s | 0.56% | 0.419 | 0.065 | 0.18% | 2782.084op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | 6.827µs | 6.837µs ± 0.004µs | 6.837µs ± 0.003µs | 6.840µs | 6.844µs | 6.847µs | 6.850µs | 0.19% | 0.185 | -0.186 | 0.06% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | 145985882.177op/s | 146258970.259op/s ± 94435.116op/s | 146268215.927op/s ± 63911.293op/s | 146321567.800op/s | 146420931.293op/s | 146453197.673op/s | 146468907.945op/s | 0.14% | -0.181 | -0.188 | 0.06% | 6677.571op/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.916µs] or [-0.024%; +0.024%] | None | None | None |
| credit_card/is_card_number/ | throughput | [255369277.686op/s; 255488718.847op/s] or [-0.023%; +0.023%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | [79.935µs; 79.989µs] or [-0.034%; +0.034%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | [12501811.473op/s; 12510296.557op/s] or [-0.034%; +0.034%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | execution_time | [67.952µs; 67.974µs] or [-0.016%; +0.016%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | throughput | [14711637.061op/s; 14716277.686op/s] or [-0.016%; +0.016%] | None | None | None |
| credit_card/is_card_number/37828224631 | execution_time | [3.914µs; 3.915µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number/37828224631 | throughput | [255411111.717op/s; 255466452.953op/s] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number/378282246310005 | execution_time | [64.895µs; 64.910µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number/378282246310005 | throughput | [15406064.354op/s; 15409503.573op/s] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | execution_time | [45.642µs; 45.660µs] or [-0.020%; +0.020%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | throughput | [21900844.586op/s; 21909668.978op/s] or [-0.020%; +0.020%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | execution_time | [6.837µs; 6.839µs] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | throughput | [146229022.203op/s; 146256261.251op/s] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | execution_time | [3.914µs; 3.915µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | throughput | [255410555.282op/s; 255465305.283op/s] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | [65.749µs; 65.768µs] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | [15205045.029op/s; 15209309.508op/s] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | [53.420µs; 53.431µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | [18715626.842op/s; 18719667.340op/s] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | [3.913µs; 3.914µs] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | [255477545.213op/s; 255527480.404op/s] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | [50.222µs; 50.231µs] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | [19907867.465op/s; 19911687.709op/s] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | [45.631µs; 45.654µs] or [-0.025%; +0.025%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | [21903925.679op/s; 21914831.246op/s] or [-0.025%; +0.025%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | [6.837µs; 6.838µs] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | [146245882.461op/s; 146272058.058op/s] or [-0.009%; +0.009%] | None | None | None |
Group 13
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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.343µs | 2.371µs ± 0.013µs | 2.368µs ± 0.008µs | 2.376µs | 2.401µs | 2.414µs | 2.420µs | 2.17% | 1.307 | 2.143 | 0.54% | 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.369µs; 2.372µs] or [-0.075%; +0.075%] | None | None | None |
Group 14
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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 | 161.659µs | 162.410µs ± 0.452µs | 162.324µs ± 0.150µs | 162.479µs | 163.127µs | 163.513µs | 166.592µs | 2.63% | 4.721 | 36.835 | 0.28% | 0.032µ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 | [162.347µs; 162.472µs] or [-0.039%; +0.039%] | None | None | None |
Group 15
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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.962ms | 14.012ms ± 0.031ms | 14.007ms ± 0.014ms | 14.024ms | 14.078ms | 14.146ms | 14.183ms | 1.25% | 2.274 | 8.035 | 0.22% | 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.008ms; 14.016ms] or [-0.030%; +0.030%] | None | None | None |
Group 16
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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 | 50.191ms | 50.886ms ± 1.150ms | 50.797ms ± 0.125ms | 50.908ms | 51.127ms | 57.595ms | 61.939ms | 21.94% | 7.794 | 64.192 | 2.25% | 0.081ms | 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 | [50.727ms; 51.046ms] or [-0.313%; +0.313%] | None | None | None |
Group 17
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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 | 243.307ns | 253.595ns ± 12.684ns | 247.905ns ± 3.290ns | 256.611ns | 283.840ns | 297.290ns | 299.664ns | 20.88% | 2.028 | 3.488 | 4.99% | 0.897ns | 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 | [251.837ns; 255.353ns] or [-0.693%; +0.693%] | None | None | None |
Group 18
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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 | 33.798µs | 34.330µs ± 0.767µs | 34.030µs ± 0.142µs | 34.140µs | 35.929µs | 35.963µs | 37.413µs | 9.94% | 1.716 | 1.461 | 2.23% | 0.054µ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.224µs; 34.436µs] or [-0.310%; +0.310%] | None | None | None |
Group 19
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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 | 13.489µs | 13.635µs ± 0.070µs | 13.624µs ± 0.061µs | 13.699µs | 13.743µs | 13.763µs | 13.782µs | 1.16% | 0.159 | -1.231 | 0.51% | 0.005µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| two way interface | execution_time | [13.625µs; 13.645µs] or [-0.071%; +0.071%] | None | None | None |
Group 20
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8605260 | 1774379391 | 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 | 5.303µs | 5.405µs ± 0.040µs | 5.411µs ± 0.029µs | 5.438µs | 5.459µs | 5.474µs | 5.488µs | 1.41% | -0.420 | -0.718 | 0.74% | 0.003µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| write only interface | execution_time | [5.399µs; 5.410µs] or [-0.102%; +0.102%] | None | None | None |
Baseline
Omitted due to size.
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
There was a problem hiding this comment.
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.
|
@codex review |
There was a problem hiding this comment.
💡 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".
| if self.config.replace_digits { | ||
| self.emit(&apply_replace_digits(&token)); | ||
| } else { | ||
| self.emit(&token); |
There was a problem hiding this comment.
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 👍 / 👎.
|
✅ Tests 🎉 All green!❄️ No new flaky tests detected 🎯 Code Coverage (details) 🔗 Commit SHA: 8605260 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback! |
anais-raison
left a comment
There was a problem hiding this comment.
You should also add test for LIMIT, I didn't see any yet.
98fbe1a to
42b64b6
Compare
|
/merge |
|
View all feedbacks in Devflow UI.
This pull request is not mergeable according to GitHub. Common reasons include pending required checks, missing approvals, or merge conflicts — but it could also be blocked by other repository rules or settings.
The expected merge time in
|
c664ed7
into
main
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.