Skip to content

Conversation

@ekump
Copy link
Contributor

@ekump ekump commented Mar 10, 2025

What does this PR do?

Enables the following clippy warnings:

#![deny(clippy::panic)]
#![deny(clippy::unwrap_used)]
#![deny(clippy::expect_used)]
#![deny(clippy::todo)]
#![deny(clippy::unimplemented)]

All existing calls to panic!(), unwrap!(), expect!(), todo!(), unimplemented!() remain and a clippy allow annotation has been added.

Also,lazy_statichas been removed as a direct dependency in libdatadog. Clippy doesn't recognize allow annotations in lazy_static blocks. lazy_static isn't really necessary anymore. We can use std::sync::OnceLock instead. Once we move the MSRV to 1.80 we can use std::sync::LazyLock which is a bit more ergonomic.

A helper function has also been added to ddcommon called lock_or_panic(). The purpose is to not clutter modules with a lot of mutex unlocking with allow annotations right now.

Motivation

As the use of libdatadog within the APM SDKs increases we should do what we can to minimize the chance of a panic, and the crashing of customer applications.

What is the point of enabling warnings and then allowing all of them?
To allow for an iterative and decoupled process for code owners to reduce the possibility of their code panicking. In many cases, removing the use of these macros will require non-trivial design changes. We can also add heuristics in a follow-up PR to track allow annotations.

Can I still use these macros?
Yes, if it is necessary. Use the appropriate allow annotation and include a meaningful comment about why the rule is being suppressed.

Can I still use lazy_static?
No. lazy_static has served its purpose, but it's time to move on. Most of what it is used for can be achieved with the standard library or once_cell.

Additional Notes

How to test the change?

No functionality should change, all tests should continue to pass.

@ekump ekump force-pushed the ekump/APMSP-1827-add-warnings-for-panics branch from 10a0fa0 to 4eb0271 Compare March 10, 2025 18:34
@pr-commenter
Copy link

pr-commenter bot commented Mar 10, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-03-14 16:04:23

Comparing candidate commit 60433a7 in PR branch ekump/APMSP-1827-add-warnings-for-panics with baseline commit 78f2dfb in branch main.

Found 6 performance improvements and 0 performance regressions! Performance is the same for 46 metrics, 2 unstable metrics.

scenario:credit_card/is_card_number/378282246310005

  • 🟩 execution_time [-9.229µs; -8.960µs] or [-10.850%; -10.534%]
  • 🟩 throughput [+1386869.739op/s; +1428713.705op/s] or [+11.796%; +12.151%]

scenario:credit_card/is_card_number/x371413321323331

  • 🟩 execution_time [-617.450ns; -598.723ns] or [-9.276%; -8.995%]
  • 🟩 throughput [+14877010.690op/s; +15299788.274op/s] or [+9.902%; +10.183%]

scenario:credit_card/is_card_number_no_luhn/x371413321323331

  • 🟩 execution_time [-483.484ns; -456.493ns] or [-7.422%; -7.008%]
  • 🟩 throughput [+11592756.872op/s; +12216600.203op/s] or [+7.550%; +7.956%]

Candidate

Candidate benchmark details

Group 1

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz 60433a7 1741967547 ekump/APMSP-1827-add-warnings-for-panics
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.373µs 2.433µs ± 0.021µs 2.431µs ± 0.010µs 2.442µs 2.482µs 2.489µs 2.512µs 3.33% 0.670 1.940 0.87% 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.430µs; 2.436µs] or [-0.120%; +0.120%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz 60433a7 1741967547 ekump/APMSP-1827-add-warnings-for-panics
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.915µs 4.993µs ± 0.045µs 5.005µs ± 0.048µs 5.032µs 5.062µs 5.065µs 5.065µs 1.20% -0.024 -1.470 0.90% 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 [4.987µs; 4.999µs] or [-0.125%; +0.125%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz 60433a7 1741967547 ekump/APMSP-1827-add-warnings-for-panics
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 24.033µs 27.685µs ± 8.305µs 24.964µs ± 0.191µs 25.145µs 42.084µs 43.133µs 110.904µs 344.25% 5.701 49.067 29.92% 0.587µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [26.534µs; 28.836µs] or [-4.157%; +4.157%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz 60433a7 1741967547 ekump/APMSP-1827-add-warnings-for-panics
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 66.305µs 66.509µs ± 0.202µs 66.493µs ± 0.058µs 66.548µs 66.651µs 66.817µs 69.041µs 3.83% 9.991 122.750 0.30% 0.014µ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 [66.481µs; 66.536µs] or [-0.042%; +0.042%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz 60433a7 1741967547 ekump/APMSP-1827-add-warnings-for-panics
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 159.553µs 160.744µs ± 0.398µs 160.693µs ± 0.160µs 160.863µs 161.443µs 162.113µs 163.627µs 1.83% 2.703 15.245 0.25% 0.028µ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 [160.689µs; 160.799µs] or [-0.034%; +0.034%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz 60433a7 1741967547 ekump/APMSP-1827-add-warnings-for-panics
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.885µs 3.920µs ± 0.003µs 3.920µs ± 0.001µs 3.921µs 3.924µs 3.925µs 3.929µs 0.25% -5.054 51.663 0.09% 0.000µs 1 200
credit_card/is_card_number/ throughput 254490582.053op/s 255121955.760op/s ± 225623.570op/s 255124342.880op/s ± 73471.120op/s 255189900.860op/s 255370848.233op/s 255483623.869op/s 257422275.016op/s 0.90% 5.128 52.595 0.09% 15953.996op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 81.644µs 83.129µs ± 0.703µs 83.089µs ± 0.497µs 83.610µs 84.314µs 84.748µs 84.935µs 2.22% 0.259 -0.521 0.84% 0.050µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 11773641.716op/s 12030283.068op/s ± 101468.282op/s 12035336.548op/s ± 72267.295op/s 12104304.594op/s 12186839.120op/s 12215421.085op/s 12248297.487op/s 1.77% -0.223 -0.547 0.84% 7174.891op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 78.337µs 79.127µs ± 0.705µs 78.900µs ± 0.460µs 79.684µs 80.460µs 80.556µs 80.605µs 2.16% 0.636 -0.956 0.89% 0.050µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 12406234.025op/s 12638850.517op/s ± 112030.841op/s 12674295.928op/s ± 73748.895op/s 12739751.528op/s 12757549.178op/s 12763088.920op/s 12765357.353op/s 0.72% -0.619 -0.984 0.88% 7921.777op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.884µs 3.920µs ± 0.003µs 3.920µs ± 0.001µs 3.921µs 3.923µs 3.926µs 3.927µs 0.19% -7.301 85.034 0.08% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254649626.670op/s 255114223.649op/s ± 202792.694op/s 255126380.068op/s ± 62081.013op/s 255177146.431op/s 255255500.378op/s 255300099.001op/s 257447327.498op/s 0.91% 7.381 86.151 0.08% 14339.609op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 75.197µs 75.963µs ± 0.683µs 75.614µs ± 0.278µs 76.533µs 77.299µs 77.470µs 77.506µs 2.50% 0.825 -0.735 0.90% 0.048µs 1 200
credit_card/is_card_number/378282246310005 throughput 12902238.274op/s 13165337.428op/s ± 117512.894op/s 13225098.593op/s ± 48817.208op/s 13257520.074op/s 13284240.755op/s 13290542.661op/s 13298337.214op/s 0.55% -0.810 -0.768 0.89% 8309.416op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 51.491µs 51.533µs ± 0.024µs 51.529µs ± 0.015µs 51.544µs 51.580µs 51.598µs 51.623µs 0.18% 0.999 0.917 0.05% 0.002µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19371266.313op/s 19405052.248op/s ± 9115.465op/s 19406490.795op/s ± 5745.515op/s 19412231.961op/s 19416513.555op/s 19419923.422op/s 19420813.575op/s 0.07% -0.996 0.909 0.05% 644.561op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.044µs 6.048µs ± 0.003µs 6.048µs ± 0.001µs 6.049µs 6.055µs 6.059µs 6.062µs 0.24% 1.976 4.829 0.05% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 164958455.702op/s 165333882.769op/s ± 85700.396op/s 165352899.227op/s ± 39516.467op/s 165388836.254op/s 165425971.051op/s 165438957.567op/s 165455262.058op/s 0.06% -1.972 4.807 0.05% 6059.933op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.889µs 3.917µs ± 0.003µs 3.917µs ± 0.001µs 3.918µs 3.921µs 3.924µs 3.930µs 0.33% -3.003 37.105 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254476783.677op/s 255304215.368op/s ± 196049.078op/s 255322713.816op/s ± 73519.090op/s 255388175.529op/s 255488317.202op/s 255515069.935op/s 257119020.636op/s 0.70% 3.072 37.718 0.08% 13862.763op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 65.933µs 66.325µs ± 0.204µs 66.317µs ± 0.137µs 66.458µs 66.679µs 66.809µs 67.002µs 1.03% 0.385 -0.028 0.31% 0.014µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 14924917.288op/s 15077514.304op/s ± 46426.010op/s 15079155.337op/s ± 31004.489op/s 15109477.421op/s 15146173.267op/s 15164144.350op/s 15166988.036op/s 0.58% -0.368 -0.054 0.31% 3282.815op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 59.530µs 59.666µs ± 0.069µs 59.657µs ± 0.045µs 59.706µs 59.791µs 59.844µs 59.926µs 0.45% 0.597 0.554 0.11% 0.005µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 16687204.510op/s 16760034.156op/s ± 19259.923op/s 16762360.957op/s ± 12517.524op/s 16773477.777op/s 16790578.890op/s 16795825.735op/s 16798370.558op/s 0.21% -0.590 0.538 0.11% 1361.882op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.889µs 3.917µs ± 0.003µs 3.917µs ± 0.001µs 3.919µs 3.922µs 3.926µs 3.933µs 0.41% -2.404 30.995 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254243845.641op/s 255267426.219op/s ± 214238.429op/s 255291039.285op/s ± 95143.644op/s 255373368.771op/s 255447831.494op/s 255480088.213op/s 257159106.041op/s 0.73% 2.472 31.553 0.08% 15148.945op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 56.318µs 56.710µs ± 0.154µs 56.710µs ± 0.115µs 56.824µs 56.945µs 57.018µs 57.114µs 0.71% 0.044 -0.447 0.27% 0.011µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17508781.346op/s 17633850.550op/s ± 47749.982op/s 17633613.858op/s ± 35886.054op/s 17669586.225op/s 17709842.371op/s 17731425.579op/s 17756223.305op/s 0.70% -0.031 -0.448 0.27% 3376.434op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 51.442µs 51.486µs ± 0.032µs 51.478µs ± 0.016µs 51.497µs 51.534µs 51.556µs 51.716µs 0.46% 3.338 19.159 0.06% 0.002µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19336348.746op/s 19422912.457op/s ± 12151.392op/s 19425712.192op/s ± 5904.246op/s 19430403.211op/s 19435479.940op/s 19437365.345op/s 19439227.144op/s 0.07% -3.319 18.986 0.06% 859.233op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.039µs 6.044µs ± 0.004µs 6.043µs ± 0.002µs 6.046µs 6.049µs 6.051µs 6.076µs 0.54% 3.480 26.537 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 164583910.679op/s 165456815.409op/s ± 101027.882op/s 165468048.737op/s ± 59518.105op/s 165524946.506op/s 165573422.431op/s 165590373.126op/s 165598237.650op/s 0.08% -3.450 26.192 0.06% 7143.750op/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.919µs; 3.920µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/ throughput [255090686.503op/s; 255153225.016op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [83.032µs; 83.227µs] or [-0.117%; +0.117%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12016220.540op/s; 12044345.596op/s] or [-0.117%; +0.117%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [79.030µs; 79.225µs] or [-0.124%; +0.124%] None None None
credit_card/is_card_number/ 378282246310005 throughput [12623324.120op/s; 12654376.914op/s] or [-0.123%; +0.123%] None None None
credit_card/is_card_number/37828224631 execution_time [3.919µs; 3.920µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631 throughput [255086118.532op/s; 255142328.766op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/378282246310005 execution_time [75.868µs; 76.058µs] or [-0.125%; +0.125%] None None None
credit_card/is_card_number/378282246310005 throughput [13149051.271op/s; 13181623.585op/s] or [-0.124%; +0.124%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [51.530µs; 51.536µs] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19403788.933op/s; 19406315.564op/s] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.048µs; 6.049µs] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/x371413321323331 throughput [165322005.518op/s; 165345760.020op/s] or [-0.007%; +0.007%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.916µs; 3.917µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ throughput [255277044.851op/s; 255331385.885op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [66.296µs; 66.353µs] or [-0.043%; +0.043%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15071080.106op/s; 15083948.503op/s] or [-0.043%; +0.043%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [59.656µs; 59.675µs] or [-0.016%; +0.016%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [16757364.916op/s; 16762703.397op/s] or [-0.016%; +0.016%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.917µs; 3.918µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255237734.834op/s; 255297117.605op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [56.688µs; 56.731µs] or [-0.038%; +0.038%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [17627232.862op/s; 17640468.238op/s] or [-0.038%; +0.038%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [51.481µs; 51.490µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19421228.391op/s; 19424596.523op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.043µs; 6.044µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165442813.916op/s; 165470816.902op/s] or [-0.008%; +0.008%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz 60433a7 1741967547 ekump/APMSP-1827-add-warnings-for-panics
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 62.526ms 62.980ms ± 0.329ms 62.850ms ± 0.173ms 63.238ms 63.569ms 63.873ms 64.183ms 2.12% 0.973 0.455 0.52% 0.023ms 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 [62.934ms; 63.025ms] or [-0.072%; +0.072%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz 60433a7 1741967547 ekump/APMSP-1827-add-warnings-for-panics
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 6.102ms 6.139ms ± 0.044ms 6.121ms ± 0.008ms 6.132ms 6.242ms 6.277ms 6.286ms 2.69% 1.816 2.081 0.71% 0.003ms 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 [6.133ms; 6.145ms] or [-0.098%; +0.098%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz 60433a7 1741967547 ekump/APMSP-1827-add-warnings-for-panics
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 246.603ns 259.073ns ± 13.664ns 252.354ns ± 4.684ns 270.380ns 287.902ns 290.671ns 292.962ns 16.09% 0.998 -0.414 5.26% 0.966ns 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 [257.179ns; 260.966ns] or [-0.731%; +0.731%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz 60433a7 1741967547 ekump/APMSP-1827-add-warnings-for-panics
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 2.114µs 3.863µs ± 1.759µs 3.664µs ± 0.038µs 3.697µs 4.369µs 5.864µs 21.201µs 478.59% 9.077 85.248 45.42% 0.124µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [3.619µs; 4.106µs] or [-6.310%; +6.310%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz 60433a7 1741967547 ekump/APMSP-1827-add-warnings-for-panics
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 505.275µs 506.681µs ± 1.026µs 506.603µs ± 0.286µs 506.846µs 507.299µs 513.223µs 515.740µs 1.80% 6.217 46.172 0.20% 0.073µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1938959.612op/s 1973635.886op/s ± 3946.886op/s 1973933.225op/s ± 1115.258op/s 1975172.196op/s 1976632.438op/s 1977656.853op/s 1979118.758op/s 0.26% -6.160 45.529 0.20% 279.087op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 452.984µs 453.687µs ± 0.331µs 453.653µs ± 0.206µs 453.879µs 454.218µs 454.616µs 455.442µs 0.39% 1.123 3.660 0.07% 0.023µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2195667.334op/s 2204164.798op/s ± 1606.684op/s 2204329.678op/s ± 1002.919op/s 2205170.679op/s 2206324.697op/s 2207073.128op/s 2207583.003op/s 0.15% -1.114 3.612 0.07% 113.610op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 174.376µs 176.511µs ± 0.729µs 176.665µs ± 0.522µs 177.101µs 177.419µs 177.512µs 177.560µs 0.51% -0.726 -0.078 0.41% 0.052µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5631905.265op/s 5665473.720op/s ± 23479.763op/s 5660416.693op/s ± 16672.278op/s 5683188.972op/s 5706216.144op/s 5731047.834op/s 5734747.774op/s 1.31% 0.743 -0.036 0.41% 1660.270op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.586µs 37.672µs ± 0.045µs 37.665µs ± 0.030µs 37.697µs 37.746µs 37.817µs 37.877µs 0.56% 1.059 2.223 0.12% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26401489.290op/s 26545201.197op/s ± 31947.618op/s 26549677.270op/s ± 20966.141op/s 26568000.544op/s 26587681.879op/s 26597977.002op/s 26605404.114op/s 0.21% -1.048 2.178 0.12% 2259.038op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 48.095µs 48.354µs ± 0.238µs 48.309µs ± 0.209µs 48.616µs 48.700µs 48.740µs 48.799µs 1.01% 0.238 -1.582 0.49% 0.017µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20492283.192op/s 20681386.091op/s ± 101598.744op/s 20700111.993op/s ± 90070.289op/s 20789171.811op/s 20791337.972op/s 20791973.728op/s 20792077.624op/s 0.44% -0.233 -1.587 0.49% 7184.116op/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 [506.539µs; 506.823µs] or [-0.028%; +0.028%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1973088.885op/s; 1974182.886op/s] or [-0.028%; +0.028%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [453.641µs; 453.733µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2203942.127op/s; 2204387.469op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [176.410µs; 176.612µs] or [-0.057%; +0.057%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5662219.651op/s; 5668727.789op/s] or [-0.057%; +0.057%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.665µs; 37.678µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26540773.565op/s; 26549628.830op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [48.321µs; 48.387µs] or [-0.068%; +0.068%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [20667305.483op/s; 20695466.700op/s] or [-0.068%; +0.068%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz 60433a7 1741967547 ekump/APMSP-1827-add-warnings-for-panics
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 32.583µs 33.337µs ± 1.035µs 32.696µs ± 0.081µs 34.636µs 35.282µs 35.487µs 35.999µs 10.10% 0.994 -0.800 3.10% 0.073µ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.193µs; 33.480µs] or [-0.430%; +0.430%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz 60433a7 1741967547 ekump/APMSP-1827-add-warnings-for-panics
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 208.792µs 209.227µs ± 0.189µs 209.222µs ± 0.135µs 209.376µs 209.549µs 209.630µs 209.681µs 0.22% 0.062 -0.513 0.09% 0.013µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4769140.721op/s 4779503.682op/s ± 4324.100op/s 4779621.040op/s ± 3075.526op/s 4782538.925op/s 4786491.591op/s 4788522.873op/s 4789464.214op/s 0.21% -0.058 -0.513 0.09% 305.760op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.224µs 18.348µs ± 0.066µs 18.352µs ± 0.044µs 18.394µs 18.447µs 18.469µs 18.511µs 0.87% -0.263 -0.755 0.36% 0.005µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 54022815.787op/s 54502496.681op/s ± 196977.501op/s 54491096.784op/s ± 130222.956op/s 54644019.050op/s 54858070.533op/s 54863395.431op/s 54871506.149op/s 0.70% 0.275 -0.755 0.36% 13928.413op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.670µs 10.752µs ± 0.052µs 10.745µs ± 0.043µs 10.789µs 10.839µs 10.868µs 10.906µs 1.49% 0.315 -0.825 0.48% 0.004µs 1 200
normalization/normalize_name/normalize_name/good throughput 91695039.228op/s 93004997.378op/s ± 451339.553op/s 93062611.825op/s ± 371881.932op/s 93425772.147op/s 93607773.591op/s 93662733.545op/s 93719090.723op/s 0.71% -0.299 -0.849 0.48% 31914.526op/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 [209.201µs; 209.253µs] or [-0.013%; +0.013%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4778904.403op/s; 4780102.961op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.339µs; 18.357µs] or [-0.050%; +0.050%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [54475197.494op/s; 54529795.868op/s] or [-0.050%; +0.050%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.745µs; 10.760µs] or [-0.067%; +0.067%] None None None
normalization/normalize_name/normalize_name/good throughput [92942446.057op/s; 93067548.699op/s] or [-0.067%; +0.067%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Mar 10, 2025

Codecov Report

Attention: Patch coverage is 74.35550% with 189 lines in your changes missing coverage. Please review.

Project coverage is 72.78%. Comparing base (78f2dfb) to head (60433a7).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #915      +/-   ##
==========================================
+ Coverage   72.69%   72.78%   +0.09%     
==========================================
  Files         334      334              
  Lines       50498    50916     +418     
==========================================
+ Hits        36709    37061     +352     
- Misses      13789    13855      +66     
Components Coverage Δ
crashtracker 42.88% <22.22%> (-0.03%) ⬇️
crashtracker-ffi 6.25% <ø> (ø)
datadog-alloc 98.73% <ø> (ø)
data-pipeline 91.81% <46.15%> (-0.28%) ⬇️
data-pipeline-ffi 90.28% <ø> (ø)
ddcommon 81.37% <97.43%> (+0.32%) ⬆️
ddcommon-ffi 66.10% <33.33%> (-0.11%) ⬇️
ddtelemetry 61.87% <66.66%> (+0.12%) ⬆️
ddtelemetry-ffi 22.46% <ø> (ø)
dogstatsd 89.70% <96.15%> (+0.10%) ⬆️
dogstatsd-client 82.57% <ø> (ø)
ipc 82.51% <86.95%> (+0.01%) ⬆️
profiling 81.95% <83.33%> (+0.01%) ⬆️
profiling-ffi 70.68% <ø> (ø)
serverless 0.00% <0.00%> (ø)
sidecar 40.97% <52.38%> (+0.33%) ⬆️
sidecar-ffi 1.17% <ø> (-2.06%) ⬇️
spawn-worker 54.37% <ø> (ø)
tinybytes 91.24% <100.00%> (+0.02%) ⬆️
trace-mini-agent 74.66% <ø> (ø)
trace-normalization 98.24% <100.00%> (+<0.01%) ⬆️
trace-obfuscation 96.00% <80.00%> (-0.07%) ⬇️
trace-protobuf 78.13% <ø> (ø)
trace-utils 93.11% <72.72%> (+0.25%) ⬆️
🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ekump ekump force-pushed the ekump/APMSP-1827-add-warnings-for-panics branch from 4eb0271 to 61a3e81 Compare March 10, 2025 19:48
@ekump ekump force-pushed the ekump/APMSP-1827-add-warnings-for-panics branch 6 times, most recently from c7a8f4c to 6f5ea3a Compare March 11, 2025 17:59
@ekump ekump force-pushed the ekump/APMSP-1827-add-warnings-for-panics branch 2 times, most recently from 8dea310 to 5843d48 Compare March 11, 2025 20:08
@github-actions github-actions bot added profiling Relates to the profiling* modules. mini-agent labels Mar 11, 2025
@ekump ekump force-pushed the ekump/APMSP-1827-add-warnings-for-panics branch 2 times, most recently from 37c1726 to 7548560 Compare March 12, 2025 01:37
@ekump ekump marked this pull request as ready for review March 12, 2025 01:37
@ekump ekump requested review from a team as code owners March 12, 2025 01:37
@ekump ekump force-pushed the ekump/APMSP-1827-add-warnings-for-panics branch from bb5d857 to 60433a7 Compare March 14, 2025 15:52
@ekump ekump merged commit b39c6ee into main Mar 14, 2025
31 checks passed
@ekump ekump deleted the ekump/APMSP-1827-add-warnings-for-panics branch March 14, 2025 16:58
duncanpharvey pushed a commit that referenced this pull request Mar 19, 2025
Add clippy warnings and allows for panic macros to most crates

Add an extension crate for mutex in ddcommon to isolate the unwrap to one location in code to avoid the allow annotations. We aren't going to stop unwrapping mutexes anytime soon. 

Replace use of lazy_static with OnceLock for ddcommon, ddtelemetry, live-debugger, tools, sidecar
duncanpharvey pushed a commit that referenced this pull request Mar 28, 2025
Add clippy warnings and allows for panic macros to most crates

Add an extension crate for mutex in ddcommon to isolate the unwrap to one location in code to avoid the allow annotations. We aren't going to stop unwrapping mutexes anytime soon. 

Replace use of lazy_static with OnceLock for ddcommon, ddtelemetry, live-debugger, tools, sidecar
duncanpharvey pushed a commit that referenced this pull request Apr 16, 2025
Add clippy warnings and allows for panic macros to most crates

Add an extension crate for mutex in ddcommon to isolate the unwrap to one location in code to avoid the allow annotations. We aren't going to stop unwrapping mutexes anytime soon. 

Replace use of lazy_static with OnceLock for ddcommon, ddtelemetry, live-debugger, tools, sidecar
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants