libdatadog icon indicating copy to clipboard operation
libdatadog copied to clipboard

clippy annotation reporter

Open ekump opened this issue 8 months ago • 6 comments

What does this PR do?

Adds a github action that scans the repo for usages of clippy allow annotations and reports changes across all crates in the repo.

If the action fails, it should not fail CI and block PRs being merged. If for any reason this action causes issues, feel free to disable it. This report shouldn't impede anyone's work in libdatadog.

Motivation

We want to reduce the chance of libdatadog panicking as much as possible. #915 enabled clippy warnings for panic macros in all crates. This PR will start reporting the number of annotations to bring attention to new additions of allow annotations or PRs that reduce the use of the annotations.

Additional Notes

This code is not part of the libdatadog workspace. It's an independent crate. It's included in this repo as it is expected we will need to make tweaks and fix bugs. Once we feel it is stable it should be moved to a separate repo and treated like any other github action we use.

allow annotations from unit tests for the reporter are currently showing up in the report. The option to filter certain file paths or crates will be added in a follow up PR.

Apologies for the size of the PR. I didn't anticipate it being this large.

Here is what the report looks like when crates have been changed:

Screenshot 2025-05-31 at 10 39 37 PM

How to test the change?

Unit tests were added where possible. I verified the report by adding extra allows and observing changes in the report.

ekump avatar May 02 '25 15:05 ekump

Benchmarks

Comparison

Benchmark execution time: 2025-11-19 20:57:35

Comparing candidate commit c650eff4 in PR branch ekump/clippy-annotation-action with baseline commit a3f9e862 in branch main.

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

Candidate

Candidate benchmark details

Group 1

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
single_flag_killswitch/rules-based execution_time 189.511ns 192.719ns ± 2.621ns 192.158ns ± 1.614ns 193.935ns 197.129ns 200.238ns 206.181ns 7.30% 1.583 4.106 1.36% 0.185ns 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.356ns; 193.083ns] or [-0.188%; +0.188%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
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.305µs 160.205µs ± 0.283µs 160.188µs ± 0.174µs 160.369µs 160.627µs 161.025µs 161.393µs 0.75% 0.754 2.735 0.18% 0.020µ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.166µs; 160.245µs] or [-0.025%; +0.025%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
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 205.730µs 206.199µs ± 0.218µs 206.178µs ± 0.150µs 206.338µs 206.590µs 206.740µs 206.789µs 0.30% 0.429 -0.306 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 4835847.800op/s 4849683.504op/s ± 5129.527op/s 4850189.764op/s ± 3525.490op/s 4853449.439op/s 4856964.050op/s 4858316.487op/s 4860750.022op/s 0.22% -0.424 -0.311 0.11% 362.712op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.180µs 18.268µs ± 0.060µs 18.265µs ± 0.038µs 18.301µs 18.349µs 18.500µs 18.549µs 1.56% 1.355 4.497 0.33% 0.004µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 53910553.784op/s 54742239.986op/s ± 179416.392op/s 54750515.939op/s ± 115040.157op/s 54869007.737op/s 54998621.338op/s 55003763.044op/s 55005958.208op/s 0.47% -1.309 4.284 0.33% 12686.655op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.753µs 10.885µs ± 0.055µs 10.878µs ± 0.035µs 10.915µs 10.982µs 11.019µs 11.047µs 1.55% 0.484 0.138 0.50% 0.004µs 1 200
normalization/normalize_name/normalize_name/good throughput 90522563.958op/s 91872028.957op/s ± 460564.031op/s 91929147.191op/s ± 296784.818op/s 92198721.482op/s 92525438.725op/s 92745352.162op/s 93000075.962op/s 1.16% -0.456 0.112 0.50% 32566.795op/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 [206.169µs; 206.229µs] or [-0.015%; +0.015%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4848972.601op/s; 4850394.407op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.259µs; 18.276µs] or [-0.046%; +0.046%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [54717374.600op/s; 54767105.373op/s] or [-0.045%; +0.045%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.877µs; 10.893µs] or [-0.070%; +0.070%] None None None
normalization/normalize_name/normalize_name/good throughput [91808199.212op/s; 91935858.702op/s] or [-0.069%; +0.069%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching serializing traces from their internal representation to msgpack execution_time 14.835ms 14.904ms ± 0.037ms 14.898ms ± 0.017ms 14.916ms 14.974ms 15.047ms 15.096ms 1.33% 2.085 6.778 0.25% 0.003ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [14.899ms; 14.909ms] or [-0.034%; +0.034%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
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.003µs 3.915µs ± 0.002µs 3.917µs 3.919µs 3.922µs 3.927µs 0.29% -0.350 4.374 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 254672644.978op/s 255409382.697op/s ± 185891.518op/s 255420845.080op/s ± 117187.851op/s 255523833.992op/s 255659128.701op/s 255749112.213op/s 256425954.120op/s 0.39% 0.364 4.419 0.07% 13144.515op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.884µs 79.215µs ± 0.605µs 79.181µs ± 0.374µs 79.557µs 80.155µs 80.867µs 80.935µs 2.22% 0.340 0.235 0.76% 0.043µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12355589.149op/s 12624669.110op/s ± 96229.375op/s 12629344.290op/s ± 59713.849op/s 12688616.039op/s 12782780.665op/s 12833163.468op/s 12839639.023op/s 1.67% -0.292 0.179 0.76% 6804.444op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 71.428µs 71.747µs ± 0.452µs 71.550µs ± 0.067µs 71.812µs 72.765µs 73.958µs 74.177µs 3.67% 2.885 9.786 0.63% 0.032µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13481232.728op/s 13938430.479op/s ± 86206.338op/s 13976187.375op/s ± 13117.102op/s 13985326.945op/s 13993922.441op/s 13997566.290op/s 14000183.402op/s 0.17% -2.821 9.315 0.62% 6095.709op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.902µs 3.915µs ± 0.003µs 3.915µs ± 0.002µs 3.917µs 3.919µs 3.921µs 3.923µs 0.20% -0.447 3.229 0.06% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254903525.750op/s 255429057.835op/s ± 165011.705op/s 255422019.665op/s ± 112786.724op/s 255544573.394op/s 255681142.420op/s 255714823.778op/s 256306082.630op/s 0.35% 0.457 3.268 0.06% 11668.090op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 68.221µs 68.453µs ± 0.289µs 68.350µs ± 0.062µs 68.493µs 68.976µs 69.870µs 70.259µs 2.79% 3.375 13.944 0.42% 0.020µs 1 200
credit_card/is_card_number/378282246310005 throughput 14233049.237op/s 14608897.655op/s ± 60814.603op/s 14630644.892op/s ± 13169.584op/s 14640041.346op/s 14650761.355op/s 14656329.693op/s 14658272.296op/s 0.19% -3.319 13.464 0.42% 4300.242op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 45.468µs 45.713µs ± 0.109µs 45.705µs ± 0.078µs 45.793µs 45.894µs 45.952µs 46.014µs 0.68% 0.163 -0.513 0.24% 0.008µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21732423.456op/s 21875645.550op/s ± 52301.412op/s 21879517.588op/s ± 37315.639op/s 21915080.863op/s 21956301.687op/s 21977677.556op/s 21993319.855op/s 0.52% -0.153 -0.519 0.24% 3698.268op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.554µs 6.619µs ± 0.018µs 6.621µs ± 0.014µs 6.635µs 6.642µs 6.647µs 6.647µs 0.39% -0.607 -0.096 0.27% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 150442628.247op/s 151082149.117op/s ± 411812.889op/s 151029004.859op/s ± 313515.263op/s 151345076.905op/s 151794069.583op/s 152080245.529op/s 152583021.944op/s 1.03% 0.620 -0.063 0.27% 29119.569op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.894µs 3.915µs ± 0.003µs 3.916µs ± 0.002µs 3.918µs 3.919µs 3.921µs 3.925µs 0.25% -1.543 10.136 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254752454.398op/s 255396196.738op/s ± 205055.832op/s 255381413.652op/s ± 147652.780op/s 255534203.262op/s 255682658.415op/s 255742210.657op/s 256819512.976op/s 0.56% 1.567 10.319 0.08% 14499.637op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 65.570µs 65.683µs ± 0.044µs 65.684µs ± 0.029µs 65.712µs 65.756µs 65.775µs 65.793µs 0.17% 0.005 -0.458 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15199081.141op/s 15224542.173op/s ± 10194.249op/s 15224396.409op/s ± 6732.263op/s 15231627.889op/s 15240524.235op/s 15244795.110op/s 15250933.173op/s 0.17% -0.002 -0.458 0.07% 720.842op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.361µs 53.438µs ± 0.038µs 53.439µs ± 0.024µs 53.462µs 53.501µs 53.547µs 53.577µs 0.26% 0.446 0.655 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18664884.898op/s 18713212.144op/s ± 13461.296op/s 18712752.726op/s ± 8436.526op/s 18722668.359op/s 18735090.873op/s 18738524.262op/s 18740323.314op/s 0.15% -0.440 0.643 0.07% 951.857op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.900µs 3.915µs ± 0.003µs 3.915µs ± 0.002µs 3.917µs 3.919µs 3.921µs 3.923µs 0.20% -0.481 3.588 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254937797.773op/s 255440779.877op/s ± 179508.996op/s 255457644.023op/s ± 115609.934op/s 255552142.969op/s 255693746.090op/s 255765783.435op/s 256428560.599op/s 0.38% 0.492 3.642 0.07% 12693.203op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.139µs 50.205µs ± 0.034µs 50.203µs ± 0.019µs 50.221µs 50.264µs 50.310µs 50.330µs 0.25% 0.949 1.704 0.07% 0.002µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19868721.397op/s 19918435.373op/s ± 13416.737op/s 19919292.009op/s ± 7602.298op/s 19926939.371op/s 19937034.761op/s 19941706.923op/s 19944361.216op/s 0.13% -0.944 1.688 0.07% 948.707op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 45.421µs 45.731µs ± 0.110µs 45.736µs ± 0.078µs 45.813µs 45.899µs 45.929µs 45.960µs 0.49% -0.297 -0.433 0.24% 0.008µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21758221.254op/s 21867162.810op/s ± 52810.314op/s 21864573.926op/s ± 37230.785op/s 21902571.401op/s 21956574.519op/s 21992690.345op/s 22016011.169op/s 0.69% 0.307 -0.422 0.24% 3734.253op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.542µs 6.617µs ± 0.020µs 6.619µs ± 0.013µs 6.633µs 6.642µs 6.646µs 6.652µs 0.50% -1.089 1.476 0.30% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 150320130.248op/s 151118770.757op/s ± 459052.000op/s 151077095.400op/s ± 293243.452op/s 151328637.199op/s 151998119.565op/s 152615407.789op/s 152868932.863op/s 1.19% 1.110 1.545 0.30% 32459.878op/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.915µs; 3.916µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255383619.921op/s; 255435145.474op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [79.131µs; 79.298µs] or [-0.106%; +0.106%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12611332.644op/s; 12638005.576op/s] or [-0.106%; +0.106%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.684µs; 71.809µs] or [-0.087%; +0.087%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13926483.109op/s; 13950377.848op/s] or [-0.086%; +0.086%] None None None
credit_card/is_card_number/37828224631 execution_time [3.915µs; 3.915µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631 throughput [255406188.800op/s; 255451926.870op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/378282246310005 execution_time [68.413µs; 68.493µs] or [-0.059%; +0.059%] None None None
credit_card/is_card_number/378282246310005 throughput [14600469.336op/s; 14617325.974op/s] or [-0.058%; +0.058%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.698µs; 45.728µs] or [-0.033%; +0.033%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [21868397.077op/s; 21882894.023op/s] or [-0.033%; +0.033%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.616µs; 6.621µs] or [-0.038%; +0.038%] None None None
credit_card/is_card_number/x371413321323331 throughput [151025075.812op/s; 151139222.423op/s] or [-0.038%; +0.038%] 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 [255367777.972op/s; 255424615.504op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.677µs; 65.690µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15223129.348op/s; 15225954.997op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.433µs; 53.444µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18711346.538op/s; 18715077.750op/s] or [-0.010%; +0.010%] 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 [255415901.656op/s; 255465658.097op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.200µs; 50.209µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19916575.943op/s; 19920294.804op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.716µs; 45.746µs] or [-0.033%; +0.033%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [21859843.808op/s; 21874481.812op/s] or [-0.033%; +0.033%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.615µs; 6.620µs] or [-0.042%; +0.042%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [151055150.564op/s; 151182390.949op/s] or [-0.042%; +0.042%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
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 145.083µs 147.113µs ± 1.508µs 147.007µs ± 0.551µs 147.547µs 148.528µs 154.164µs 160.989µs 9.51% 5.147 39.721 1.02% 0.107µ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.904µs; 147.322µs] or [-0.142%; +0.142%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
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.203µs 3.204µs ± 1.440µs 3.000µs ± 0.026µs 3.024µs 3.634µs 13.941µs 14.913µs 397.10% 7.396 55.626 44.83% 0.102µ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.005µs; 3.404µs] or [-6.228%; +6.228%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
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/2597 execution_time 6.071ms 6.409ms ± 0.064ms 6.421ms ± 0.016ms 6.436ms 6.466ms 6.505ms 6.534ms 1.76% -2.841 9.674 1.00% 0.005ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2597 execution_time [6.400ms; 6.418ms] or [-0.139%; +0.139%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
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.398µs 2.445µs ± 0.020µs 2.440µs ± 0.006µs 2.446µs 2.505µs 2.513µs 2.517µs 3.14% 2.069 4.520 0.83% 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.442µs; 2.447µs] or [-0.115%; +0.115%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
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 10.595ms 10.619ms ± 0.014ms 10.618ms ± 0.008ms 10.625ms 10.642ms 10.653ms 10.708ms 0.85% 1.826 8.502 0.13% 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 [10.617ms; 10.621ms] or [-0.018%; +0.018%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
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 533.604µs 534.783µs ± 0.466µs 534.752µs ± 0.306µs 535.086µs 535.519µs 535.998µs 537.237µs 0.46% 0.842 3.161 0.09% 0.033µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1861374.873op/s 1869919.646op/s ± 1627.478op/s 1870025.320op/s ± 1069.667op/s 1870944.813op/s 1872124.496op/s 1873108.669op/s 1874049.540op/s 0.22% -0.831 3.107 0.09% 115.080op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.028µs 381.030µs ± 0.417µs 381.040µs ± 0.276µs 381.300µs 381.612µs 381.903µs 383.468µs 0.64% 0.918 5.084 0.11% 0.030µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2607782.485op/s 2624469.400op/s ± 2872.607op/s 2624396.389op/s ± 1897.948op/s 2626315.574op/s 2628906.460op/s 2630334.008op/s 2631383.852op/s 0.27% -0.897 4.968 0.11% 203.124op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 194.608µs 195.165µs ± 0.561µs 195.109µs ± 0.158µs 195.249µs 195.465µs 195.676µs 200.379µs 2.70% 8.033 72.107 0.29% 0.040µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 4990555.374op/s 5123916.073op/s ± 14395.479op/s 5125338.467op/s ± 4154.226op/s 5129475.729op/s 5133352.405op/s 5136206.634op/s 5138540.460op/s 0.26% -7.950 71.103 0.28% 1017.914op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.851µs 37.011µs ± 0.068µs 37.008µs ± 0.044µs 37.052µs 37.131µs 37.197µs 37.221µs 0.58% 0.324 0.308 0.18% 0.005µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26866419.537op/s 27018737.863op/s ± 49802.357op/s 27021343.799op/s ± 32047.415op/s 27051941.942op/s 27100109.818op/s 27121715.600op/s 27135954.603op/s 0.42% -0.312 0.293 0.18% 3521.558op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 44.910µs 45.086µs ± 0.122µs 45.083µs ± 0.107µs 45.189µs 45.275µs 45.289µs 45.427µs 0.76% 0.133 -1.145 0.27% 0.009µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 22013426.233op/s 22180061.722op/s ± 59987.995op/s 22181515.059op/s ± 52952.596op/s 22234868.647op/s 22265386.285op/s 22266410.877op/s 22266965.077op/s 0.39% -0.126 -1.152 0.27% 4241.792op/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 [534.718µs; 534.847µs] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1869694.094op/s; 1870145.199op/s] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.972µs; 381.088µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2624071.284op/s; 2624867.516op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [195.087µs; 195.243µs] or [-0.040%; +0.040%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5121920.998op/s; 5125911.148op/s] or [-0.039%; +0.039%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.002µs; 37.021µs] or [-0.026%; +0.026%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [27011835.735op/s; 27025639.990op/s] or [-0.026%; +0.026%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.069µs; 45.103µs] or [-0.037%; +0.037%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [22171747.963op/s; 22188375.481op/s] or [-0.037%; +0.037%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_trace/test_trace execution_time 244.873ns 255.307ns ± 13.552ns 250.259ns ± 4.261ns 257.104ns 290.760ns 298.410ns 300.496ns 20.07% 1.868 2.558 5.29% 0.958ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_trace/test_trace execution_time [253.429ns; 257.185ns] or [-0.736%; +0.736%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
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 17.691µs 24.770µs ± 9.373µs 17.930µs ± 0.137µs 33.530µs 43.140µs 47.428µs 66.274µs 269.63% 1.163 0.998 37.75% 0.663µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [23.471µs; 26.069µs] or [-5.244%; +5.244%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
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.996µs 5.061µs ± 0.043µs 5.064µs ± 0.041µs 5.094µs 5.135µs 5.140µs 5.142µs 1.54% 0.331 -1.216 0.86% 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.055µs; 5.067µs] or [-0.119%; +0.119%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
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 61.128ms 62.007ms ± 2.541ms 61.733ms ± 0.286ms 61.974ms 62.194ms 80.978ms 84.385ms 36.69% 7.871 61.238 4.09% 0.180ms 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 [61.655ms; 62.360ms] or [-0.568%; +0.568%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
redis/obfuscate_redis_string execution_time 33.565µs 34.058µs ± 0.797µs 33.705µs ± 0.036µs 33.761µs 35.743µs 35.787µs 37.371µs 10.88% 1.808 1.739 2.33% 0.056µ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.947µs; 34.168µs] or [-0.324%; +0.324%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c650eff4 1763584966 ekump/clippy-annotation-action
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.534µs 86.816µs ± 0.240µs 86.805µs ± 0.053µs 86.855µs 86.929µs 87.074µs 89.931µs 3.60% 11.023 140.339 0.28% 0.017µ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 [86.783µs; 86.849µs] or [-0.038%; +0.038%] None None None

Baseline

Omitted due to size.

pr-commenter[bot] avatar May 02 '25 15:05 pr-commenter[bot]

Codecov Report

:white_check_mark: All modified and coverable lines are covered by tests. :white_check_mark: Project coverage is 71.17%. Comparing base (a3f9e86) to head (c650eff).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1049      +/-   ##
==========================================
- Coverage   71.19%   71.17%   -0.02%     
==========================================
  Files         392      392              
  Lines       62677    62677              
==========================================
- Hits        44622    44613       -9     
- Misses      18055    18064       +9     
Components Coverage Δ
libdd-crashtracker 59.90% <ø> (ø)
libdd-crashtracker-ffi 15.31% <ø> (ø)
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 86.02% <ø> (ø)
libdd-data-pipeline-ffi 77.63% <ø> (ø)
libdd-common 80.93% <ø> (ø)
libdd-common-ffi 73.90% <ø> (ø)
libdd-telemetry 60.02% <ø> (ø)
libdd-telemetry-ffi 21.24% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.71% <ø> (+0.10%) :arrow_up:
libdd-profiling 79.68% <ø> (ø)
libdd-profiling-ffi 62.13% <ø> (ø)
datadog-sidecar 36.98% <ø> (ø)
datdog-sidecar-ffi 16.40% <ø> (ø)
spawn-worker 55.18% <ø> (ø)
libdd-tinybytes 92.44% <ø> (ø)
libdd-trace-normalization 98.24% <ø> (ø)
datadog-trace-obfuscation 94.17% <ø> (ø)
libdd-trace-protobuf 59.65% <ø> (ø)
libdd-trace-utils 90.25% <ø> (ø)
datadog-tracer-flare 62.06% <ø> (ø)
libdd-log 75.57% <ø> (ø)
:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

codecov-commenter avatar May 02 '25 15:05 codecov-commenter

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 85.96 MB 85.96 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.38 MB 7.38 MB 0% (0 B) 👌
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 57.99 MB 57.99 MB 0% (0 B) 👌
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 8.43 MB 8.43 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.53 MB 9.53 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 99.70 MB 99.70 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 19.57 MB 19.57 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 69.82 KB 69.82 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 138.54 MB 138.54 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 735.58 MB 735.58 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 6.34 MB 6.34 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 69.82 KB 69.82 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 19.67 MB 19.67 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 38.64 MB 38.64 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 16.70 MB 16.70 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 70.90 KB 70.90 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 141.11 MB 141.12 MB +0% (+8.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 724.31 MB 724.31 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 4.87 MB 4.87 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 70.90 KB 70.90 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 20.90 MB 20.90 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 36.39 MB 36.39 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 74.32 MB 74.32 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.85 MB 8.85 MB 0% (0 B) 👌
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 59.35 MB 59.35 MB 0% (0 B) 👌
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 9.47 MB 9.47 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 93.93 MB 93.93 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.28 MB 10.28 MB 0% (0 B) 👌

r1viollet avatar May 02 '25 15:05 r1viollet

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/ekump/clippy-annotation-action

Summary by Rule

Rule Base Branch PR Branch Change
unwrap_used 0 5 ⚠️ +5 (N/A)
Total 0 5 ⚠️ +5 (N/A)

Annotation Counts by File

File Base Branch PR Branch Change
.github/actions/clippy-annotation-reporter/src/analyzer/annotation.rs 0 5 ⚠️ +5 (N/A)

Annotation Stats by Crate

Crate Base Branch PR Branch Change
clippy-annotation-reporter 0 5 ⚠️ +5 (N/A)
datadog-ffe-ffi 1 1 No change (0%)
datadog-ipc 27 27 No change (0%)
datadog-live-debugger 6 6 No change (0%)
datadog-live-debugger-ffi 10 10 No change (0%)
datadog-profiling-replayer 4 4 No change (0%)
datadog-remote-config 3 3 No change (0%)
datadog-sidecar 62 62 No change (0%)
datadog-trace-obfuscation 9 9 No change (0%)
libdd-common 11 11 No change (0%)
libdd-common-ffi 12 12 No change (0%)
libdd-crashtracker 12 12 No change (0%)
libdd-data-pipeline 7 7 No change (0%)
libdd-ddsketch 2 2 No change (0%)
libdd-dogstatsd-client 1 1 No change (0%)
libdd-profiling 13 13 No change (0%)
libdd-telemetry 19 19 No change (0%)
libdd-tinybytes 4 4 No change (0%)
libdd-trace-normalization 2 2 No change (0%)
libdd-trace-utils 18 18 No change (0%)
Total 223 228 ⚠️ +5 (+2.2%)

About This Report

This 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.

github-actions[bot] avatar May 02 '25 19:05 github-actions[bot]

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: c650eff | Docs | Datadog PR Page | Was this helpful? Give us feedback!

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. To override this behavior, add the keep-open label or update the PR.

github-actions[bot] avatar Oct 23 '25 00:10 github-actions[bot]