libdatadog
libdatadog copied to clipboard
[crashtracker] RFC for structured log format
What does this PR do?
Defines a structured log format for crash reports
Motivation
If we want to interoperate with other tools/services, we need an agreed on format.
Additional Notes
Anything else we should know when reviewing?
How to test the change?
Describe here in detail how the change can be validated.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 71.03%. Comparing base (
75b1ab5) to head (12aa4e1).
Additional details and impacted files
@@ Coverage Diff @@
## main #554 +/- ##
==========================================
+ Coverage 71.01% 71.03% +0.01%
==========================================
Files 287 287
Lines 42836 42836
==========================================
+ Hits 30421 30428 +7
+ Misses 12415 12408 -7
| Components | Coverage Δ | |
|---|---|---|
| crashtracker | 40.76% <ø> (ø) |
|
| crashtracker-ffi | 8.67% <ø> (ø) |
|
| datadog-alloc | 98.73% <ø> (ø) |
|
| data-pipeline | 91.95% <ø> (ø) |
|
| data-pipeline-ffi | 0.00% <ø> (ø) |
|
| ddcommon | 83.46% <ø> (ø) |
|
| ddcommon-ffi | 69.12% <ø> (ø) |
|
| ddtelemetry | 59.10% <ø> (ø) |
|
| ddtelemetry-ffi | 22.13% <ø> (ø) |
|
| dogstatsd | 89.45% <ø> (ø) |
|
| dogstatsd-client | 79.77% <ø> (ø) |
|
| ipc | 82.76% <ø> (ø) |
|
| profiling | 84.30% <ø> (ø) |
|
| profiling-ffi | 77.46% <ø> (ø) |
|
| serverless | 0.00% <ø> (ø) |
|
| sidecar | 37.35% <ø> (ø) |
|
| sidecar-ffi | 0.00% <ø> (ø) |
|
| spawn-worker | 50.36% <ø> (ø) |
|
| tinybytes | 94.77% <ø> (ø) |
|
| trace-mini-agent | 72.18% <ø> (ø) |
|
| trace-normalization | 98.25% <ø> (ø) |
|
| trace-obfuscation | 95.77% <ø> (ø) |
|
| trace-protobuf | 77.67% <ø> (ø) |
|
| trace-utils | 93.14% <ø> (ø) |
Benchmarks
Comparison
Benchmark execution time: 2024-11-13 20:08:31
Comparing candidate commit 12aa4e1c in PR branch dsn/crashtracker-errortracking-rfc with baseline commit 75b1ab55 in branch main.
Found 4 performance improvements and 0 performance regressions! Performance is the same for 47 metrics, 2 unstable metrics.
scenario:credit_card/is_card_number/37828224631000521389798
- 🟩
execution_time[-9.684µs; -9.653µs] or [-14.125%; -14.079%] - 🟩
throughput[+2391114.927op/s; +2397954.724op/s] or [+16.394%; +16.440%]
scenario:credit_card/is_card_number_no_luhn/37828224631000521389798
- 🟩
execution_time[-9.850µs; -9.733µs] or [-14.340%; -14.170%] - 🟩
throughput[+2407765.890op/s; +2432043.058op/s] or [+16.538%; +16.704%]
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 | 12aa4e1c | 1731527855 | dsn/crashtracker-errortracking-rfc |
| 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 | 506.618µs | 507.570µs ± 0.369µs | 507.559µs ± 0.182µs | 507.731µs | 508.252µs | 508.597µs | 509.455µs | 0.37% | 0.905 | 3.714 | 0.07% | 0.026µs | 1 | 200 |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | 1962881.450op/s | 1970171.217op/s ± 1429.978op/s | 1970212.816op/s ± 706.730op/s | 1970988.156op/s | 1972593.540op/s | 1973187.319op/s | 1973873.348op/s | 0.19% | -0.895 | 3.673 | 0.07% | 101.115op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | 467.507µs | 468.259µs ± 0.318µs | 468.255µs ± 0.211µs | 468.465µs | 468.771µs | 469.049µs | 469.406µs | 0.25% | 0.218 | 0.257 | 0.07% | 0.023µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | 2130353.649op/s | 2135570.001op/s ± 1452.332op/s | 2135590.435op/s ± 964.794op/s | 2136554.087op/s | 2137857.190op/s | 2138862.676op/s | 2139003.720op/s | 0.16% | -0.214 | 0.252 | 0.07% | 102.695op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | 179.799µs | 180.262µs ± 0.195µs | 180.262µs ± 0.115µs | 180.379µs | 180.609µs | 180.715µs | 180.837µs | 0.32% | 0.151 | 0.007 | 0.11% | 0.014µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | 5529829.112op/s | 5547472.475op/s ± 6003.830op/s | 5547466.628op/s ± 3539.422op/s | 5550943.121op/s | 5557241.968op/s | 5561211.858op/s | 5561778.266op/s | 0.26% | -0.144 | 0.005 | 0.11% | 424.535op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | 44.948µs | 45.212µs ± 0.087µs | 45.214µs ± 0.048µs | 45.263µs | 45.340µs | 45.392µs | 45.508µs | 0.65% | -0.271 | 0.753 | 0.19% | 0.006µs | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | throughput | 21973922.097op/s | 22118238.945op/s ± 42440.042op/s | 22116821.364op/s ± 23441.756op/s | 22140257.906op/s | 22195436.406op/s | 22226000.808op/s | 22247794.037op/s | 0.59% | 0.286 | 0.753 | 0.19% | 3000.964op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | 48.933µs | 49.125µs ± 0.095µs | 49.127µs ± 0.070µs | 49.188µs | 49.296µs | 49.344µs | 49.396µs | 0.55% | 0.289 | -0.369 | 0.19% | 0.007µs | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | 20244395.101op/s | 20356382.228op/s ± 39206.910op/s | 20355261.581op/s ± 29157.105op/s | 20388952.859op/s | 20416244.965op/s | 20430704.939op/s | 20436293.222op/s | 0.40% | -0.280 | -0.379 | 0.19% | 2772.347op/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 | [507.519µs; 507.621µs] or [-0.010%; +0.010%] | None | None | None |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | [1969973.036op/s; 1970369.399op/s] or [-0.010%; +0.010%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | [468.215µs; 468.303µs] or [-0.009%; +0.009%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | [2135368.721op/s; 2135771.280op/s] or [-0.009%; +0.009%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | [180.235µs; 180.290µs] or [-0.015%; +0.015%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | [5546640.402op/s; 5548304.548op/s] or [-0.015%; +0.015%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | [45.200µs; 45.224µs] or [-0.027%; +0.027%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | throughput | [22112357.163op/s; 22124120.726op/s] or [-0.027%; +0.027%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | [49.112µs; 49.138µs] or [-0.027%; +0.027%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | [20350948.528op/s; 20361815.929op/s] or [-0.027%; +0.027%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 12aa4e1c | 1731527855 | dsn/crashtracker-errortracking-rfc |
| 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 | 58.158ms | 58.696ms ± 0.309ms | 58.663ms ± 0.148ms | 58.770ms | 59.239ms | 60.107ms | 60.170ms | 2.57% | 2.154 | 6.794 | 0.53% | 0.022ms | 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 | [58.653ms; 58.739ms] or [-0.073%; +0.073%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 12aa4e1c | 1731527855 | dsn/crashtracker-errortracking-rfc |
| 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 | 272.026µs | 274.155µs ± 1.195µs | 273.940µs ± 0.711µs | 274.772µs | 275.989µs | 278.483µs | 279.619µs | 2.07% | 1.220 | 2.908 | 0.43% | 0.085µs | 1 | 200 |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | 3576299.150op/s | 3647637.753op/s ± 15817.974op/s | 3650434.180op/s ± 9481.836op/s | 3658929.364op/s | 3669639.191op/s | 3673208.381op/s | 3676113.789op/s | 0.70% | -1.177 | 2.722 | 0.43% | 1118.500op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | execution_time | 25.813µs | 25.884µs ± 0.045µs | 25.876µs ± 0.021µs | 25.903µs | 25.977µs | 26.028µs | 26.079µs | 0.79% | 1.400 | 2.542 | 0.17% | 0.003µs | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | throughput | 38344382.727op/s | 38633691.752op/s ± 66903.874op/s | 38646205.367op/s ± 31934.854op/s | 38676099.056op/s | 38716804.253op/s | 38737997.710op/s | 38740253.839op/s | 0.24% | -1.387 | 2.491 | 0.17% | 4730.818op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/good | execution_time | 15.462µs | 15.664µs ± 0.074µs | 15.687µs ± 0.033µs | 15.706µs | 15.741µs | 15.757µs | 15.780µs | 0.59% | -1.409 | 1.173 | 0.47% | 0.005µs | 1 | 200 |
| normalization/normalize_name/normalize_name/good | throughput | 63371289.215op/s | 63841463.076op/s ± 303112.781op/s | 63747898.319op/s ± 133435.755op/s | 63905768.814op/s | 64589975.183op/s | 64635311.347op/s | 64675313.756op/s | 1.45% | 1.426 | 1.208 | 0.47% | 21433.310op/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 | [273.990µs; 274.321µs] or [-0.060%; +0.060%] | None | None | None |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | [3645445.534op/s; 3649829.972op/s] or [-0.060%; +0.060%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | execution_time | [25.878µs; 25.890µs] or [-0.024%; +0.024%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | throughput | [38624419.518op/s; 38642963.985op/s] or [-0.024%; +0.024%] | None | None | None |
| normalization/normalize_name/normalize_name/good | execution_time | [15.654µs; 15.674µs] or [-0.065%; +0.065%] | None | None | None |
| normalization/normalize_name/normalize_name/good | throughput | [63799454.560op/s; 63883471.592op/s] or [-0.066%; +0.066%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 12aa4e1c | 1731527855 | dsn/crashtracker-errortracking-rfc |
| 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.357µs | 3.301µs ± 1.410µs | 3.155µs ± 0.026µs | 3.177µs | 3.225µs | 14.050µs | 15.031µs | 376.45% | 7.537 | 57.141 | 42.60% | 0.100µ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.106µs; 3.496µs] or [-5.919%; +5.919%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 12aa4e1c | 1731527855 | dsn/crashtracker-errortracking-rfc |
| 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 | 295.107ns | 309.199ns ± 11.876ns | 306.158ns ± 2.796ns | 309.248ns | 340.214ns | 347.543ns | 350.635ns | 14.53% | 1.996 | 3.453 | 3.83% | 0.840ns | 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 | [307.553ns; 310.844ns] or [-0.532%; +0.532%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 12aa4e1c | 1731527855 | dsn/crashtracker-errortracking-rfc |
| 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.506µs ± 0.162µs | 69.484µs ± 0.036µs | 69.525µs | 69.629µs | 69.811µs | 71.558µs | 2.98% | 10.264 | 125.714 | 0.23% | 0.011µ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.483µs; 69.528µs] or [-0.032%; +0.032%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 12aa4e1c | 1731527855 | dsn/crashtracker-errortracking-rfc |
| 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.979µs | 25.010µs ± 10.879µs | 20.014µs ± 0.491µs | 29.764µs | 38.235µs | 48.639µs | 103.796µs | 418.61% | 3.906 | 23.025 | 43.39% | 0.769µ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.502µs; 26.517µs] or [-6.029%; +6.029%] | None | None | None |
Group 8
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 12aa4e1c | 1731527855 | dsn/crashtracker-errortracking-rfc |
| 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.627µs | 2.685µs ± 0.020µs | 2.683µs ± 0.007µs | 2.691µs | 2.731µs | 2.742µs | 2.743µs | 2.22% | 0.299 | 2.481 | 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.682µs; 2.688µs] or [-0.104%; +0.104%] | None | None | None |
Group 9
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 12aa4e1c | 1731527855 | dsn/crashtracker-errortracking-rfc |
| 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 | 37.314µs | 37.688µs ± 0.641µs | 37.404µs ± 0.039µs | 37.458µs | 39.018µs | 39.114µs | 40.708µs | 8.83% | 1.909 | 2.544 | 1.70% | 0.045µ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 | [37.600µs; 37.777µs] or [-0.236%; +0.236%] | None | None | None |
Group 10
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 12aa4e1c | 1731527855 | dsn/crashtracker-errortracking-rfc |
| 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 | 9.014ms | 9.049ms ± 0.033ms | 9.046ms ± 0.011ms | 9.057ms | 9.071ms | 9.092ms | 9.460ms | 4.57% | 9.680 | 118.080 | 0.36% | 0.002ms | 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 | [9.044ms; 9.053ms] or [-0.051%; +0.051%] | None | None | None |
Group 11
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 12aa4e1c | 1731527855 | dsn/crashtracker-errortracking-rfc |
| 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 | 139.976µs | 140.894µs ± 0.371µs | 140.879µs ± 0.159µs | 141.037µs | 141.430µs | 141.827µs | 143.558µs | 1.90% | 2.305 | 13.905 | 0.26% | 0.026µ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 | [140.843µs; 140.946µs] or [-0.036%; +0.036%] | None | None | None |
Group 12
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 12aa4e1c | 1731527855 | dsn/crashtracker-errortracking-rfc |
| 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.599µs | 4.613µs ± 0.009µs | 4.613µs ± 0.007µs | 4.619µs | 4.629µs | 4.631µs | 4.632µs | 0.41% | 0.177 | -0.948 | 0.20% | 0.001µs | 1 | 200 |
| credit_card/is_card_number/ | throughput | 215884522.384op/s | 216765099.423op/s ± 424254.343op/s | 216760601.279op/s ± 316267.064op/s | 217106865.395op/s | 217385153.665op/s | 217408948.044op/s | 217415383.166op/s | 0.30% | -0.171 | -0.952 | 0.20% | 29999.312op/s | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | 93.017µs | 93.496µs ± 0.354µs | 93.436µs ± 0.117µs | 93.587µs | 93.746µs | 94.169µs | 97.818µs | 4.69% | 9.241 | 109.838 | 0.38% | 0.025µs | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | 10223082.957op/s | 10695827.749op/s ± 39132.301op/s | 10702510.809op/s ± 13344.287op/s | 10711704.680op/s | 10718231.068op/s | 10745424.036op/s | 10750734.868op/s | 0.45% | -8.943 | 104.977 | 0.36% | 2767.072op/s | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | execution_time | 85.232µs | 85.377µs ± 0.314µs | 85.319µs ± 0.023µs | 85.347µs | 85.755µs | 86.112µs | 89.228µs | 4.58% | 9.670 | 111.797 | 0.37% | 0.022µs | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | throughput | 11207222.010op/s | 11712973.434op/s ± 41654.979op/s | 11720778.089op/s ± 3224.859op/s | 11723816.006op/s | 11726972.973op/s | 11731080.069op/s | 11732719.891op/s | 0.10% | -9.450 | 107.725 | 0.35% | 2945.452op/s | 1 | 200 |
| credit_card/is_card_number/37828224631 | execution_time | 4.599µs | 4.613µs ± 0.009µs | 4.614µs ± 0.006µs | 4.619µs | 4.628µs | 4.631µs | 4.632µs | 0.39% | 0.175 | -0.804 | 0.18% | 0.001µs | 1 | 200 |
| credit_card/is_card_number/37828224631 | throughput | 215909644.054op/s | 216764700.727op/s ± 399638.319op/s | 216752120.866op/s ± 289541.048op/s | 217080078.781op/s | 217374034.078op/s | 217393381.672op/s | 217424187.975op/s | 0.31% | -0.168 | -0.809 | 0.18% | 28258.697op/s | 1 | 200 |
| credit_card/is_card_number/378282246310005 | execution_time | 81.683µs | 82.012µs ± 0.223µs | 81.975µs ± 0.134µs | 82.116µs | 82.357µs | 82.800µs | 83.309µs | 1.63% | 1.852 | 6.679 | 0.27% | 0.016µs | 1 | 200 |
| credit_card/is_card_number/378282246310005 | throughput | 12003480.222op/s | 12193405.694op/s ± 32975.997op/s | 12198774.646op/s ± 19985.225op/s | 12216365.047op/s | 12233527.021op/s | 12240191.787op/s | 12242427.356op/s | 0.36% | -1.810 | 6.415 | 0.27% | 2331.755op/s | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | execution_time | 58.861µs | 58.892µs ± 0.020µs | 58.891µs ± 0.015µs | 58.905µs | 58.927µs | 58.948µs | 58.957µs | 0.11% | 0.717 | 0.090 | 0.03% | 0.001µs | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | throughput | 16961472.016op/s | 16980199.128op/s ± 5745.843op/s | 16980478.393op/s ± 4409.303op/s | 16985151.581op/s | 16987422.003op/s | 16988445.649op/s | 16989220.340op/s | 0.05% | -0.715 | 0.086 | 0.03% | 406.292op/s | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | execution_time | 6.819µs | 6.830µs ± 0.020µs | 6.823µs ± 0.003µs | 6.826µs | 6.870µs | 6.910µs | 6.928µs | 1.54% | 2.644 | 6.917 | 0.29% | 0.001µs | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | throughput | 144345817.454op/s | 146407026.705op/s ± 428193.020op/s | 146564079.160op/s ± 58049.657op/s | 146620934.899op/s | 146641911.748op/s | 146647503.994op/s | 146656183.874op/s | 0.06% | -2.627 | 6.802 | 0.29% | 30277.819op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | execution_time | 4.600µs | 4.616µs ± 0.008µs | 4.616µs ± 0.005µs | 4.620µs | 4.630µs | 4.632µs | 4.642µs | 0.55% | 0.174 | -0.404 | 0.18% | 0.001µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | throughput | 215432820.236op/s | 216655096.825op/s ± 398758.849op/s | 216624176.995op/s ± 256188.025op/s | 216924780.557op/s | 217334000.509op/s | 217386805.467op/s | 217401353.885op/s | 0.36% | -0.166 | -0.411 | 0.18% | 28196.509op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | 73.415µs | 73.721µs ± 0.130µs | 73.743µs ± 0.077µs | 73.803µs | 73.865µs | 73.950µs | 74.664µs | 1.25% | 1.611 | 12.698 | 0.18% | 0.009µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | 13393272.165op/s | 13564785.282op/s ± 23775.189op/s | 13560669.313op/s ± 14208.966op/s | 13578802.487op/s | 13601446.378op/s | 13614766.331op/s | 13621265.520op/s | 0.45% | -1.549 | 12.179 | 0.17% | 1681.160op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | 65.264µs | 65.457µs ± 0.125µs | 65.452µs ± 0.090µs | 65.530µs | 65.693µs | 65.746µs | 65.774µs | 0.49% | 0.430 | -0.520 | 0.19% | 0.009µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | 15203621.204op/s | 15277150.085op/s ± 29257.516op/s | 15278433.727op/s ± 20914.474op/s | 15299845.475op/s | 15318550.995op/s | 15320067.665op/s | 15322275.524op/s | 0.29% | -0.422 | -0.530 | 0.19% | 2068.819op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | 4.600µs | 4.612µs ± 0.008µs | 4.612µs ± 0.006µs | 4.617µs | 4.627µs | 4.630µs | 4.634µs | 0.48% | 0.318 | -0.530 | 0.17% | 0.001µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | 215784759.627op/s | 216810343.402op/s ± 375851.704op/s | 216811660.093op/s ± 273129.701op/s | 217102095.445op/s | 217373890.298op/s | 217403433.088op/s | 217413923.031op/s | 0.28% | -0.311 | -0.539 | 0.17% | 26576.729op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | 62.170µs | 62.536µs ± 0.107µs | 62.516µs ± 0.041µs | 62.592µs | 62.738µs | 62.859µs | 62.946µs | 0.69% | 0.514 | 2.300 | 0.17% | 0.008µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | 15886680.309op/s | 15990789.205op/s ± 27307.088op/s | 15995780.313op/s ± 10575.630op/s | 16004261.536op/s | 16034864.365op/s | 16054162.621op/s | 16084933.273op/s | 0.56% | -0.494 | 2.276 | 0.17% | 1930.903op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | 58.859µs | 58.896µs ± 0.022µs | 58.897µs ± 0.017µs | 58.908µs | 58.933µs | 58.963µs | 58.993µs | 0.16% | 0.945 | 1.662 | 0.04% | 0.002µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | 16951268.493op/s | 16979117.720op/s ± 6348.815op/s | 16978712.939op/s ± 4946.485op/s | 16984532.187op/s | 16987027.262op/s | 16988212.287op/s | 16989624.436op/s | 0.06% | -0.942 | 1.649 | 0.04% | 448.929op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | 6.819µs | 6.832µs ± 0.025µs | 6.823µs ± 0.003µs | 6.826µs | 6.884µs | 6.934µs | 6.979µs | 2.29% | 3.321 | 12.942 | 0.36% | 0.002µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | 143285853.122op/s | 146371742.128op/s ± 525776.015op/s | 146563748.794op/s ± 61440.004op/s | 146621225.111op/s | 146640196.457op/s | 146650260.803op/s | 146653464.179op/s | 0.06% | -3.279 | 12.562 | 0.36% | 37177.979op/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.612µs; 4.615µs] or [-0.027%; +0.027%] | None | None | None |
| credit_card/is_card_number/ | throughput | [216706301.852op/s; 216823896.995op/s] or [-0.027%; +0.027%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | [93.447µs; 93.545µs] or [-0.052%; +0.052%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | [10690404.389op/s; 10701251.110op/s] or [-0.051%; +0.051%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | execution_time | [85.333µs; 85.420µs] or [-0.051%; +0.051%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | throughput | [11707200.454op/s; 11718746.413op/s] or [-0.049%; +0.049%] | None | None | None |
| credit_card/is_card_number/37828224631 | execution_time | [4.612µs; 4.614µs] or [-0.026%; +0.026%] | None | None | None |
| credit_card/is_card_number/37828224631 | throughput | [216709314.699op/s; 216820086.754op/s] or [-0.026%; +0.026%] | None | None | None |
| credit_card/is_card_number/378282246310005 | execution_time | [81.981µs; 82.043µs] or [-0.038%; +0.038%] | None | None | None |
| credit_card/is_card_number/378282246310005 | throughput | [12188835.538op/s; 12197975.850op/s] or [-0.037%; +0.037%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | execution_time | [58.889µs; 58.895µs] or [-0.005%; +0.005%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | throughput | [16979402.810op/s; 16980995.447op/s] or [-0.005%; +0.005%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | execution_time | [6.828µs; 6.833µs] or [-0.041%; +0.041%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | throughput | [146347683.271op/s; 146466370.140op/s] or [-0.041%; +0.041%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | execution_time | [4.614µs; 4.617µs] or [-0.026%; +0.026%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | throughput | [216599832.683op/s; 216710360.966op/s] or [-0.026%; +0.026%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | [73.703µs; 73.738µs] or [-0.024%; +0.024%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | [13561490.269op/s; 13568080.295op/s] or [-0.024%; +0.024%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | [65.440µs; 65.475µs] or [-0.027%; +0.027%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | [15273095.275op/s; 15281204.896op/s] or [-0.027%; +0.027%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | [4.611µs; 4.613µs] or [-0.024%; +0.024%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | [216758253.971op/s; 216862432.834op/s] or [-0.024%; +0.024%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | [62.521µs; 62.551µs] or [-0.024%; +0.024%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | [15987004.706op/s; 15994573.705op/s] or [-0.024%; +0.024%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | [58.893µs; 58.899µs] or [-0.005%; +0.005%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | [16978237.835op/s; 16979997.605op/s] or [-0.005%; +0.005%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | [6.829µs; 6.835µs] or [-0.050%; +0.050%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | [146298874.629op/s; 146444609.627op/s] or [-0.050%; +0.050%] | None | None | None |
Baseline
Omitted due to size.
In the current implementation there are two ways to add tags (on crashinfo and on metadata). I think they mean a different thing: I would say the ones on metadata are used to classify the crash, whereas the ones on crashinfo are used to add arbitrary debug information that can't be stored otherwise. If that interpretation is correct, I believe they should be given different names to avoid confusion.
Also, the tags in crashinfo can be easily searched on in the UI:
Whereas the ones in metadata can't:
We probably should change the format of the tags accordingly.
As we start to look into symbolication, I realize that adding all the module information at each stackframe is really inefficient and makes the crash report much bigger than it should. Shall we move the modules to a separate section, and only put the module base address in the stackframe?