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✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1778 +/- ##
==========================================
- Coverage 71.34% 70.38% -0.96%
==========================================
Files 431 411 -20
Lines 64719 62154 -2565
==========================================
- Hits 46171 43748 -2423
+ Misses 18548 18406 -142
🚀 New features to boost your workflow:
|
|
✅ Tests 🎉 All green!❄️ No new flaky tests detected 🔗 Commit SHA: c00625e | 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
|
| use tracing::{debug, error}; | ||
| #[cfg(feature = "telemetry")] | ||
| use tracing::debug; | ||
| #[allow(unused_imports)] |
There was a problem hiding this comment.
Only used in a special case?
| #[allow(unused_imports)] | |
| #[cfg(all(feature = "catch_panic", not(panic = "abort")))] |
| pub fn build(self, runtime: Handle) -> (TelemetryClient, worker::TelemetryWorker) { | ||
| #[allow(clippy::unwrap_used)] | ||
| let mut builder = TelemetryWorkerBuilder::new_fetch_host( | ||
| self.service_name.unwrap(), |
| 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?
| #[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
| // 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::*;| } | ||
| 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?
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)