feat(obfuscation)!: feature parity on span obfuscation [APMSP-2671]#1788
Conversation
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❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1788 +/- ##
========================================
Coverage 71.16% 71.17%
========================================
Files 414 414
Lines 65739 65914 +175
========================================
+ Hits 46786 46916 +130
- Misses 18953 18998 +45
🚀 New features to boost your workflow:
|
|
✨ Fix all issues with BitsAI or with Cursor
|
BenchmarksComparisonBenchmark execution time: 2026-03-27 15:36:36 Comparing candidate commit 511e20d in PR branch Found 1 performance improvements and 0 performance regressions! Performance is the same for 61 metrics, 0 unstable metrics.
|
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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.663µs | 186.103µs ± 0.342µs | 186.047µs ± 0.156µs | 186.209µs | 186.524µs | 187.831µs | 188.344µs | 1.23% | 3.403 | 16.722 | 0.18% | 0.024µs | 1 | 200 |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | 5309438.735op/s | 5373383.739op/s ± 9806.138op/s | 5374993.113op/s ± 4507.639op/s | 5379394.217op/s | 5382688.170op/s | 5384319.867op/s | 5386098.426op/s | 0.21% | -3.364 | 16.410 | 0.18% | 693.399op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | execution_time | 17.824µs | 17.879µs ± 0.028µs | 17.876µs ± 0.010µs | 17.885µs | 17.921µs | 17.942µs | 18.138µs | 1.46% | 4.011 | 32.943 | 0.16% | 0.002µs | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | throughput | 55134377.304op/s | 55932976.039op/s ± 88495.273op/s | 55940900.085op/s ± 31026.800op/s | 55975153.621op/s | 56031194.260op/s | 56094448.798op/s | 56102912.543op/s | 0.29% | -3.922 | 31.891 | 0.16% | 6257.561op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/good | execution_time | 10.515µs | 10.571µs ± 0.046µs | 10.545µs ± 0.014µs | 10.596µs | 10.666µs | 10.707µs | 10.711µs | 1.58% | 1.175 | 0.357 | 0.44% | 0.003µs | 1 | 200 |
| normalization/normalize_name/normalize_name/good | throughput | 93358504.497op/s | 94602963.172op/s ± 413023.014op/s | 94831330.544op/s ± 125862.614op/s | 94902950.867op/s | 94968444.922op/s | 95031023.678op/s | 95104237.148op/s | 0.29% | -1.162 | 0.315 | 0.44% | 29205.137op/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.056µs; 186.150µs] or [-0.025%; +0.025%] | None | None | None |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | [5372024.702op/s; 5374742.775op/s] or [-0.025%; +0.025%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | execution_time | [17.875µs; 17.883µs] or [-0.022%; +0.022%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | throughput | [55920711.445op/s; 55945240.633op/s] or [-0.022%; +0.022%] | None | None | None |
| normalization/normalize_name/normalize_name/good | execution_time | [10.564µs; 10.577µs] or [-0.061%; +0.061%] | None | None | None |
| normalization/normalize_name/normalize_name/good | throughput | [94545722.155op/s; 94660204.190op/s] or [-0.061%; +0.061%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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.219ms | 14.269ms ± 0.031ms | 14.264ms ± 0.012ms | 14.275ms | 14.326ms | 14.391ms | 14.454ms | 1.33% | 2.592 | 9.556 | 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.264ms; 14.273ms] or [-0.030%; +0.030%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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.891µs | 3.912µs ± 0.003µs | 3.912µs ± 0.001µs | 3.914µs | 3.916µs | 3.919µs | 3.921µs | 0.22% | -2.222 | 21.659 | 0.07% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/ | throughput | 255052835.153op/s | 255601138.631op/s ± 174626.721op/s | 255602722.171op/s ± 91544.973op/s | 255698437.506op/s | 255796138.093op/s | 255862666.056op/s | 257035957.078op/s | 0.56% | 2.260 | 22.002 | 0.07% | 12347.974op/s | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | 78.952µs | 79.671µs ± 0.315µs | 79.628µs ± 0.198µs | 79.833µs | 80.251µs | 80.715µs | 80.880µs | 1.57% | 1.069 | 1.590 | 0.39% | 0.022µs | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | 12363974.205op/s | 12551878.473op/s ± 49439.495op/s | 12558370.258op/s ± 31252.747op/s | 12589311.675op/s | 12616146.021op/s | 12624455.960op/s | 12665895.588op/s | 0.86% | -1.040 | 1.502 | 0.39% | 3495.900op/s | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | execution_time | 72.359µs | 72.897µs ± 0.308µs | 72.845µs ± 0.196µs | 73.069µs | 73.446µs | 73.820µs | 74.079µs | 1.69% | 0.999 | 1.062 | 0.42% | 0.022µs | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | throughput | 13499021.761op/s | 13718314.167op/s ± 57742.301op/s | 13727782.949op/s ± 36970.302op/s | 13761988.701op/s | 13788770.632op/s | 13809086.343op/s | 13819975.392op/s | 0.67% | -0.973 | 0.982 | 0.42% | 4082.997op/s | 1 | 200 |
| credit_card/is_card_number/37828224631 | execution_time | 3.893µs | 3.912µs ± 0.003µs | 3.912µs ± 0.001µs | 3.914µs | 3.917µs | 3.920µs | 3.925µs | 0.32% | -0.652 | 11.455 | 0.07% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/37828224631 | throughput | 254800528.654op/s | 255598718.014op/s ± 187539.671op/s | 255609999.747op/s ± 92600.768op/s | 255701681.241op/s | 255808130.187op/s | 255945611.852op/s | 256872958.993op/s | 0.49% | 0.681 | 11.605 | 0.07% | 13261.057op/s | 1 | 200 |
| credit_card/is_card_number/378282246310005 | execution_time | 69.147µs | 69.483µs ± 0.234µs | 69.416µs ± 0.115µs | 69.595µs | 69.946µs | 70.196µs | 70.478µs | 1.53% | 1.344 | 1.800 | 0.34% | 0.017µs | 1 | 200 |
| credit_card/is_card_number/378282246310005 | throughput | 14188848.649op/s | 14392089.590op/s ± 48335.416op/s | 14405907.146op/s ± 23821.252op/s | 14424156.857op/s | 14446591.269op/s | 14456303.199op/s | 14461870.776op/s | 0.39% | -1.324 | 1.720 | 0.34% | 3417.830op/s | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | execution_time | 52.265µs | 52.330µs ± 0.029µs | 52.327µs ± 0.020µs | 52.348µs | 52.380µs | 52.406µs | 52.448µs | 0.23% | 0.626 | 0.956 | 0.06% | 0.002µs | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | throughput | 19066556.981op/s | 19109645.535op/s ± 10570.264op/s | 19110616.779op/s ± 7173.855op/s | 19117308.084op/s | 19125449.477op/s | 19130835.201op/s | 19133083.952op/s | 0.12% | -0.621 | 0.945 | 0.06% | 747.431op/s | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | execution_time | 5.705µs | 5.831µs ± 0.060µs | 5.830µs ± 0.042µs | 5.874µs | 5.932µs | 5.969µs | 6.013µs | 3.14% | 0.257 | -0.431 | 1.02% | 0.004µs | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | throughput | 166301409.064op/s | 171525969.794op/s ± 1754932.538op/s | 171524137.869op/s ± 1237925.389op/s | 172746029.543op/s | 174341924.791op/s | 175010837.134op/s | 175285591.627op/s | 2.19% | -0.212 | -0.477 | 1.02% | 124092.470op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | execution_time | 3.893µs | 3.912µs ± 0.003µs | 3.912µs ± 0.001µs | 3.913µs | 3.916µs | 3.918µs | 3.929µs | 0.44% | -1.073 | 17.546 | 0.07% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | throughput | 254523974.446op/s | 255625135.050op/s ± 190013.567op/s | 255633053.356op/s ± 81992.032op/s | 255715212.490op/s | 255801243.964op/s | 255919891.317op/s | 256854012.661op/s | 0.48% | 1.114 | 17.634 | 0.07% | 13435.988op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | 63.991µs | 64.466µs ± 0.182µs | 64.458µs ± 0.122µs | 64.578µs | 64.795µs | 64.884µs | 64.980µs | 0.81% | 0.218 | 0.034 | 0.28% | 0.013µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | 15389268.589op/s | 15512247.627op/s ± 43877.331op/s | 15514089.951op/s ± 29398.592op/s | 15543359.999op/s | 15573853.849op/s | 15613512.558op/s | 15627285.240op/s | 0.73% | -0.202 | 0.029 | 0.28% | 3102.596op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | 57.945µs | 58.137µs ± 0.146µs | 58.087µs ± 0.066µs | 58.233µs | 58.429µs | 58.566µs | 58.593µs | 0.87% | 1.242 | 0.815 | 0.25% | 0.010µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | 17067001.298op/s | 17200760.696op/s ± 42930.715op/s | 17215688.747op/s ± 19623.679op/s | 17231693.567op/s | 17244935.800op/s | 17248433.858op/s | 17257861.480op/s | 0.24% | -1.232 | 0.784 | 0.25% | 3035.660op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | 3.892µs | 3.912µs ± 0.003µs | 3.911µs ± 0.001µs | 3.913µs | 3.915µs | 3.918µs | 3.929µs | 0.45% | 0.634 | 21.037 | 0.07% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | 254518702.347op/s | 255653524.299op/s ± 184360.258op/s | 255662021.407op/s ± 79627.050op/s | 255742434.064op/s | 255843951.882op/s | 255906804.212op/s | 256913608.504op/s | 0.49% | -0.585 | 21.078 | 0.07% | 13036.239op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | 54.467µs | 54.857µs ± 0.216µs | 54.787µs ± 0.114µs | 54.974µs | 55.242µs | 55.615µs | 55.901µs | 2.03% | 1.337 | 2.808 | 0.39% | 0.015µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | 17888827.098op/s | 18229356.551op/s ± 71292.120op/s | 18252635.325op/s ± 37886.535op/s | 18280276.964op/s | 18305133.715op/s | 18346436.574op/s | 18359790.494op/s | 0.59% | -1.302 | 2.632 | 0.39% | 5041.114op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | 52.259µs | 52.339µs ± 0.028µs | 52.339µs ± 0.019µs | 52.357µs | 52.386µs | 52.410µs | 52.412µs | 0.14% | 0.025 | 0.022 | 0.05% | 0.002µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | 19079692.996op/s | 19106247.559op/s ± 10241.112op/s | 19106095.452op/s ± 6792.706op/s | 19113083.730op/s | 19122807.731op/s | 19129843.061op/s | 19135604.863op/s | 0.15% | -0.022 | 0.022 | 0.05% | 724.156op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | 5.703µs | 5.842µs ± 0.058µs | 5.837µs ± 0.043µs | 5.883µs | 5.934µs | 5.966µs | 5.993µs | 2.67% | 0.013 | -0.650 | 0.99% | 0.004µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | 166870354.294op/s | 171196026.857op/s ± 1704917.019op/s | 171329335.299op/s ± 1256344.991op/s | 172457809.113op/s | 173910781.725op/s | 174357607.752op/s | 175335438.995op/s | 2.34% | 0.027 | -0.656 | 0.99% | 120555.839op/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.912µs; 3.913µs] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number/ | throughput | [255576937.047op/s; 255625340.215op/s] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | [79.627µs; 79.714µs] or [-0.055%; +0.055%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | [12545026.635op/s; 12558730.312op/s] or [-0.055%; +0.055%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | execution_time | [72.854µs; 72.939µs] or [-0.059%; +0.059%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | throughput | [13710311.639op/s; 13726316.695op/s] or [-0.058%; +0.058%] | None | None | None |
| credit_card/is_card_number/37828224631 | execution_time | [3.912µs; 3.913µs] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number/37828224631 | throughput | [255572726.820op/s; 255624709.209op/s] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number/378282246310005 | execution_time | [69.451µs; 69.516µs] or [-0.047%; +0.047%] | None | None | None |
| credit_card/is_card_number/378282246310005 | throughput | [14385390.766op/s; 14398788.414op/s] or [-0.047%; +0.047%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | execution_time | [52.326µs; 52.334µs] or [-0.008%; +0.008%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | throughput | [19108180.598op/s; 19111110.472op/s] or [-0.008%; +0.008%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | execution_time | [5.822µs; 5.839µs] or [-0.142%; +0.142%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | throughput | [171282753.023op/s; 171769186.566op/s] or [-0.142%; +0.142%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | execution_time | [3.912µs; 3.912µs] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | throughput | [255598800.997op/s; 255651469.103op/s] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | [64.440µs; 64.491µs] or [-0.039%; +0.039%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | [15506166.651op/s; 15518328.603op/s] or [-0.039%; +0.039%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | [58.117µs; 58.157µs] or [-0.035%; +0.035%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | [17194810.912op/s; 17206710.481op/s] or [-0.035%; +0.035%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | [3.911µs; 3.912µs] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | [255627973.740op/s; 255679074.857op/s] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | [54.828µs; 54.887µs] or [-0.054%; +0.054%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | [18219476.149op/s; 18239236.953op/s] or [-0.054%; +0.054%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | [52.335µs; 52.343µs] or [-0.007%; +0.007%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | [19104828.239op/s; 19107666.879op/s] or [-0.007%; +0.007%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | [5.834µs; 5.850µs] or [-0.138%; +0.138%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | [170959741.755op/s; 171432311.959op/s] or [-0.138%; +0.138%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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.454µs | 33.940µs ± 0.836µs | 33.549µs ± 0.059µs | 33.675µs | 35.681µs | 35.754µs | 37.515µs | 11.82% | 1.802 | 1.827 | 2.46% | 0.059µ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.824µs; 34.056µs] or [-0.341%; +0.341%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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.192ms | 4.196ms ± 0.003ms | 4.196ms ± 0.001ms | 4.197ms | 4.200ms | 4.208ms | 4.215ms | 0.46% | 2.745 | 12.191 | 0.07% | 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.010%; +0.010%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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 | 14.778ms | 14.812ms ± 0.016ms | 14.810ms ± 0.010ms | 14.821ms | 14.839ms | 14.857ms | 14.869ms | 0.40% | 0.761 | 0.731 | 0.11% | 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 | [14.810ms; 14.814ms] or [-0.015%; +0.015%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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.336µs | 496.288µs ± 0.766µs | 496.097µs ± 0.286µs | 496.414µs | 497.849µs | 499.183µs | 501.535µs | 1.10% | 2.968 | 12.738 | 0.15% | 0.054µs | 1 | 200 |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | 1993879.676op/s | 2014963.580op/s ± 3097.914op/s | 2015733.472op/s ± 1161.045op/s | 2016703.854op/s | 2017685.122op/s | 2018289.158op/s | 2018829.850op/s | 0.15% | -2.941 | 12.490 | 0.15% | 219.056op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | 370.547µs | 371.295µs ± 0.335µs | 371.312µs ± 0.201µs | 371.488µs | 371.828µs | 372.162µs | 372.726µs | 0.38% | 0.503 | 1.159 | 0.09% | 0.024µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | 2682937.242op/s | 2693276.992op/s ± 2431.319op/s | 2693150.405op/s ± 1454.868op/s | 2695111.104op/s | 2696937.215op/s | 2698211.342op/s | 2698715.517op/s | 0.21% | -0.495 | 1.136 | 0.09% | 171.920op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | 167.805µs | 168.193µs ± 0.228µs | 168.139µs ± 0.107µs | 168.250µs | 168.690µs | 168.861µs | 168.967µs | 0.49% | 1.296 | 1.291 | 0.14% | 0.016µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | 5918319.484op/s | 5945575.743op/s ± 8041.616op/s | 5947448.621op/s ± 3793.821op/s | 5951113.334op/s | 5954268.120op/s | 5956876.211op/s | 5959296.343op/s | 0.20% | -1.289 | 1.274 | 0.13% | 568.628op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | 36.814µs | 37.001µs ± 0.109µs | 37.016µs ± 0.095µs | 37.097µs | 37.148µs | 37.187µs | 37.209µs | 0.52% | -0.131 | -1.312 | 0.29% | 0.008µs | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | throughput | 26875438.939op/s | 27026607.247op/s ± 79293.507op/s | 27015511.467op/s ± 69583.876op/s | 27102250.141op/s | 27147017.592op/s | 27155949.580op/s | 27163835.338op/s | 0.55% | 0.137 | -1.313 | 0.29% | 5606.898op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | 46.279µs | 46.385µs ± 0.056µs | 46.376µs ± 0.041µs | 46.428µs | 46.482µs | 46.513µs | 46.531µs | 0.33% | 0.376 | -0.635 | 0.12% | 0.004µs | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | 21490848.838op/s | 21558617.789op/s ± 25895.719op/s | 21562714.622op/s ± 18961.053op/s | 21579449.028op/s | 21594107.227op/s | 21606722.923op/s | 21608254.353op/s | 0.21% | -0.372 | -0.639 | 0.12% | 1831.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.182µs; 496.394µs] or [-0.021%; +0.021%] | None | None | None |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | [2014534.239op/s; 2015392.921op/s] or [-0.021%; +0.021%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | [371.249µs; 371.342µs] or [-0.013%; +0.013%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | [2692940.035op/s; 2693613.950op/s] or [-0.013%; +0.013%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | [168.161µs; 168.224µs] or [-0.019%; +0.019%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | [5944461.253op/s; 5946690.234op/s] or [-0.019%; +0.019%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | [36.986µs; 37.016µs] or [-0.041%; +0.041%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | throughput | [27015617.929op/s; 27037596.564op/s] or [-0.041%; +0.041%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | [46.378µs; 46.393µs] or [-0.017%; +0.017%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | [21555028.892op/s; 21562206.687op/s] or [-0.017%; +0.017%] | None | None | None |
Group 8
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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.382ms | 3.407ms ± 0.019ms | 3.402ms ± 0.008ms | 3.413ms | 3.448ms | 3.471ms | 3.482ms | 2.35% | 1.695 | 2.786 | 0.56% | 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.404ms; 3.410ms] or [-0.077%; +0.077%] | None | None | None |
Group 9
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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.615µs | 13.854µs ± 0.139µs | 13.827µs ± 0.106µs | 13.961µs | 14.099µs | 14.187µs | 14.373µs | 3.95% | 0.633 | 0.185 | 1.00% | 0.010µ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.834µs; 13.873µs] or [-0.139%; +0.139%] | None | None | None |
Group 10
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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 | 160.980µs | 161.721µs ± 0.254µs | 161.696µs ± 0.133µs | 161.846µs | 162.184µs | 162.582µs | 162.658µs | 0.59% | 0.755 | 2.006 | 0.16% | 0.018µ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 | [161.686µs; 161.756µs] or [-0.022%; +0.022%] | None | None | None |
Group 11
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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.980µs | 5.047µs ± 0.041µs | 5.052µs ± 0.032µs | 5.077µs | 5.111µs | 5.115µs | 5.129µs | 1.52% | 0.019 | -1.293 | 0.80% | 0.003µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| ip_address/quantize_peer_ip_address_benchmark | execution_time | [5.041µs; 5.052µs] or [-0.112%; +0.112%] | None | None | None |
Group 12
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| normalization/normalize_trace/test_trace | execution_time | 244.083ns | 255.282ns ± 12.183ns | 250.164ns ± 3.691ns | 256.542ns | 286.227ns | 289.768ns | 294.001ns | 17.52% | 1.634 | 1.567 | 4.76% | 0.861ns | 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 | [253.594ns; 256.971ns] or [-0.661%; +0.661%] | None | None | None |
Group 13
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| profile_serialize_compressed_pprof_timestamped_x1000 | execution_time | 925.605µs | 929.242µs ± 1.437µs | 929.212µs ± 0.812µs | 929.998µs | 931.915µs | 932.705µs | 934.110µs | 0.53% | 0.320 | 0.495 | 0.15% | 0.102µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| profile_serialize_compressed_pprof_timestamped_x1000 | execution_time | [929.043µs; 929.441µs] or [-0.021%; +0.021%] | None | None | None |
Group 14
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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.214ms | 49.672ms ± 0.816ms | 49.552ms ± 0.087ms | 49.636ms | 49.820ms | 55.331ms | 56.757ms | 14.54% | 7.168 | 53.442 | 1.64% | 0.058ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| benching deserializing traces from msgpack to their internal representation | execution_time | [49.559ms; 49.785ms] or [-0.228%; +0.228%] | None | None | None |
Group 15
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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.388µs | 2.436µs ± 0.016µs | 2.436µs ± 0.007µs | 2.442µs | 2.467µs | 2.475µs | 2.484µs | 1.98% | 0.150 | 1.442 | 0.65% | 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.434µs; 2.438µs] or [-0.090%; +0.090%] | None | None | None |
Group 16
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| single_flag_killswitch/rules-based | execution_time | 189.857ns | 192.347ns ± 1.980ns | 192.171ns ± 1.423ns | 193.268ns | 196.354ns | 198.681ns | 199.707ns | 3.92% | 1.020 | 1.118 | 1.03% | 0.140ns | 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.072ns; 192.621ns] or [-0.143%; +0.143%] | None | None | None |
Group 17
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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.472µs | 146.569µs ± 1.871µs | 146.267µs ± 0.661µs | 146.987µs | 148.768µs | 151.915µs | 165.034µs | 12.83% | 5.824 | 49.510 | 1.27% | 0.132µ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.310µs; 146.829µs] or [-0.177%; +0.177%] | None | None | None |
Group 18
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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 | 288.496µs | 289.084µs ± 0.704µs | 288.994µs ± 0.156µs | 289.151µs | 289.499µs | 291.007µs | 297.838µs | 3.06% | 9.978 | 118.872 | 0.24% | 0.050µ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 | [288.987µs; 289.182µs] or [-0.034%; +0.034%] | None | None | None |
Group 19
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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 | 726.904µs | 728.000µs ± 0.473µs | 727.947µs ± 0.309µs | 728.299µs | 728.804µs | 729.284µs | 729.487µs | 0.21% | 0.529 | 0.166 | 0.06% | 0.033µ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 | [727.935µs; 728.066µs] or [-0.009%; +0.009%] | None | None | None |
Group 20
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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.180ms | 4.185ms ± 0.008ms | 4.183ms ± 0.001ms | 4.185ms | 4.188ms | 4.211ms | 4.281ms | 2.32% | 8.737 | 93.655 | 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_timestamped_x1000 | execution_time | [4.184ms; 4.186ms] or [-0.027%; +0.027%] | None | None | None |
Group 21
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 511e20d | 1774624728 | oscarld/span-obfuscation-parity |
| 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.300µs | 5.365µs ± 0.029µs | 5.360µs ± 0.013µs | 5.377µs | 5.425µs | 5.448µs | 5.517µs | 2.94% | 1.487 | 4.404 | 0.54% | 0.002µ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.361µs; 5.369µs] or [-0.075%; +0.075%] | 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
|
|
@codex review |
There was a problem hiding this comment.
Pull request overview
This PR expands the Rust span obfuscation layer to reach closer parity with other obfuscation libraries by applying protocol-specific obfuscation (SQL/Redis/JSON/etc.) at the obfuscate_span level, and adds optional fuzzing support for protobuf message types.
Changes:
- Add
fuzzingfeature support inlibdd-trace-protobufby conditionally derivingbolero::TypeGeneratoron key protobuf types. - Extend
ObfuscationConfigandobfuscate_spanto support additional span types and tag-based obfuscation (SQL/Cassandra, Valkey, JSON bodies, credit-card detection, span events). - Refactor SQL and JSON obfuscation APIs/config to carry more structured configuration (notably DBMS selection for SQL).
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| libdd-trace-protobuf/src/pb.rs | Adds conditional bolero::TypeGenerator derives under fuzzing feature. |
| libdd-trace-protobuf/src/pb.idx.rs | Adds conditional bolero::TypeGenerator derives under fuzzing feature for idx types. |
| libdd-trace-protobuf/build.rs | Updates prost-build generation attributes to include fuzzing derives for selected types. |
| libdd-trace-protobuf/Cargo.toml | Adds optional bolero dependency and fuzzing feature. |
| libdd-trace-obfuscation/src/sql.rs | Refactors SQL obfuscation to accept an explicit DbmsKind parameter and passes DBMS through tokenizer. |
| libdd-trace-obfuscation/src/obfuscation_config.rs | Introduces structured sub-configs (redis/valkey/memcached/sql/json/credit-card) and defaults. |
| libdd-trace-obfuscation/src/obfuscate.rs | Adds span-type specific obfuscation paths (redis/valkey/sql/json) and span-event CC obfuscation. |
| libdd-trace-obfuscation/src/json.rs | Refactors JSON obfuscator to accept a config struct and transformer function pointer. |
| Cargo.lock | Updates bolero-related crates and records new dependency resolution. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c397b05830
ℹ️ 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".
…ement tests for redis/valkey
| const TAG_CARD_NUMBER: &str = "card.number"; | ||
|
|
||
| /// `obfuscate_span` goes through `span` fields and applies obfuscation on it | ||
| // TODO: return parsing errors in a vec |
There was a problem hiding this comment.
Are you planning to resolve this TODO in a futur PR ? If so you might wanna create a Jira ticket and add the ticket number here
There was a problem hiding this comment.
The thing is that I'm not sure what to do with these errors. I should probably log them somewhere but I have not though of it yet and accumulating the errors might add a large overhead in some cases.
Co-authored-by: Scarlett <77939650+anais-raison@users.noreply.github.com> Co-authored-by: Oscar Le Dauphin <90446228+Eldolfin@users.noreply.github.com>
102231d
into
main
# Release proposal for libdd-sampling and its dependencies This PR contains version bumps based on public API changes and commits since last release. ## libdd-tinybytes **Next version:** `1.1.1` **Semver bump:** `patch` **Tag:** `libdd-tinybytes-v1.1.1` ### Commits - perf: pre-compute string messagepack encoding (#1948) ## libdd-trace-protobuf **Next version:** `3.0.2` **Semver bump:** `patch` **Tag:** `libdd-trace-protobuf-v3.0.2` ### Commits - feat(obfuscation)!: feature parity on span obfuscation [APMSP-2671] (#1788) ## libdd-trace-utils **Next version:** `4.0.0` **Semver bump:** `major` **Tag:** `libdd-trace-utils-v4.0.0` ###⚠️ major bump forced due to: - `libdd-common`: ^3.0.2 → ^4.1.0 ### Commits - feat(trace-utils)!: search all spans to populate tracer payload fields (#1954) - perf: pre-compute string messagepack encoding (#1948) - feat(capablities)!: sleep & spawn capabilities (#1873) - feat(libdd-trace-utils): check for empty value in header datadog-client-computed-stats (#1900) - chore(benchmarks): add allocation size tracking allocator (#1905) - fix(crypto): gate libdd-common TLS features in obfuscation and capabilities-impl (#1872) - fix(libdd-traceutils): Update cloud environment detection logic for Serverless [SVLS-8799] (#1857) - fix(spawn_worker): defer trampoline self-deletion to avoid Valgrind false positive (#1844) - feat(runtime)!: add shared runtime (#1602) - ci: compilation of libdd-data-pipeline to wasm32 (#1830) - feat(capabilities)!: trait architecture http (#1555) - feat(trace-export): map DD span resource to OTLP resource.name attribute (#1811) - feat(otel): add support for OTLP trace export (#1641) ## libdd-sampling **Next version:** `1.0.0` **Semver bump:** `major` **Tag:** `libdd-sampling-v1.0.0` **Warning:** this is an initial release. Please verify that the version and commits included are correct. [APMSP-2671]: https://datadoghq.atlassian.net/browse/APMSP-2671?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ [SVLS-8799]: https://datadoghq.atlassian.net/browse/SVLS-8799?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: iunanua <18325288+iunanua@users.noreply.github.com>
# Release proposal for libdd-data-pipeline and its dependencies This PR contains version bumps based on public API changes and commits since last release. ## libdd-dogstatsd-client **Next version:** `3.0.0` **Semver bump:** `major` **Tag:** `libdd-dogstatsd-client-v3.0.0` ###⚠️ major bump forced due to: - `libdd-common`: ^3.0.2 → ^4.1.0 ### Commits - fix(crypto): gate libdd-common TLS features in remaining internal crates + add CI guard (#1943) ## libdd-trace-obfuscation **Next version:** `3.0.0` **Semver bump:** `major` **Tag:** `libdd-trace-obfuscation-v3.0.0` ###⚠️ major bump forced due to: - `libdd-common`: ^3.0.2 → ^4.1.0 - `libdd-trace-utils`: ^3.0.1 → ^4.0.0 ### Commits - feat!: integrate obfuscation to the stats exporter [APMSP-2764] (#1819) - feat!: added regex-lite feature (#1939) - chore: clippy (#1889) - fix(crypto): gate libdd-common TLS features in obfuscation and capabilities-impl (#1872) - feat(obfuscation)!: feature parity on span obfuscation [APMSP-2671] (#1788) - feat(obfuscation/sql): feature parity on sql obfuscation [APMSP-2667] (#1708) ## libdd-trace-stats **Next version:** `3.0.0` **Semver bump:** `major` **Tag:** `libdd-trace-stats-v3.0.0` ###⚠️ major bump forced due to: - `libdd-trace-utils`: ^3.0.1 → ^4.0.0 ### Commits - perf: pre-compute string messagepack encoding (#1948) - feat!: integrate obfuscation to the stats exporter [APMSP-2764] (#1819) - feat(capablities)!: sleep & spawn capabilities (#1873) - feat: use ip quantization when aggregating peer tags for trace stats (#1944) - fix(crypto): gate libdd-common TLS features in remaining internal crates + add CI guard (#1943) - feat(shared_runtime)!: allow worker to be stopped after fork (#1893) - feat(sidecar)!: Add stats computation via SHM (#1821) - feat(stats): propagate service source from span meta to client stats payload (#1803) - fix(stats): align with css spec (#1790) ## libdd-data-pipeline **Next version:** `4.0.0` **Semver bump:** `major` **Tag:** `libdd-data-pipeline-v4.0.0` ###⚠️ major bump forced due to: - `libdd-common`: ^3.0.2 → ^4.1.0 - `libdd-telemetry`: ^4.0.0 → ^5.0.0 - `libdd-trace-utils`: ^3.0.1 → ^4.0.0 ### Commits - fix(libdd-telemetry): restore previous Cargo.toml version (#1993) - fix(data-pipeline): remove default-features from of trace-obfuscation (#1981) - fix(trace_exporter: shared_runtime): unwrap_or being eager is not good (#1983) - perf: pre-compute string messagepack encoding (#1948) - feat!: integrate obfuscation to the stats exporter [APMSP-2764] (#1819) - feat(capablities)!: sleep & spawn capabilities (#1873) - fix(telemetry): avoid trigger loop in telemetry worker (#1950) - feat(telemetry)!: include dependencies and integrations in app-extended-heartbeat (#1962) - perf(trace-serializer): pre-allocate serialization buffer (#1949) - feat!: added regex-lite feature (#1939) - fix(crypto): gate libdd-common TLS features in remaining internal crates + add CI guard (#1943) - feat(telemetry): add session id support to trace export (#1822) - fix(path): missing bench path in data-pipeline (#1907) - feat(data-pipeline): port dd-trace-rs trace buffer implementation (#1826) - feat(info_fetcher): add timeout to info fetcher (#1890) - feat(shared_runtime)!: allow worker to be stopped after fork (#1893) - feat(sidecar)!: Add stats computation via SHM (#1821) - ci(libdd-shared-runtime): downgrade version so publish workflow succeeds (#1870) - feat(runtime)!: add shared runtime (#1602) - ci: compilation of libdd-data-pipeline to wasm32 (#1830) - feat(capabilities)!: trait architecture http (#1555) - feat(otel): add support for OTLP trace export (#1641) - fix(stats): align with css spec (#1790) --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: iunanua <18325288+iunanua@users.noreply.github.com>
What does this PR do?
Integrate the work that has been done on specific string obfuscation (sql, redis, json, etc...) in
obfuscate_spanwhich is the high level function that can be used externally.Motivation
Reach 100% parity between obfuscation libs.
Additional Notes
Anything else we should know when reviewing?
How to test the change?