refactor(libdd-data-pipeline): feature gate telemetry#1778
refactor(libdd-data-pipeline): feature gate telemetry#1778
Conversation
📚 Documentation Check Results📦
|
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. |
🔒 Cargo Deny Results📦
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1778 +/- ##
==========================================
+ Coverage 71.46% 71.52% +0.06%
==========================================
Files 426 427 +1
Lines 67374 67409 +35
==========================================
+ Hits 48148 48216 +68
+ Misses 19226 19193 -33
🚀 New features to boost your workflow:
|
|
✅ Tests 🎉 All green!❄️ No new flaky tests detected 🎯 Code Coverage (details) 🔗 Commit SHA: 36290ab | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback! |
BenchmarksComparisonBenchmark execution time: 2026-03-25 08:47:41 Comparing candidate commit c00625e in PR branch Found 6 performance improvements and 12 performance regressions! Performance is the same for 42 metrics, 1 unstable metrics.
|
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| sql/obfuscate_sql_string | execution_time | 86.889µs | 87.083µs ± 0.259µs | 87.060µs ± 0.064µs | 87.123µs | 87.218µs | 87.441µs | 90.461µs | 3.91% | 11.172 | 142.295 | 0.30% | 0.018µ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 | [87.047µs; 87.119µs] or [-0.041%; +0.041%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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.408ms | 3.442ms ± 0.021ms | 3.437ms ± 0.010ms | 3.449ms | 3.485ms | 3.506ms | 3.527ms | 2.64% | 1.422 | 2.404 | 0.60% | 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.439ms; 3.445ms] or [-0.084%; +0.084%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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.992µs | 186.370µs ± 0.209µs | 186.353µs ± 0.146µs | 186.501µs | 186.738µs | 186.854µs | 186.889µs | 0.29% | 0.381 | -0.445 | 0.11% | 0.015µs | 1 | 200 |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | 5350776.150op/s | 5365688.064op/s ± 6008.398op/s | 5366158.485op/s ± 4220.077op/s | 5370312.950op/s | 5375026.735op/s | 5376292.599op/s | 5376561.606op/s | 0.19% | -0.376 | -0.449 | 0.11% | 424.858op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | execution_time | 17.814µs | 17.899µs ± 0.041µs | 17.891µs ± 0.021µs | 17.918µs | 17.968µs | 18.001µs | 18.164µs | 1.53% | 1.803 | 8.337 | 0.23% | 0.003µs | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | throughput | 55054640.574op/s | 55868836.247op/s ± 127881.149op/s | 55894444.986op/s ± 66776.322op/s | 55944371.557op/s | 56040585.251op/s | 56099786.436op/s | 56135173.498op/s | 0.43% | -1.755 | 7.991 | 0.23% | 9042.563op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/good | execution_time | 10.198µs | 10.459µs ± 0.219µs | 10.305µs ± 0.055µs | 10.692µs | 10.769µs | 10.836µs | 10.848µs | 5.27% | 0.378 | -1.710 | 2.08% | 0.015µs | 1 | 200 |
| normalization/normalize_name/normalize_name/good | throughput | 92183993.622op/s | 95654688.959op/s ± 1983640.989op/s | 97040739.097op/s ± 522334.740op/s | 97357345.657op/s | 97635255.486op/s | 97804983.567op/s | 98060424.684op/s | 1.05% | -0.369 | -1.723 | 2.07% | 140264.599op/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.341µs; 186.399µs] or [-0.016%; +0.016%] | None | None | None |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | [5364855.358op/s; 5366520.770op/s] or [-0.016%; +0.016%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | execution_time | [17.893µs; 17.905µs] or [-0.032%; +0.032%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | throughput | [55851113.150op/s; 55886559.344op/s] or [-0.032%; +0.032%] | None | None | None |
| normalization/normalize_name/normalize_name/good | execution_time | [10.428µs; 10.489µs] or [-0.290%; +0.290%] | None | None | None |
| normalization/normalize_name/normalize_name/good | throughput | [95379775.396op/s; 95929602.522op/s] or [-0.287%; +0.287%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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.092µs | 146.339µs ± 1.828µs | 146.019µs ± 0.511µs | 146.610µs | 148.029µs | 152.176µs | 163.838µs | 12.20% | 6.078 | 49.380 | 1.25% | 0.129µ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.085µs; 146.592µs] or [-0.173%; +0.173%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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.164ms | 4.169ms ± 0.008ms | 4.168ms ± 0.001ms | 4.170ms | 4.172ms | 4.176ms | 4.275ms | 2.56% | 11.917 | 154.950 | 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.168ms; 4.170ms] or [-0.026%; +0.026%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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 | 12.979ms | 13.009ms ± 0.015ms | 13.008ms ± 0.009ms | 13.017ms | 13.032ms | 13.051ms | 13.088ms | 0.62% | 1.125 | 3.481 | 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 | [13.007ms; 13.011ms] or [-0.016%; +0.016%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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 | 18.160µs | 26.497µs ± 9.862µs | 18.446µs ± 0.228µs | 34.947µs | 44.622µs | 45.726µs | 69.934µs | 279.12% | 0.880 | 0.475 | 37.13% | 0.697µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| two way interface | execution_time | [25.130µs; 27.864µs] or [-5.158%; +5.158%] | None | None | None |
Group 8
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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.624µs | 161.212µs ± 0.302µs | 161.173µs ± 0.124µs | 161.306µs | 161.641µs | 162.129µs | 163.866µs | 1.67% | 4.016 | 29.859 | 0.19% | 0.021µ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.170µs; 161.253µs] or [-0.026%; +0.026%] | None | None | None |
Group 9
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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.299µs | 496.163µs ± 0.742µs | 496.068µs ± 0.261µs | 496.366µs | 496.860µs | 497.270µs | 504.762µs | 1.75% | 7.910 | 88.433 | 0.15% | 0.052µs | 1 | 200 |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | 1981131.266op/s | 2015470.597op/s ± 2979.200op/s | 2015851.762op/s ± 1061.290op/s | 2016844.574op/s | 2018044.208op/s | 2018603.567op/s | 2018981.567op/s | 0.16% | -7.786 | 86.495 | 0.15% | 210.661op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | 370.757µs | 371.511µs ± 0.312µs | 371.494µs ± 0.233µs | 371.736µs | 371.994µs | 372.240µs | 372.916µs | 0.38% | 0.475 | 1.129 | 0.08% | 0.022µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | 2681568.414op/s | 2691709.400op/s ± 2260.882op/s | 2691830.050op/s ± 1688.770op/s | 2693398.057op/s | 2695040.696op/s | 2696102.736op/s | 2697181.563op/s | 0.20% | -0.468 | 1.106 | 0.08% | 159.868op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | 168.528µs | 168.901µs ± 0.165µs | 168.890µs ± 0.101µs | 168.988µs | 169.223µs | 169.346µs | 169.391µs | 0.30% | 0.463 | 0.139 | 0.10% | 0.012µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | 5903507.040op/s | 5920636.236op/s ± 5794.224op/s | 5921003.079op/s ± 3530.761op/s | 5924504.862op/s | 5929428.098op/s | 5931651.171op/s | 5933718.160op/s | 0.21% | -0.457 | 0.133 | 0.10% | 409.713op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | 36.823µs | 37.017µs ± 0.111µs | 37.027µs ± 0.101µs | 37.103µs | 37.179µs | 37.270µs | 37.283µs | 0.69% | 0.109 | -1.164 | 0.30% | 0.008µs | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | throughput | 26821987.927op/s | 27014790.460op/s ± 81111.286op/s | 27007511.195op/s ± 73656.130op/s | 27099271.650op/s | 27123531.983op/s | 27135712.746op/s | 27156573.419op/s | 0.55% | -0.101 | -1.173 | 0.30% | 5735.434op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | 46.208µs | 46.299µs ± 0.098µs | 46.286µs ± 0.027µs | 46.319µs | 46.372µs | 46.443µs | 47.527µs | 2.68% | 9.959 | 121.654 | 0.21% | 0.007µs | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | 21040532.340op/s | 21598953.798op/s ± 44809.371op/s | 21604692.151op/s ± 12741.646op/s | 21616653.664op/s | 21629507.821op/s | 21636380.565op/s | 21641063.748op/s | 0.17% | -9.804 | 119.027 | 0.21% | 3168.501op/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.060µs; 496.266µs] or [-0.021%; +0.021%] | None | None | None |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | [2015057.709op/s; 2015883.486op/s] or [-0.020%; +0.020%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | [371.468µs; 371.555µs] or [-0.012%; +0.012%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | [2691396.063op/s; 2692022.736op/s] or [-0.012%; +0.012%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | [168.878µs; 168.924µs] or [-0.014%; +0.014%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | [5919833.212op/s; 5921439.260op/s] or [-0.014%; +0.014%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | [37.002µs; 37.032µs] or [-0.042%; +0.042%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | throughput | [27003549.216op/s; 27026031.704op/s] or [-0.042%; +0.042%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | [46.285µs; 46.312µs] or [-0.029%; +0.029%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | [21592743.651op/s; 21605163.946op/s] or [-0.029%; +0.029%] | None | None | None |
Group 10
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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.900µs | 3.915µs ± 0.002µs | 3.915µs ± 0.001µs | 3.916µs | 3.919µs | 3.920µs | 3.922µs | 0.18% | -0.841 | 6.080 | 0.06% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/ | throughput | 254998112.715op/s | 255449817.160op/s ± 159150.157op/s | 255451183.296op/s ± 94077.487op/s | 255546586.152op/s | 255681755.211op/s | 255721532.091op/s | 256427884.299op/s | 0.38% | 0.854 | 6.163 | 0.06% | 11253.616op/s | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | 79.159µs | 79.874µs ± 0.424µs | 79.806µs ± 0.287µs | 80.099µs | 80.645µs | 81.097µs | 81.830µs | 2.54% | 1.018 | 1.721 | 0.53% | 0.030µs | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | 12220517.492op/s | 12520046.788op/s ± 66162.050op/s | 12530330.746op/s ± 45221.124op/s | 12574443.101op/s | 12607918.531op/s | 12619855.910op/s | 12632759.271op/s | 0.82% | -0.976 | 1.547 | 0.53% | 4678.363op/s | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | execution_time | 82.962µs | 84.098µs ± 0.532µs | 84.067µs ± 0.389µs | 84.464µs | 85.141µs | 85.414µs | 85.486µs | 1.69% | 0.390 | -0.270 | 0.63% | 0.038µs | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | throughput | 11697841.414op/s | 11891326.003op/s ± 75084.033op/s | 11895246.709op/s ± 54923.086op/s | 11947976.819op/s | 12001208.072op/s | 12038982.524op/s | 12053765.059op/s | 1.33% | -0.361 | -0.301 | 0.63% | 5309.243op/s | 1 | 200 |
| credit_card/is_card_number/37828224631 | execution_time | 3.895µs | 3.916µs ± 0.003µs | 3.916µs ± 0.002µs | 3.918µs | 3.921µs | 3.924µs | 3.925µs | 0.23% | -0.683 | 5.547 | 0.09% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/37828224631 | throughput | 254794169.193op/s | 255365278.621op/s ± 223275.111op/s | 255382843.121op/s ± 142262.222op/s | 255514366.295op/s | 255652233.281op/s | 255727732.216op/s | 256718772.372op/s | 0.52% | 0.702 | 5.660 | 0.09% | 15787.935op/s | 1 | 200 |
| credit_card/is_card_number/378282246310005 | execution_time | 69.787µs | 70.383µs ± 0.420µs | 70.319µs ± 0.302µs | 70.660µs | 71.201µs | 71.443µs | 71.457µs | 1.62% | 0.680 | -0.422 | 0.60% | 0.030µs | 1 | 200 |
| credit_card/is_card_number/378282246310005 | throughput | 13994489.522op/s | 14208542.813op/s ± 84445.118op/s | 14220812.871op/s ± 61438.616op/s | 14280571.348op/s | 14312206.124op/s | 14320499.623op/s | 14329229.590op/s | 0.76% | -0.661 | -0.460 | 0.59% | 5971.172op/s | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | execution_time | 53.052µs | 53.129µs ± 0.041µs | 53.123µs ± 0.025µs | 53.155µs | 53.186µs | 53.231µs | 53.371µs | 0.47% | 1.704 | 7.232 | 0.08% | 0.003µs | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | throughput | 18736908.329op/s | 18822142.870op/s ± 14371.930op/s | 18824282.149op/s ± 8800.702op/s | 18832455.046op/s | 18840503.480op/s | 18844851.485op/s | 18849579.260op/s | 0.13% | -1.689 | 7.134 | 0.08% | 1016.249op/s | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | execution_time | 6.428µs | 6.440µs ± 0.005µs | 6.440µs ± 0.004µs | 6.444µs | 6.449µs | 6.452µs | 6.453µs | 0.21% | 0.209 | -0.681 | 0.08% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | throughput | 154958306.842op/s | 155283688.224op/s ± 129051.028op/s | 155289992.570op/s ± 100909.293op/s | 155385867.709op/s | 155473278.447op/s | 155515815.467op/s | 155569461.815op/s | 0.18% | -0.206 | -0.682 | 0.08% | 9125.286op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | execution_time | 3.898µs | 3.916µs ± 0.003µs | 3.915µs ± 0.002µs | 3.918µs | 3.921µs | 3.923µs | 3.925µs | 0.25% | -0.510 | 3.824 | 0.08% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | throughput | 254770741.745op/s | 255377526.312op/s ± 209622.655op/s | 255398327.142op/s ± 136343.761op/s | 255517902.358op/s | 255660399.075op/s | 255725833.089op/s | 256551222.300op/s | 0.45% | 0.524 | 3.893 | 0.08% | 14822.560op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | 64.936µs | 65.168µs ± 0.153µs | 65.122µs ± 0.091µs | 65.246µs | 65.478µs | 65.641µs | 65.716µs | 0.91% | 1.081 | 0.827 | 0.23% | 0.011µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | 15217101.097op/s | 15345029.175op/s ± 35883.549op/s | 15355795.272op/s ± 21413.392op/s | 15371943.901op/s | 15385825.658op/s | 15393965.686op/s | 15399886.041op/s | 0.29% | -1.069 | 0.791 | 0.23% | 2537.350op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | 58.525µs | 59.037µs ± 0.237µs | 58.993µs ± 0.155µs | 59.171µs | 59.445µs | 59.583µs | 59.775µs | 1.33% | 0.508 | -0.216 | 0.40% | 0.017µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | 16729372.290op/s | 16938894.581op/s ± 67988.112op/s | 16951229.623op/s ± 44372.038op/s | 16991279.655op/s | 17031831.733op/s | 17063458.101op/s | 17086824.993op/s | 0.80% | -0.490 | -0.240 | 0.40% | 4807.486op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | 3.893µs | 3.915µs ± 0.003µs | 3.915µs ± 0.001µs | 3.916µs | 3.919µs | 3.920µs | 3.921µs | 0.17% | -2.162 | 18.687 | 0.07% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | 255030819.801op/s | 255445383.690op/s ± 179896.332op/s | 255457989.936op/s ± 93848.783op/s | 255542170.847op/s | 255649158.502op/s | 255732038.735op/s | 256883419.970op/s | 0.56% | 2.196 | 19.002 | 0.07% | 12720.592op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | 55.333µs | 55.665µs ± 0.189µs | 55.638µs ± 0.125µs | 55.773µs | 56.028µs | 56.237µs | 56.395µs | 1.36% | 1.098 | 1.475 | 0.34% | 0.013µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | 17732127.838op/s | 17964889.766op/s ± 60862.807op/s | 17973285.409op/s ± 40412.207op/s | 18012562.412op/s | 18038598.090op/s | 18054405.670op/s | 18072245.609op/s | 0.55% | -1.075 | 1.393 | 0.34% | 4303.650op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | 53.061µs | 53.128µs ± 0.042µs | 53.120µs ± 0.023µs | 53.150µs | 53.198µs | 53.240µs | 53.414µs | 0.55% | 2.004 | 9.998 | 0.08% | 0.003µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | 18721564.766op/s | 18822307.622op/s ± 14738.147op/s | 18825263.703op/s ± 8222.076op/s | 18831873.814op/s | 18840956.212op/s | 18844963.097op/s | 18846318.147op/s | 0.11% | -1.986 | 9.838 | 0.08% | 1042.144op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | 6.429µs | 6.439µs ± 0.005µs | 6.439µs ± 0.004µs | 6.443µs | 6.449µs | 6.450µs | 6.452µs | 0.20% | 0.314 | -0.670 | 0.08% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | 154996791.347op/s | 155302146.082op/s ± 124513.060op/s | 155311798.439op/s ± 95780.778op/s | 155407875.295op/s | 155476669.433op/s | 155512467.254op/s | 155553033.074op/s | 0.16% | -0.311 | -0.673 | 0.08% | 8804.403op/s | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| credit_card/is_card_number/ | execution_time | [3.914µs; 3.915µs] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number/ | throughput | [255427760.479op/s; 255471873.842op/s] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | [79.815µs; 79.933µs] or [-0.074%; +0.074%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | [12510877.365op/s; 12529216.212op/s] or [-0.073%; +0.073%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | execution_time | [84.024µs; 84.172µs] or [-0.088%; +0.088%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | throughput | [11880920.078op/s; 11901731.928op/s] or [-0.088%; +0.088%] | None | None | None |
| credit_card/is_card_number/37828224631 | execution_time | [3.915µs; 3.916µs] or [-0.012%; +0.012%] | None | None | None |
| credit_card/is_card_number/37828224631 | throughput | [255334334.838op/s; 255396222.404op/s] or [-0.012%; +0.012%] | None | None | None |
| credit_card/is_card_number/378282246310005 | execution_time | [70.324µs; 70.441µs] or [-0.083%; +0.083%] | None | None | None |
| credit_card/is_card_number/378282246310005 | throughput | [14196839.532op/s; 14220246.094op/s] or [-0.082%; +0.082%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | execution_time | [53.123µs; 53.135µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | throughput | [18820151.059op/s; 18824134.681op/s] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | execution_time | [6.439µs; 6.441µs] or [-0.012%; +0.012%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | throughput | [155265802.993op/s; 155301573.455op/s] or [-0.012%; +0.012%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | execution_time | [3.915µs; 3.916µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | throughput | [255348474.628op/s; 255406577.995op/s] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | [65.147µs; 65.189µs] or [-0.032%; +0.032%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | [15340056.061op/s; 15350002.290op/s] or [-0.032%; +0.032%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | [59.004µs; 59.070µs] or [-0.056%; +0.056%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | [16929472.083op/s; 16948317.080op/s] or [-0.056%; +0.056%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | [3.914µs; 3.915µs] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | [255420451.789op/s; 255470315.592op/s] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | [55.639µs; 55.691µs] or [-0.047%; +0.047%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | [17956454.766op/s; 17973324.766op/s] or [-0.047%; +0.047%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | [53.123µs; 53.134µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | [18820265.057op/s; 18824350.188op/s] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | [6.438µs; 6.440µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | [155284889.769op/s; 155319402.395op/s] or [-0.011%; +0.011%] | None | None | None |
Group 11
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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 | 239.437ns | 251.910ns ± 14.547ns | 245.160ns ± 4.177ns | 256.548ns | 284.180ns | 292.028ns | 298.543ns | 21.77% | 1.505 | 1.160 | 5.76% | 1.029ns | 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 | [249.894ns; 253.926ns] or [-0.800%; +0.800%] | None | None | None |
Group 12
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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.789ns | 193.149ns ± 2.105ns | 192.851ns ± 1.413ns | 194.075ns | 197.015ns | 200.123ns | 202.595ns | 5.05% | 1.429 | 2.852 | 1.09% | 0.149ns | 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.857ns; 193.441ns] or [-0.151%; +0.151%] | None | None | None |
Group 13
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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.187µs | 3.205µs ± 1.616µs | 2.966µs ± 0.027µs | 2.992µs | 3.646µs | 14.158µs | 18.730µs | 531.47% | 7.758 | 62.895 | 50.29% | 0.114µ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.981µs; 3.429µs] or [-6.987%; +6.987%] | None | None | None |
Group 14
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| profile_add_sample2_frames_x1000 | execution_time | 732.897µs | 734.300µs ± 0.650µs | 734.208µs ± 0.423µs | 734.682µs | 735.488µs | 735.966µs | 736.766µs | 0.35% | 0.588 | 0.556 | 0.09% | 0.046µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| profile_add_sample2_frames_x1000 | execution_time | [734.210µs; 734.390µs] or [-0.012%; +0.012%] | None | None | None |
Group 15
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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 | 35.280µs | 35.563µs ± 0.428µs | 35.385µs ± 0.047µs | 35.452µs | 36.375µs | 36.416µs | 38.556µs | 8.96% | 2.717 | 11.075 | 1.20% | 0.030µ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 | [35.504µs; 35.623µs] or [-0.167%; +0.167%] | None | None | None |
Group 16
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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.946µs | 5.020µs ± 0.048µs | 5.021µs ± 0.048µs | 5.049µs | 5.108µs | 5.113µs | 5.114µs | 1.85% | 0.258 | -0.938 | 0.95% | 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.014µs; 5.027µs] or [-0.132%; +0.132%] | None | None | None |
Group 17
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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.133ms | 4.159ms ± 0.009ms | 4.161ms ± 0.001ms | 4.163ms | 4.166ms | 4.168ms | 4.169ms | 0.18% | -2.057 | 2.819 | 0.21% | 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.158ms; 4.160ms] or [-0.029%; +0.029%] | None | None | None |
Group 18
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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.276µs | 2.362µs ± 0.018µs | 2.364µs ± 0.005µs | 2.371µs | 2.380µs | 2.385µs | 2.388µs | 1.02% | -2.639 | 7.682 | 0.76% | 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.359µs; 2.364µs] or [-0.106%; +0.106%] | None | None | None |
Group 19
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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.579ms | 48.841ms ± 1.018ms | 48.687ms ± 0.055ms | 48.767ms | 49.003ms | 51.143ms | 59.947ms | 23.13% | 9.223 | 89.432 | 2.08% | 0.072ms | 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.699ms; 48.982ms] or [-0.289%; +0.289%] | None | None | None |
Group 20
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | c00625e | 1774427381 | julio/opt-in-telemetry |
| 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.922ms | 13.974ms ± 0.030ms | 13.969ms ± 0.013ms | 13.983ms | 14.028ms | 14.086ms | 14.144ms | 1.25% | 2.589 | 10.016 | 0.21% | 0.002ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| benching serializing traces from their internal representation to msgpack | execution_time | [13.970ms; 13.978ms] or [-0.030%; +0.030%] | None | None | None |
Baseline
Omitted due to size.
e973616 to
32bfed2
Compare
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
|
| assert!(builder.config.debug_enabled); | ||
| assert_eq!( | ||
| <String as AsRef<str>>::as_ref(&builder.config.endpoint().unwrap().url.to_string()), | ||
| "http://localhost/telemetry/proxy/api/v2/apmtelemetry" |
There was a problem hiding this comment.
Is there a similar test somewhere?
There was a problem hiding this comment.
Yes, there are test in libdd-telemetry that check specifically for that
| #[cfg(feature = "telemetry")] | ||
| #[no_mangle] | ||
| pub unsafe extern "C" fn ddog_trace_exporter_config_enable_telemetry( |
There was a problem hiding this comment.
Not sure if we should feature gate it, instead of making it a no-op since it's part of the API
You could imagine that we have a language where we want to build a shared library.
The code in the language would probably look like this
if (!serverless) {
ddog_trace_exporter_config_enable_telemetry();
}
if we feature gate this, we can't have this switch at rutime and force them to use macros
There was a problem hiding this comment.
I was unsure what to do here. In order to maintain ABI compatibility it would be better to write no-op functions but, since most of the data-pipeline crate users are migrating to building their own version from source, I think it'd be cleaner to reduce the API surface as much as possible. At the end of the day they're going to control the features they want to introduce.
Anyway it's an interesting topic to discuss internally because our position is to encourage every consumer to build their own thing but we didn't discuss what to do with the prebuilt binary. I'll bring this up next common standup.
| // SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| //! Telemetry provides a client to send results accumulated in 'Metrics'. |
There was a problem hiding this comment.
I think that for this file where there are a lot of telemetry/not(telemetry) feature gate, doing something like this would be cleaner
#[cfg(feature = "telemetry")]
mod inner {
//telemetry only imports, items
struct SendPayloadTelemetry
struct TelemetryClient
}
#[cfg(not(feature = "telemetry"))]
mod inner {
// placeholder
}
use inner::*;There was a problem hiding this comment.
I'll try that. LMK how it looks.
| } | ||
| Ok(()) | ||
| #[cfg(not(feature = "telemetry"))] | ||
| impl SendPayloadTelemetry { |
There was a problem hiding this comment.
Is it possible to feature gate the whole telemetry module in libdd-data-pipeline and it's use in trace_exporter rather than creating no-op functions ?
There was a problem hiding this comment.
The fist try was using that approach but looking at the changes it seemed that the trace exporter was cluttered with #[cfg(feature)] statements which in the long run would be very hard to maintain, specially if we keep gating features. Also it keeps most of the changes in the module affected and lastly since feature statements only apply to the following block sometimes adding a new statement requires refactoring the original code.
Anyway I wanted to test this approach in order to discuss how it feels. Do you think is incovenient?
c3b2340 to
0e0ad70
Compare
9ae653c to
36290ab
Compare
What does this PR do?
This PR adds a new feature flag to libdd-data-pipeline in order to trim down telemetry for cases where is not needed (e.g. serverless)