Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PROF-11405] Fix managed string storage causing corrupt profiles #896

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

ivoanjo
Copy link
Member

@ivoanjo ivoanjo commented Feb 25, 2025

What does this PR do?

This PR fixes a bug with managed string storage's cache invalidation logic that caused corrupt profiles.

Specifically, profiles could be emitted that referenced wrong or even non-existing entries in the string table, which would fail to parse.

Motivation

Fix managed string storage bug.

Additional Notes

Prior to this PR, the managed string table was using the profile's StringTable pointer as a key for cache invalidation in the ManagedStringId to StringId mapping.

This is not correct since when a profile gets reset, the StringTable pointer doesn't change.

This bug lay dormant because Ruby uses two profiles and switches back and forth between them. This meant that in most cases the cache would go back and forth between the two profiles, working correctly... until a cache entry was left behind and got reused incorrectly.

How to test the change?

I've added a test to make sure we don't regress here.

**What does this PR do?**

This PR fixes a bug with managed string storage's cache invalidation
logic that caused corrupt profiles.

Specifically, profiles could be emitted that referenced wrong or even
non-existing entries in the string table, which would fail to parse.

**Motivation:**

Fix managed string storage bug.

**Additional Notes:**

Prior to this PR, the managed string table was using the profile's
`StringTable` pointer as a key for cache invalidation in the
`ManagedStringId` to `StringId` mapping.

This is not correct since when a profile gets reset, the `StringTable`
pointer **doesn't change**.

This bug lay dormant because Ruby uses two profiles and switches
back and forth between them. This meant that in most cases the
cache would go back and forth between the two profiles, working
correctly... until a cache entry was left behind and got reused
incorrectly.

**How to test the change?**

I've added a test to make sure we don't regress here.
@ivoanjo ivoanjo requested a review from a team as a code owner February 25, 2025 10:25
@github-actions github-actions bot added the profiling Relates to the profiling* modules. label Feb 25, 2025
@pr-commenter
Copy link

pr-commenter bot commented Feb 25, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-02-27 11:53:19

Comparing candidate commit 9469f89 in PR branch ivoanjo/prof-11405-fix-managed-string-table-cache-invalidation with baseline commit a1d958b in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 52 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 9469f89 1740656520 ivoanjo/prof-11405-fix-managed-string-table-cache-invalidation
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.133µs 25.383µs ± 11.122µs 17.603µs ± 0.401µs 34.995µs 41.336µs 54.949µs 95.775µs 444.08% 1.920 7.427 43.71% 0.786µ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.842µs; 26.925µs] or [-6.072%; +6.072%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9469f89 1740656520 ivoanjo/prof-11405-fix-managed-string-table-cache-invalidation
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 55.639ms 55.884ms ± 0.140ms 55.850ms ± 0.059ms 55.939ms 56.095ms 56.306ms 56.893ms 1.87% 2.579 13.429 0.25% 0.010ms 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 [55.864ms; 55.903ms] or [-0.035%; +0.035%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9469f89 1740656520 ivoanjo/prof-11405-fix-managed-string-table-cache-invalidation
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 68.276µs 68.502µs ± 0.191µs 68.473µs ± 0.047µs 68.530µs 68.669µs 68.929µs 70.833µs 3.45% 9.311 109.015 0.28% 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 [68.476µs; 68.529µs] or [-0.039%; +0.039%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9469f89 1740656520 ivoanjo/prof-11405-fix-managed-string-table-cache-invalidation
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.292µs 3.200µs ± 1.538µs 2.996µs ± 0.028µs 3.024µs 3.631µs 13.870µs 17.551µs 485.79% 7.716 61.203 47.95% 0.109µ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.987µs; 3.414µs] or [-6.662%; +6.662%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9469f89 1740656520 ivoanjo/prof-11405-fix-managed-string-table-cache-invalidation
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.317µs 2.373µs ± 0.018µs 2.375µs ± 0.007µs 2.383µs 2.402µs 2.408µs 2.418µs 1.82% -0.870 1.752 0.75% 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.371µs; 2.376µs] or [-0.105%; +0.105%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9469f89 1740656520 ivoanjo/prof-11405-fix-managed-string-table-cache-invalidation
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.927µs 5.008µs ± 0.044µs 5.013µs ± 0.047µs 5.041µs 5.069µs 5.074µs 5.081µs 1.35% 0.047 -1.470 0.88% 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.002µs; 5.014µs] or [-0.122%; +0.122%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9469f89 1740656520 ivoanjo/prof-11405-fix-managed-string-table-cache-invalidation
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 5.997ms 6.009ms ± 0.009ms 6.008ms ± 0.003ms 6.011ms 6.017ms 6.058ms 6.083ms 1.25% 5.217 33.873 0.16% 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 [6.008ms; 6.011ms] or [-0.022%; +0.022%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9469f89 1740656520 ivoanjo/prof-11405-fix-managed-string-table-cache-invalidation
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.698µs 209.120µs ± 0.172µs 209.107µs ± 0.103µs 209.216µs 209.390µs 209.514µs 210.170µs 0.51% 1.249 6.213 0.08% 0.012µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4758042.314op/s 4781943.753op/s ± 3920.531op/s 4782242.895op/s ± 2347.292op/s 4784268.210op/s 4787576.242op/s 4789683.349op/s 4791612.761op/s 0.20% -1.233 6.110 0.08% 277.223op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.292µs 18.375µs ± 0.028µs 18.370µs ± 0.016µs 18.398µs 18.423µs 18.437µs 18.465µs 0.52% 0.285 -0.066 0.15% 0.002µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 54155452.544op/s 54422156.966op/s ± 83507.246op/s 54436108.249op/s ± 46792.935op/s 54471853.044op/s 54553499.208op/s 54569054.561op/s 54667502.145op/s 0.43% -0.276 -0.069 0.15% 5904.854op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.695µs 10.751µs ± 0.033µs 10.750µs ± 0.023µs 10.773µs 10.805µs 10.829µs 10.851µs 0.94% 0.407 -0.306 0.30% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 92160279.487op/s 93017030.374op/s ± 281353.023op/s 93027249.844op/s ± 203348.189op/s 93229661.977op/s 93420501.848op/s 93479881.793op/s 93499349.820op/s 0.51% -0.393 -0.328 0.30% 19894.663op/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.096µs; 209.144µs] or [-0.011%; +0.011%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4781400.406op/s; 4782487.101op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.371µs; 18.379µs] or [-0.021%; +0.021%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [54410583.665op/s; 54433730.267op/s] or [-0.021%; +0.021%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.746µs; 10.755µs] or [-0.042%; +0.042%] None None None
normalization/normalize_name/normalize_name/good throughput [92978037.551op/s; 93056023.197op/s] or [-0.042%; +0.042%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9469f89 1740656520 ivoanjo/prof-11405-fix-managed-string-table-cache-invalidation
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 504.327µs 505.674µs ± 0.468µs 505.702µs ± 0.258µs 505.944µs 506.366µs 506.669µs 508.455µs 0.54% 0.839 5.476 0.09% 0.033µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1966740.667op/s 1977561.804op/s ± 1828.556op/s 1977448.192op/s ± 1009.645op/s 1978688.535op/s 1980359.444op/s 1981754.739op/s 1982839.188op/s 0.27% -0.821 5.374 0.09% 129.298op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 452.683µs 453.374µs ± 0.297µs 453.366µs ± 0.211µs 453.564µs 453.860µs 454.239µs 454.365µs 0.22% 0.408 0.235 0.07% 0.021µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2200872.536op/s 2205687.512op/s ± 1445.619op/s 2205721.344op/s ± 1027.158op/s 2206783.382op/s 2207963.403op/s 2208448.841op/s 2209050.879op/s 0.15% -0.404 0.227 0.07% 102.221op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 176.007µs 176.720µs ± 0.293µs 176.712µs ± 0.207µs 176.948µs 177.178µs 177.272µs 177.391µs 0.38% -0.242 -0.471 0.17% 0.021µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5637260.698op/s 5658696.545op/s ± 9396.362op/s 5658936.973op/s ± 6635.034op/s 5664497.349op/s 5675825.532op/s 5680054.933op/s 5681591.422op/s 0.40% 0.250 -0.466 0.17% 664.423op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.578µs 37.685µs ± 0.048µs 37.684µs ± 0.029µs 37.709µs 37.762µs 37.802µs 37.965µs 0.74% 1.139 5.091 0.13% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26340239.632op/s 26535725.547op/s ± 33418.802op/s 26536334.184op/s ± 20141.768op/s 26558837.789op/s 26585558.661op/s 26598421.139op/s 26610973.406op/s 0.28% -1.118 4.959 0.13% 2363.066op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 48.210µs 48.334µs ± 0.043µs 48.328µs ± 0.027µs 48.361µs 48.405µs 48.454µs 48.471µs 0.30% 0.515 0.767 0.09% 0.003µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20630771.781op/s 20689513.425op/s ± 18475.527op/s 20691768.133op/s ± 11581.106op/s 20701256.231op/s 20716387.999op/s 20724511.507op/s 20742388.958op/s 0.24% -0.508 0.759 0.09% 1306.417op/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 [505.609µs; 505.738µs] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1977308.383op/s; 1977815.224op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [453.332µs; 453.415µs] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2205487.163op/s; 2205887.861op/s] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [176.679µs; 176.760µs] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5657394.299op/s; 5659998.790op/s] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.679µs; 37.692µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26531094.023op/s; 26540357.072op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [48.328µs; 48.340µs] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [20686952.895op/s; 20692073.955op/s] or [-0.012%; +0.012%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9469f89 1740656520 ivoanjo/prof-11405-fix-managed-string-table-cache-invalidation
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 149.717µs 150.593µs ± 0.323µs 150.567µs ± 0.138µs 150.702µs 150.990µs 151.721µs 152.407µs 1.22% 1.849 8.365 0.21% 0.023µ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 [150.548µs; 150.638µs] or [-0.030%; +0.030%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9469f89 1740656520 ivoanjo/prof-11405-fix-managed-string-table-cache-invalidation
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 245.238ns 254.120ns ± 10.744ns 249.416ns ± 2.573ns 254.108ns 281.263ns 283.270ns 286.406ns 14.83% 1.848 2.126 4.22% 0.760ns 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 [252.631ns; 255.609ns] or [-0.586%; +0.586%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9469f89 1740656520 ivoanjo/prof-11405-fix-managed-string-table-cache-invalidation
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.557µs 34.170µs ± 1.107µs 33.653µs ± 0.039µs 33.744µs 36.560µs 36.601µs 37.040µs 10.06% 1.698 0.919 3.23% 0.078µ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 [34.017µs; 34.323µs] or [-0.449%; +0.449%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9469f89 1740656520 ivoanjo/prof-11405-fix-managed-string-table-cache-invalidation
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.893µs 3.914µs ± 0.003µs 3.914µs ± 0.001µs 3.916µs 3.918µs 3.919µs 3.920µs 0.15% -2.243 15.222 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 255090019.321op/s 255490126.444op/s ± 179604.811op/s 255478565.349op/s ± 97035.396op/s 255578091.891op/s 255772348.960op/s 255840656.708op/s 256858473.092op/s 0.54% 2.269 15.462 0.07% 12699.978op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 82.245µs 82.544µs ± 0.231µs 82.476µs ± 0.112µs 82.653µs 82.962µs 83.277µs 84.137µs 2.01% 2.374 10.867 0.28% 0.016µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 11885388.999op/s 12114780.240op/s ± 33682.928op/s 12124721.243op/s ± 16539.339op/s 12137095.875op/s 12149700.906op/s 12155255.535op/s 12158733.259op/s 0.28% -2.314 10.333 0.28% 2381.743op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 76.342µs 76.941µs ± 0.289µs 76.921µs ± 0.184µs 77.107µs 77.530µs 77.796µs 77.941µs 1.33% 0.870 0.893 0.38% 0.020µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 12830265.847op/s 12997178.144op/s ± 48714.704op/s 13000351.661op/s ± 31172.494op/s 13030954.710op/s 13060212.805op/s 13074132.978op/s 13098960.023op/s 0.76% -0.846 0.837 0.37% 3444.650op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.896µs 3.914µs ± 0.003µs 3.914µs ± 0.001µs 3.916µs 3.918µs 3.919µs 3.920µs 0.16% -1.670 9.653 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255083914.225op/s 255495209.983op/s ± 177293.372op/s 255482107.783op/s ± 94488.127op/s 255580052.029op/s 255781842.989op/s 255886851.025op/s 256705631.153op/s 0.48% 1.688 9.797 0.07% 12536.535op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 72.820µs 73.837µs ± 0.452µs 73.791µs ± 0.307µs 74.142µs 74.581µs 75.140µs 75.162µs 1.86% 0.439 0.125 0.61% 0.032µs 1 200
credit_card/is_card_number/378282246310005 throughput 13304565.471op/s 13543874.917op/s ± 82742.249op/s 13551821.932op/s ± 56465.110op/s 13600040.180op/s 13665255.773op/s 13703685.008op/s 13732416.196op/s 1.33% -0.404 0.073 0.61% 5850.761op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 51.927µs 52.226µs ± 0.114µs 52.226µs ± 0.083µs 52.305µs 52.407µs 52.489µs 52.572µs 0.66% -0.015 0.027 0.22% 0.008µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19021521.068op/s 19147577.934op/s ± 41696.209op/s 19147676.107op/s ± 30522.125op/s 19178277.246op/s 19218977.112op/s 19246649.916op/s 19257960.684op/s 0.58% 0.029 0.024 0.22% 2948.367op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.509µs 6.653µs ± 0.064µs 6.646µs ± 0.047µs 6.692µs 6.760µs 6.801µs 6.805µs 2.39% 0.177 -0.426 0.96% 0.005µs 1 200
credit_card/is_card_number/x371413321323331 throughput 146955627.907op/s 150330174.987op/s ± 1438138.574op/s 150472669.690op/s ± 1075767.993op/s 151553846.670op/s 152636735.629op/s 153346039.044op/s 153634435.702op/s 2.10% -0.133 -0.440 0.95% 101691.754op/s 1 200
credit_card/is_card_number_no_luhn/ 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.927µs 0.32% -2.179 23.678 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254633126.983op/s 255428714.548op/s ± 176017.256op/s 255439103.319op/s ± 66649.092op/s 255498524.496op/s 255595087.763op/s 255892139.180op/s 256878538.678op/s 0.56% 2.222 24.005 0.07% 12446.299op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 63.646µs 63.838µs ± 0.091µs 63.821µs ± 0.050µs 63.883µs 63.997µs 64.152µs 64.291µs 0.74% 1.320 3.682 0.14% 0.006µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15554245.829op/s 15664642.670op/s ± 22306.797op/s 15668794.812op/s ± 12262.309op/s 15679076.273op/s 15694266.100op/s 15701927.719op/s 15711785.410op/s 0.27% -1.304 3.604 0.14% 1577.329op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 57.428µs 57.538µs ± 0.076µs 57.514µs ± 0.020µs 57.550µs 57.668µs 57.879µs 57.907µs 0.68% 2.737 8.965 0.13% 0.005µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 17269072.798op/s 17379772.659op/s ± 22840.626op/s 17386997.135op/s ± 6186.855op/s 17391677.647op/s 17400204.281op/s 17407291.166op/s 17412997.061op/s 0.15% -2.723 8.884 0.13% 1615.076op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.892µs 3.914µs ± 0.003µs 3.914µs ± 0.002µs 3.916µs 3.919µs 3.922µs 3.931µs 0.43% -0.774 13.774 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254383563.239op/s 255487469.425op/s ± 210160.156op/s 255483167.548op/s ± 100013.366op/s 255587450.656op/s 255745675.312op/s 255935900.053op/s 256941749.818op/s 0.57% 0.812 13.919 0.08% 14860.567op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.572µs 54.727µs ± 0.173µs 54.677µs ± 0.030µs 54.710µs 55.113µs 55.555µs 55.600µs 1.69% 3.215 10.856 0.32% 0.012µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17985514.290op/s 18272558.893op/s ± 57277.876op/s 18289071.366op/s ± 10000.117op/s 18297690.374op/s 18309062.621op/s 18321215.400op/s 18324521.875op/s 0.19% -3.192 10.680 0.31% 4050.157op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 51.917µs 52.192µs ± 0.113µs 52.188µs ± 0.080µs 52.267µs 52.379µs 52.455µs 52.506µs 0.61% 0.127 -0.279 0.22% 0.008µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19045291.290op/s 19160105.768op/s ± 41392.087op/s 19161516.970op/s ± 29289.935op/s 19190949.550op/s 19224040.627op/s 19248123.136op/s 19261594.728op/s 0.52% -0.116 -0.284 0.22% 2926.863op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.477µs 6.652µs ± 0.065µs 6.646µs ± 0.047µs 6.697µs 6.756µs 6.800µs 6.836µs 2.86% 0.057 -0.093 0.98% 0.005µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 146285857.554op/s 150353157.445op/s ± 1479669.908op/s 150466280.341op/s ± 1080880.171op/s 151471081.498op/s 152552662.825op/s 154075842.186op/s 154389484.094op/s 2.61% -0.001 -0.090 0.98% 104628.463op/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.914µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255465234.945op/s; 255515017.944op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [82.512µs; 82.576µs] or [-0.039%; +0.039%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12110112.110op/s; 12119448.370op/s] or [-0.039%; +0.039%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [76.901µs; 76.981µs] or [-0.052%; +0.052%] None None None
credit_card/is_card_number/ 378282246310005 throughput [12990426.754op/s; 13003929.533op/s] or [-0.052%; +0.052%] None None None
credit_card/is_card_number/37828224631 execution_time [3.914µs; 3.914µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631 throughput [255470638.827op/s; 255519781.139op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/378282246310005 execution_time [73.774µs; 73.900µs] or [-0.085%; +0.085%] None None None
credit_card/is_card_number/378282246310005 throughput [13532407.637op/s; 13555342.197op/s] or [-0.085%; +0.085%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.210µs; 52.242µs] or [-0.030%; +0.030%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19141799.240op/s; 19153356.628op/s] or [-0.030%; +0.030%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.644µs; 6.661µs] or [-0.133%; +0.133%] None None None
credit_card/is_card_number/x371413321323331 throughput [150130862.812op/s; 150529487.162op/s] or [-0.133%; +0.133%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.915µs; 3.915µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255404320.249op/s; 255453108.846op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [63.826µs; 63.851µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15661551.162op/s; 15667734.177op/s] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [57.528µs; 57.549µs] or [-0.018%; +0.018%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17376607.168op/s; 17382938.150op/s] or [-0.018%; +0.018%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.914µs; 3.915µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255458343.248op/s; 255516595.601op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.703µs; 54.751µs] or [-0.044%; +0.044%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18264620.731op/s; 18280497.056op/s] or [-0.043%; +0.043%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.176µs; 52.208µs] or [-0.030%; +0.030%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19154369.223op/s; 19165842.313op/s] or [-0.030%; +0.030%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.643µs; 6.661µs] or [-0.136%; +0.136%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [150148089.427op/s; 150558225.464op/s] or [-0.136%; +0.136%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Feb 25, 2025

Codecov Report

Attention: Patch coverage is 95.65217% with 4 lines in your changes missing coverage. Please review.

Project coverage is 72.04%. Comparing base (a1d958b) to head (9469f89).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #896      +/-   ##
==========================================
+ Coverage   71.77%   72.04%   +0.26%     
==========================================
  Files         328      328              
  Lines       48702    48786      +84     
==========================================
+ Hits        34955    35146     +191     
+ Misses      13747    13640     -107     
Components Coverage Δ
crashtracker 42.93% <ø> (+0.02%) ⬆️
crashtracker-ffi 6.25% <ø> (ø)
datadog-alloc 98.73% <ø> (ø)
data-pipeline 92.21% <ø> (ø)
data-pipeline-ffi 90.39% <ø> (ø)
ddcommon 80.08% <ø> (ø)
ddcommon-ffi 61.05% <ø> (ø)
ddtelemetry 61.74% <ø> (ø)
ddtelemetry-ffi 22.46% <ø> (ø)
dogstatsd 90.16% <ø> (ø)
dogstatsd-client 82.57% <ø> (ø)
ipc 82.63% <ø> (ø)
profiling 82.02% <95.65%> (+1.97%) ⬆️
profiling-ffi 70.68% <ø> (ø)
serverless 0.00% <ø> (ø)
sidecar 40.23% <ø> (ø)
sidecar-ffi 0.14% <ø> (ø)
spawn-worker 54.37% <ø> (ø)
tinybytes 92.00% <ø> (ø)
trace-mini-agent 72.48% <ø> (ø)
trace-normalization 98.23% <ø> (ø)
trace-obfuscation 95.96% <ø> (ø)
trace-protobuf 78.13% <ø> (ø)
trace-utils 93.29% <ø> (ø)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
profiling Relates to the profiling* modules.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants