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

[crashtracker] Enable the client to register arbitrary messages #847

Merged
merged 11 commits into from
Feb 4, 2025

Conversation

danielsn
Copy link
Contributor

@danielsn danielsn commented Jan 31, 2025

What does this PR do?

Adds a new capability where the client can temporary add strings which will go on the crash report. For e.g. a program might register information about its doing when it starts a potentially crashing operation.

Motivation

Request from the PHP team

Additional Notes

If its useful, I could consider moving the new data-structure to the common crate.

How to test the change?

Run crashtracking.c, notice how the output now includes

  "experimental": {
    "additional_tags": [
      "This is a very informative extra bit of info",
      "This message will for sure help us debug the crash"
    ],
    "ucontext": "ucontext_t { uc_onstack: 0, uc_sigmask: 0, uc_stack: stack_t { ss_sp: 0x16b90db20, ss_size: 0, ss_flags: 0 }, uc_link: 0x0, uc_mcsize: 816, uc_mcontext: 0x16b90dbc0 }, __darwin_mcontext64 { __es: __darwin_arm_exception_state64 { __far: 0, __esr: 2449473606, __exception: 0 }, __ss: __darwin_arm_thread_state64 { __x: [1965, 2, 2, 2, 1, 1, 104, 0, 42, 0, 1125831082, 1125814698, 1125814698, 1125831082, 4294967295, 1902783658, 15534603969032962176, 0, 0, 4371520592, 4367268712, 6099624608, 4371519760, 6099624656, 6099624800, 6540606987, 0, 0, 0], __fp: 6099624576, __lr: 4367269200, __sp: 6099623792, __pc: 4367269212, __cpsr: 2147487744, __pad: 1 }, __ns: __darwin_arm_neon_state64 { __v: [88784328276456187500985057330, 137438953504, 340282346638527650885884567742828249086, 209496498218139124884886633335806074766, 260321711210735276619015951293647418941, 108765458862330036778879223861010409496, 235260510925349146098663595207689597429, 113189914503583780965398684181768730173, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 5233100606242806050955395731361295, 0, 260321711210735276619015951293647418941, 108765458862330036778879223861010409496, 118018127319607666763640701190017589328, 248139909899723237412370368361956594978, 9763668240002421285107666879106348904, 83411021150251156487867063122654697616, 228847876701031243637852951442479325308, 278118852621983708676256786987623256188, 30711627822737300394785458183371625032, 269051704901632202917736486714570121603, 241159304407128903656726276378252137388, 0], __fpsr: 0, __fpcr: 0 } }"
  },

@danielsn danielsn requested review from a team as code owners January 31, 2025 22:12
@danielsn danielsn requested review from sanchda and removed request for a team January 31, 2025 22:19
@pr-commenter
Copy link

pr-commenter bot commented Jan 31, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-02-04 19:28:42

Comparing candidate commit 099d19e in PR branch dsn/crashtracker-messages with baseline commit 03ca950 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 099d19e 1738696669 dsn/crashtracker-messages
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 700.195µs 701.841µs ± 0.717µs 701.801µs ± 0.431µs 702.281µs 702.847µs 703.228µs 707.121µs 0.76% 1.920 13.316 0.10% 0.051µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1414185.279op/s 1424825.811op/s ± 1453.772op/s 1424905.742op/s ± 875.472op/s 1425690.750op/s 1426881.758op/s 1427707.328op/s 1428173.110op/s 0.23% -1.885 13.011 0.10% 102.797op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 472.889µs 473.798µs ± 0.360µs 473.792µs ± 0.230µs 474.023µs 474.370µs 474.781µs 475.126µs 0.28% 0.395 0.644 0.08% 0.025µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2104702.759op/s 2110603.779op/s ± 1602.657op/s 2110632.936op/s ± 1023.632op/s 2111630.220op/s 2113108.704op/s 2113872.130op/s 2114660.687op/s 0.19% -0.390 0.634 0.08% 113.325op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 190.324µs 190.856µs ± 0.324µs 190.823µs ± 0.106µs 190.928µs 191.120µs 192.640µs 193.535µs 1.42% 5.466 38.659 0.17% 0.023µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5167027.475op/s 5239563.196op/s ± 8819.618op/s 5240452.802op/s ± 2903.273op/s 5243369.658op/s 5247282.917op/s 5249934.981op/s 5254203.059op/s 0.26% -5.411 38.101 0.17% 623.641op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 46.240µs 46.437µs ± 0.054µs 46.430µs ± 0.034µs 46.469µs 46.538µs 46.561µs 46.580µs 0.32% 0.158 0.532 0.12% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 21468451.128op/s 21534789.444op/s ± 25266.631op/s 21537818.438op/s ± 15761.929op/s 21549998.025op/s 21571794.802op/s 21583503.148op/s 21626439.205op/s 0.41% -0.149 0.541 0.12% 1786.621op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 48.962µs 49.210µs ± 0.141µs 49.213µs ± 0.065µs 49.270µs 49.337µs 49.458µs 50.707µs 3.04% 5.898 61.159 0.29% 0.010µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 19721268.209op/s 20321388.778op/s ± 57418.392op/s 20319850.802op/s ± 26971.305op/s 20349958.471op/s 20391782.393op/s 20412626.743op/s 20424035.851op/s 0.51% -5.658 57.910 0.28% 4060.093op/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 [701.741µs; 701.940µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1424624.332op/s; 1425027.290op/s] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [473.748µs; 473.848µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2110381.666op/s; 2110825.891op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.811µs; 190.901µs] or [-0.024%; +0.024%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5238340.882op/s; 5240785.510op/s] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [46.429µs; 46.444µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [21531287.732op/s; 21538291.156op/s] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [49.190µs; 49.229µs] or [-0.040%; +0.040%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [20313431.141op/s; 20329346.415op/s] or [-0.039%; +0.039%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 099d19e 1738696669 dsn/crashtracker-messages
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.421µs 3.324µs ± 1.470µs 3.112µs ± 0.029µs 3.141µs 3.774µs 14.373µs 15.365µs 393.82% 7.405 55.703 44.12% 0.104µ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.120µs; 3.528µs] or [-6.130%; +6.130%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 099d19e 1738696669 dsn/crashtracker-messages
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 69.335µs 69.532µs ± 0.173µs 69.518µs ± 0.037µs 69.548µs 69.616µs 70.127µs 71.578µs 2.96% 8.905 97.765 0.25% 0.012µ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 [69.508µs; 69.556µs] or [-0.035%; +0.035%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 099d19e 1738696669 dsn/crashtracker-messages
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 57.132ms 57.361ms ± 0.138ms 57.336ms ± 0.057ms 57.403ms 57.595ms 57.902ms 58.174ms 1.46% 2.458 9.661 0.24% 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 [57.341ms; 57.380ms] or [-0.033%; +0.033%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 099d19e 1738696669 dsn/crashtracker-messages
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.690µs 2.737µs ± 0.018µs 2.734µs ± 0.007µs 2.743µs 2.775µs 2.795µs 2.798µs 2.34% 0.871 2.378 0.66% 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.734µs; 2.739µs] or [-0.092%; +0.092%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 099d19e 1738696669 dsn/crashtracker-messages
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 5.378µs 5.474µs ± 0.042µs 5.485µs ± 0.034µs 5.508µs 5.540µs 5.547µs 5.584µs 1.79% -0.008 -1.226 0.77% 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.468µs; 5.480µs] or [-0.107%; +0.107%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 099d19e 1738696669 dsn/crashtracker-messages
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
two way interface execution_time 18.732µs 28.289µs ± 12.650µs 19.237µs ± 0.183µs 37.243µs 45.264µs 49.205µs 120.927µs 528.62% 2.851 16.143 44.60% 0.894µ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.536µs; 30.042µs] or [-6.197%; +6.197%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 099d19e 1738696669 dsn/crashtracker-messages
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 261.059ns 274.802ns ± 15.922ns 267.018ns ± 3.914ns 279.595ns 311.596ns 319.598ns 320.120ns 19.89% 1.502 1.055 5.78% 1.126ns 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 [272.595ns; 277.009ns] or [-0.803%; +0.803%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 099d19e 1738696669 dsn/crashtracker-messages
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 137.640µs 138.384µs ± 0.591µs 138.291µs ± 0.128µs 138.445µs 138.915µs 139.558µs 145.161µs 4.97% 8.007 85.880 0.43% 0.042µ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 [138.302µs; 138.466µs] or [-0.059%; +0.059%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 099d19e 1738696669 dsn/crashtracker-messages
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 181.005µs 186.562µs ± 2.120µs 186.664µs ± 1.517µs 187.990µs 189.809µs 191.335µs 193.135µs 3.47% 0.085 -0.162 1.13% 0.150µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5177731.457op/s 5360823.365op/s ± 60869.525op/s 5357206.896op/s ± 43880.658op/s 5404776.742op/s 5464829.264op/s 5494737.791op/s 5524710.788op/s 3.13% -0.023 -0.191 1.13% 4304.125op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 21.073µs 21.276µs ± 0.101µs 21.261µs ± 0.058µs 21.328µs 21.488µs 21.537µs 21.590µs 1.55% 0.702 0.438 0.47% 0.007µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 46317363.323op/s 47002997.318op/s ± 222990.701op/s 47033933.097op/s ± 129135.943op/s 47151116.123op/s 47318791.737op/s 47423919.499op/s 47454226.444op/s 0.89% -0.674 0.391 0.47% 15767.824op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 14.224µs 14.348µs ± 0.102µs 14.333µs ± 0.041µs 14.382µs 14.466µs 14.493µs 15.488µs 8.06% 7.138 76.769 0.71% 0.007µs 1 200
normalization/normalize_name/normalize_name/good throughput 64565813.131op/s 69699618.472op/s ± 471736.437op/s 69769751.381op/s ± 197770.880op/s 69933165.922op/s 70160850.553op/s 70297340.232op/s 70305465.910op/s 0.77% -6.568 68.283 0.68% 33356.803op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time [186.269µs; 186.856µs] or [-0.157%; +0.157%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5352387.434op/s; 5369259.296op/s] or [-0.157%; +0.157%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [21.262µs; 21.290µs] or [-0.066%; +0.066%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [46972092.951op/s; 47033901.684op/s] or [-0.066%; +0.066%] None None None
normalization/normalize_name/normalize_name/good execution_time [14.334µs; 14.362µs] or [-0.098%; +0.098%] None None None
normalization/normalize_name/normalize_name/good throughput [69634240.339op/s; 69764996.606op/s] or [-0.094%; +0.094%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 099d19e 1738696669 dsn/crashtracker-messages
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.348ms 6.368ms ± 0.013ms 6.366ms ± 0.004ms 6.371ms 6.380ms 6.440ms 6.449ms 1.29% 3.940 19.211 0.21% 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.366ms; 6.370ms] or [-0.029%; +0.029%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 099d19e 1738696669 dsn/crashtracker-messages
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 38.765µs 39.420µs ± 1.034µs 38.915µs ± 0.077µs 39.180µs 41.616µs 41.711µs 42.598µs 9.46% 1.662 0.920 2.62% 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 [39.277µs; 39.563µs] or [-0.363%; +0.363%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 099d19e 1738696669 dsn/crashtracker-messages
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 4.272µs 4.289µs ± 0.003µs 4.289µs ± 0.001µs 4.290µs 4.293µs 4.294µs 4.311µs 0.51% 1.185 21.983 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 231971432.897op/s 233154875.928op/s ± 154724.665op/s 233152530.145op/s ± 68264.928op/s 233236326.598op/s 233310013.837op/s 233515249.224op/s 234075160.209op/s 0.40% -1.140 21.808 0.07% 10940.686op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 89.193µs 90.830µs ± 0.737µs 90.783µs ± 0.428µs 91.235µs 91.859µs 92.006µs 96.729µs 6.55% 2.522 18.861 0.81% 0.052µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 10338150.567op/s 11010238.615op/s ± 87649.073op/s 11015224.705op/s ± 51641.889op/s 11065404.285op/s 11135160.777op/s 11159731.721op/s 11211660.453op/s 1.78% -2.194 15.674 0.79% 6197.725op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 83.169µs 83.701µs ± 0.424µs 83.675µs ± 0.141µs 83.818µs 84.006µs 84.248µs 88.851µs 6.19% 8.995 107.455 0.50% 0.030µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 11254848.026op/s 11947599.810op/s ± 57908.543op/s 11951029.462op/s ± 20133.213op/s 11968726.044op/s 12004861.612op/s 12020409.289op/s 12023689.072op/s 0.61% -8.566 100.687 0.48% 4094.752op/s 1 200
credit_card/is_card_number/37828224631 execution_time 4.272µs 4.288µs ± 0.005µs 4.288µs ± 0.001µs 4.289µs 4.292µs 4.296µs 4.341µs 1.23% 7.636 87.450 0.11% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 230365966.899op/s 233186861.526op/s ± 245941.898op/s 233201122.725op/s ± 62488.152op/s 233268298.860op/s 233360788.215op/s 233565383.108op/s 234059922.350op/s 0.37% -7.537 86.072 0.11% 17390.718op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 80.572µs 81.043µs ± 0.205µs 81.012µs ± 0.074µs 81.086µs 81.517µs 81.677µs 81.909µs 1.11% 1.268 2.691 0.25% 0.015µs 1 200
credit_card/is_card_number/378282246310005 throughput 12208602.083op/s 12339247.305op/s ± 31127.446op/s 12343791.313op/s ± 11241.926op/s 12355124.028op/s 12378219.001op/s 12407319.564op/s 12411284.340op/s 0.55% -1.245 2.634 0.25% 2201.043op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 58.549µs 58.682µs ± 0.048µs 58.679µs ± 0.029µs 58.709µs 58.766µs 58.806µs 58.921µs 0.41% 0.783 2.874 0.08% 0.003µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 16971936.556op/s 17040892.970op/s ± 14052.213op/s 17041856.594op/s ± 8436.825op/s 17049976.647op/s 17061144.271op/s 17069389.372op/s 17079663.245op/s 0.22% -0.773 2.835 0.08% 993.641op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.415µs 6.443µs ± 0.005µs 6.443µs ± 0.002µs 6.445µs 6.450µs 6.454µs 6.458µs 0.24% -0.938 6.886 0.07% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 154834760.284op/s 155211623.960op/s ± 112360.594op/s 155206378.984op/s ± 52477.576op/s 155263875.560op/s 155384567.343op/s 155438898.675op/s 155884754.963op/s 0.44% 0.956 6.969 0.07% 7945.094op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 4.272µs 4.289µs ± 0.003µs 4.289µs ± 0.001µs 4.290µs 4.292µs 4.294µs 4.295µs 0.16% -1.317 8.345 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 232819270.647op/s 233177205.091op/s ± 136275.330op/s 233181007.407op/s ± 67989.744op/s 233246637.665op/s 233380200.249op/s 233486234.474op/s 234067406.997op/s 0.38% 1.332 8.446 0.06% 9636.121op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 69.139µs 69.969µs ± 0.372µs 69.967µs ± 0.272µs 70.228µs 70.544µs 70.888µs 70.950µs 1.41% 0.066 -0.427 0.53% 0.026µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 14094454.772op/s 14292396.693op/s ± 75864.055op/s 14292499.679op/s ± 55708.337op/s 14350128.288op/s 14422774.719op/s 14445536.884op/s 14463573.190op/s 1.20% -0.041 -0.442 0.53% 5364.399op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 64.255µs 65.361µs ± 0.402µs 65.357µs ± 0.272µs 65.645µs 66.002µs 66.175µs 66.333µs 1.49% -0.255 0.023 0.61% 0.028µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 15075377.376op/s 15300120.314op/s ± 94273.669op/s 15300578.376op/s ± 63754.111op/s 15357733.014op/s 15472162.482op/s 15543598.349op/s 15562945.597op/s 1.71% 0.291 0.053 0.61% 6666.155op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 4.273µs 4.289µs ± 0.003µs 4.289µs ± 0.001µs 4.290µs 4.294µs 4.296µs 4.297µs 0.20% -0.559 6.619 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 232693449.630op/s 233148496.022op/s ± 149339.613op/s 233165374.944op/s ± 74951.486op/s 233228558.837op/s 233300489.523op/s 233521658.123op/s 234050422.209op/s 0.38% 0.575 6.698 0.06% 10559.905op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 61.755µs 61.959µs ± 0.061µs 61.960µs ± 0.041µs 62.000µs 62.051µs 62.083µs 62.145µs 0.30% -0.265 0.590 0.10% 0.004µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 16091269.682op/s 16139742.921op/s ± 16009.295op/s 16139395.766op/s ± 10624.290op/s 16150095.800op/s 16170306.961op/s 16179204.658op/s 16192897.795op/s 0.33% 0.273 0.593 0.10% 1132.028op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 58.526µs 58.685µs ± 0.039µs 58.686µs ± 0.020µs 58.705µs 58.755µs 58.772µs 58.781µs 0.16% -0.432 1.778 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 17012183.111op/s 17040152.282op/s ± 11470.926op/s 17039952.061op/s ± 5864.104op/s 17045904.822op/s 17056877.318op/s 17074102.074op/s 17086429.957op/s 0.27% 0.439 1.794 0.07% 811.117op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.431µs 6.443µs ± 0.004µs 6.443µs ± 0.002µs 6.445µs 6.448µs 6.452µs 6.455µs 0.20% -0.232 1.417 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 154912656.394op/s 155216506.207op/s ± 87763.417op/s 155218890.369op/s ± 45890.052op/s 155258937.903op/s 155366857.879op/s 155454237.526op/s 155504021.276op/s 0.18% 0.237 1.418 0.06% 6205.811op/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 [4.289µs; 4.289µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ throughput [233133432.578op/s; 233176319.279op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [90.728µs; 90.933µs] or [-0.112%; +0.112%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [10998091.296op/s; 11022385.933op/s] or [-0.110%; +0.110%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [83.642µs; 83.760µs] or [-0.070%; +0.070%] None None None
credit_card/is_card_number/ 378282246310005 throughput [11939574.243op/s; 11955625.377op/s] or [-0.067%; +0.067%] None None None
credit_card/is_card_number/37828224631 execution_time [4.288µs; 4.289µs] or [-0.015%; +0.015%] None None None
credit_card/is_card_number/37828224631 throughput [233152776.344op/s; 233220946.707op/s] or [-0.015%; +0.015%] None None None
credit_card/is_card_number/378282246310005 execution_time [81.014µs; 81.071µs] or [-0.035%; +0.035%] None None None
credit_card/is_card_number/378282246310005 throughput [12334933.341op/s; 12343561.270op/s] or [-0.035%; +0.035%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [58.676µs; 58.689µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [17038945.469op/s; 17042840.472op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.442µs; 6.443µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/x371413321323331 throughput [155196051.862op/s; 155227196.058op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ execution_time [4.288µs; 4.289µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/ throughput [233158318.640op/s; 233196091.541op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [69.918µs; 70.021µs] or [-0.074%; +0.074%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [14281882.664op/s; 14302910.721op/s] or [-0.074%; +0.074%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [65.306µs; 65.417µs] or [-0.085%; +0.085%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [15287054.890op/s; 15313185.738op/s] or [-0.085%; +0.085%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [4.289µs; 4.289µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [233127798.988op/s; 233169193.057op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [61.950µs; 61.967µs] or [-0.014%; +0.014%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [16137524.187op/s; 16141961.656op/s] or [-0.014%; +0.014%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [58.679µs; 58.690µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [17038562.522op/s; 17041742.042op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.442µs; 6.443µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155204343.041op/s; 155228669.372op/s] or [-0.008%; +0.008%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Jan 31, 2025

Codecov Report

Attention: Patch coverage is 76.33803% with 84 lines in your changes missing coverage. Please review.

Project coverage is 71.60%. Comparing base (03ca950) to head (099d19e).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #847      +/-   ##
==========================================
- Coverage   71.63%   71.60%   -0.04%     
==========================================
  Files         317      320       +3     
  Lines       46745    46923     +178     
==========================================
+ Hits        33487    33597     +110     
- Misses      13258    13326      +68     
Components Coverage Δ
crashtracker 43.29% <76.33%> (+0.99%) ⬆️
crashtracker-ffi 6.28% <0.00%> (-0.11%) ⬇️
datadog-alloc 98.73% <ø> (ø)
data-pipeline 91.48% <ø> (ø)
data-pipeline-ffi 90.08% <ø> (ø)
ddcommon 80.61% <ø> (ø)
ddcommon-ffi 62.11% <ø> (ø)
ddtelemetry 59.51% <ø> (ø)
ddtelemetry-ffi 22.46% <ø> (ø)
dogstatsd 90.01% <ø> (ø)
dogstatsd-client 79.77% <ø> (ø)
ipc 82.68% <ø> (ø)
profiling 80.23% <ø> (ø)
profiling-ffi 70.44% <ø> (ø)
serverless 0.00% <ø> (ø)
sidecar 41.79% <ø> (ø)
sidecar-ffi 10.78% <ø> (ø)
spawn-worker 54.37% <ø> (ø)
tinybytes 93.60% <ø> (ø)
trace-mini-agent 72.48% <ø> (ø)
trace-normalization 98.23% <ø> (ø)
trace-obfuscation 95.96% <ø> (ø)
trace-protobuf 77.67% <ø> (ø)
trace-utils 94.21% <ø> (ø)

ivoanjo and others added 3 commits February 4, 2025 09:55
)

* Add a `unintern_all` bulk operation for managed string storage

This allows us to avoid crossing the FFI boundary and grabbing the lock
too often whenever there's a bunch of ids to be uninterned.

* Add an `intern_all` bulk operation for managed string storage

This allows us to avoid crossing the FFI boundary and grabbing the lock
too often whenever there's a bunch of ids to be interned.

* refactor and test

---------

Co-authored-by: Levi Morrison <levi.morrison@datadoghq.com>
* fix: tolerate empty trace payload body

* add tests to cover empty msgpack arrays as trace payloads

* add miri ignore to empty payload test

---------

Co-authored-by: Edmund Kump <edmund.kump@datadoghq.com>
@danielsn danielsn requested review from a team as code owners February 4, 2025 14:56
@github-actions github-actions bot added profiling Relates to the profiling* modules. mini-agent labels Feb 4, 2025
@github-actions github-actions bot removed profiling Relates to the profiling* modules. mini-agent labels Feb 4, 2025
@danielsn danielsn enabled auto-merge (squash) February 4, 2025 15:26
@danielsn danielsn merged commit a2bd795 into main Feb 4, 2025
31 checks passed
@danielsn danielsn deleted the dsn/crashtracker-messages branch February 4, 2025 19:48
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.

5 participants