feat(runtime)!: add shared runtime#1602
feat(runtime)!: add shared runtime#1602gh-worker-dd-mergequeue-cf854d[bot] merged 86 commits intomainfrom
Conversation
BenchmarksComparisonBenchmark execution time: 2026-03-30 14:12:25 Comparing candidate commit 41bff26 in PR branch Found 1 performance improvements and 0 performance regressions! Performance is the same for 61 metrics, 0 unstable metrics.
|
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| profile_add_sample_timestamped_x1000 | execution_time | 4.204ms | 4.210ms ± 0.008ms | 4.209ms ± 0.002ms | 4.211ms | 4.214ms | 4.217ms | 4.316ms | 2.53% | 11.789 | 153.034 | 0.19% | 0.001ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| profile_add_sample_timestamped_x1000 | execution_time | [4.209ms; 4.211ms] or [-0.026%; +0.026%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| profile_add_sample2_frames_x1000 | execution_time | 727.073µs | 728.931µs ± 0.647µs | 728.933µs ± 0.401µs | 729.323µs | 729.973µs | 730.519µs | 730.690µs | 0.24% | 0.004 | 0.087 | 0.09% | 0.046µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| profile_add_sample2_frames_x1000 | execution_time | [728.842µs; 729.021µs] or [-0.012%; +0.012%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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.843µs | 161.225µs ± 0.677µs | 161.106µs ± 0.192µs | 161.399µs | 161.873µs | 162.812µs | 168.953µs | 4.87% | 7.786 | 84.050 | 0.42% | 0.048µ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 | [161.131µs; 161.318µs] or [-0.058%; +0.058%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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.914µs | 5.015µs ± 0.057µs | 5.027µs ± 0.038µs | 5.048µs | 5.120µs | 5.130µs | 5.132µs | 2.08% | 0.239 | -0.770 | 1.13% | 0.004µ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.007µs; 5.023µs] or [-0.157%; +0.157%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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 | 47.477ms | 47.879ms ± 1.145ms | 47.733ms ± 0.116ms | 47.854ms | 47.994ms | 54.793ms | 58.806ms | 23.20% | 8.092 | 66.635 | 2.39% | 0.081ms | 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 | [47.720ms; 48.038ms] or [-0.331%; +0.331%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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/2598 | execution_time | 3.408ms | 3.441ms ± 0.017ms | 3.437ms ± 0.010ms | 3.453ms | 3.477ms | 3.488ms | 3.497ms | 1.75% | 0.893 | 0.539 | 0.50% | 0.001ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| receiver_entry_point/report/2598 | execution_time | [3.439ms; 3.443ms] or [-0.069%; +0.069%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| profile_serialize_compressed_pprof_timestamped_x1000 | execution_time | 937.054µs | 940.938µs ± 2.171µs | 940.351µs ± 0.858µs | 941.587µs | 945.276µs | 946.216µs | 955.093µs | 1.57% | 2.112 | 8.375 | 0.23% | 0.154µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| profile_serialize_compressed_pprof_timestamped_x1000 | execution_time | [940.637µs; 941.238µs] or [-0.032%; +0.032%] | None | None | None |
Group 8
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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.740ms | 14.805ms ± 0.027ms | 14.805ms ± 0.016ms | 14.820ms | 14.842ms | 14.862ms | 14.983ms | 1.20% | 1.322 | 8.335 | 0.18% | 0.002ms | 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.801ms; 14.808ms] or [-0.025%; +0.025%] | None | None | None |
Group 9
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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 | 191.147ns | 193.577ns ± 1.984ns | 193.311ns ± 1.329ns | 194.555ns | 197.664ns | 199.397ns | 202.213ns | 4.60% | 1.318 | 2.192 | 1.02% | 0.140ns | 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 | [193.302ns; 193.851ns] or [-0.142%; +0.142%] | None | None | None |
Group 10
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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 | 15.176µs | 15.670µs ± 0.253µs | 15.645µs ± 0.121µs | 15.768µs | 16.025µs | 16.193µs | 17.447µs | 11.51% | 2.460 | 14.179 | 1.61% | 0.018µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| two way interface | execution_time | [15.635µs; 15.705µs] or [-0.224%; +0.224%] | None | None | None |
Group 11
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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 | 5.424µs | 5.501µs ± 0.039µs | 5.495µs ± 0.028µs | 5.525µs | 5.570µs | 5.588µs | 5.596µs | 1.82% | 0.443 | -0.561 | 0.70% | 0.003µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| write only interface | execution_time | [5.495µs; 5.506µs] or [-0.097%; +0.097%] | None | None | None |
Group 12
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| profile_add_sample_frames_x1000 | execution_time | 4.239ms | 4.244ms ± 0.003ms | 4.244ms ± 0.002ms | 4.246ms | 4.249ms | 4.252ms | 4.262ms | 0.42% | 1.736 | 7.929 | 0.07% | 0.000ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| profile_add_sample_frames_x1000 | execution_time | [4.244ms; 4.245ms] or [-0.009%; +0.009%] | None | None | None |
Group 13
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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.396µs | 2.425µs ± 0.014µs | 2.423µs ± 0.007µs | 2.430µs | 2.462µs | 2.469µs | 2.475µs | 2.15% | 1.374 | 2.516 | 0.59% | 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.423µs; 2.427µs] or [-0.082%; +0.082%] | None | None | None |
Group 14
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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 | 534.762µs | 535.664µs ± 0.515µs | 535.588µs ± 0.341µs | 535.982µs | 536.649µs | 537.068µs | 537.265µs | 0.31% | 0.690 | 0.170 | 0.10% | 0.036µs | 1 | 200 |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | 1861278.070op/s | 1866842.714op/s ± 1794.397op/s | 1867107.319op/s ± 1191.054op/s | 1868217.426op/s | 1869280.592op/s | 1869776.583op/s | 1869990.968op/s | 0.15% | -0.685 | 0.160 | 0.10% | 126.883op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | 380.147µs | 381.179µs ± 0.443µs | 381.120µs ± 0.300µs | 381.490µs | 381.949µs | 382.178µs | 382.846µs | 0.45% | 0.582 | 0.467 | 0.12% | 0.031µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | 2612016.617op/s | 2623446.198op/s ± 3049.576op/s | 2623848.352op/s ± 2064.471op/s | 2625616.635op/s | 2627902.725op/s | 2629225.180op/s | 2630563.442op/s | 0.26% | -0.574 | 0.451 | 0.12% | 215.638op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | 194.511µs | 195.034µs ± 0.269µs | 194.973µs ± 0.141µs | 195.171µs | 195.515µs | 195.767µs | 196.574µs | 0.82% | 1.468 | 4.760 | 0.14% | 0.019µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | 5087144.798op/s | 5127324.840op/s ± 7048.755op/s | 5128904.210op/s ± 3715.248op/s | 5132035.628op/s | 5135540.809op/s | 5140270.404op/s | 5141087.681op/s | 0.24% | -1.449 | 4.641 | 0.14% | 498.422op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | 37.858µs | 38.199µs ± 0.126µs | 38.193µs ± 0.082µs | 38.284µs | 38.407µs | 38.457µs | 38.495µs | 0.79% | -0.030 | -0.118 | 0.33% | 0.009µs | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | throughput | 25977335.393op/s | 26178650.133op/s ± 86042.854op/s | 26183071.697op/s ± 56385.573op/s | 26232652.634op/s | 26329915.848op/s | 26386833.191op/s | 26414205.560op/s | 0.88% | 0.048 | -0.108 | 0.33% | 6084.149op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | 45.807µs | 45.942µs ± 0.127µs | 45.918µs ± 0.040µs | 45.973µs | 46.091µs | 46.217µs | 47.365µs | 3.15% | 7.419 | 77.423 | 0.28% | 0.009µs | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | 21112816.108op/s | 21766509.643op/s ± 58998.426op/s | 21778004.985op/s ± 18899.345op/s | 21794218.296op/s | 21811773.882op/s | 21819390.773op/s | 21830613.022op/s | 0.24% | -7.220 | 74.297 | 0.27% | 4171.819op/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 | [535.593µs; 535.736µs] or [-0.013%; +0.013%] | None | None | None |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | [1866594.028op/s; 1867091.400op/s] or [-0.013%; +0.013%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | [381.117µs; 381.240µs] or [-0.016%; +0.016%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | [2623023.556op/s; 2623868.840op/s] or [-0.016%; +0.016%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | [194.997µs; 195.071µs] or [-0.019%; +0.019%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | [5126347.951op/s; 5128301.730op/s] or [-0.019%; +0.019%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | [38.182µs; 38.217µs] or [-0.046%; +0.046%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | throughput | [26166725.421op/s; 26190574.845op/s] or [-0.046%; +0.046%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | [45.925µs; 45.960µs] or [-0.038%; +0.038%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | [21758333.029op/s; 21774686.258op/s] or [-0.038%; +0.038%] | None | None | None |
Group 15
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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 | 290.176µs | 290.881µs ± 0.613µs | 290.784µs ± 0.174µs | 290.994µs | 291.487µs | 292.381µs | 297.941µs | 2.46% | 7.997 | 86.614 | 0.21% | 0.043µ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 | [290.796µs; 290.966µs] or [-0.029%; +0.029%] | None | None | None |
Group 16
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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 | 185.767µs | 186.275µs ± 0.293µs | 186.282µs ± 0.204µs | 186.439µs | 186.795µs | 187.059µs | 187.252µs | 0.52% | 0.631 | 0.291 | 0.16% | 0.021µs | 1 | 200 |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | 5340406.167op/s | 5368411.768op/s ± 8446.583op/s | 5368199.793op/s ± 5865.166op/s | 5375063.354op/s | 5380505.627op/s | 5382796.786op/s | 5383085.967op/s | 0.28% | -0.622 | 0.272 | 0.16% | 597.264op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | execution_time | 17.960µs | 18.094µs ± 0.122µs | 18.078µs ± 0.039µs | 18.121µs | 18.205µs | 18.252µs | 19.575µs | 8.28% | 8.959 | 105.540 | 0.67% | 0.009µs | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | throughput | 51085743.772op/s | 55270543.748op/s ± 353196.538op/s | 55314387.923op/s ± 117967.265op/s | 55428228.538op/s | 55553775.106op/s | 55666956.779op/s | 55680824.413op/s | 0.66% | -8.415 | 96.774 | 0.64% | 24974.767op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/good | execution_time | 9.920µs | 9.992µs ± 0.061µs | 9.991µs ± 0.037µs | 10.022µs | 10.056µs | 10.163µs | 10.465µs | 4.74% | 3.237 | 20.415 | 0.61% | 0.004µs | 1 | 200 |
| normalization/normalize_name/normalize_name/good | throughput | 95558608.322op/s | 100086142.247op/s ± 599569.739op/s | 100088236.898op/s ± 367230.346op/s | 100610984.791op/s | 100689724.616op/s | 100737108.655op/s | 100809355.108op/s | 0.72% | -3.027 | 18.412 | 0.60% | 42395.983op/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.235µs; 186.316µs] or [-0.022%; +0.022%] | None | None | None |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | [5367241.153op/s; 5369582.383op/s] or [-0.022%; +0.022%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | execution_time | [18.077µs; 18.111µs] or [-0.094%; +0.094%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | throughput | [55221594.105op/s; 55319493.392op/s] or [-0.089%; +0.089%] | None | None | None |
| normalization/normalize_name/normalize_name/good | execution_time | [9.983µs; 10.000µs] or [-0.085%; +0.085%] | None | None | None |
| normalization/normalize_name/normalize_name/good | throughput | [100003047.648op/s; 100169236.847op/s] or [-0.083%; +0.083%] | None | None | None |
Group 17
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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.902µs | 3.917µs ± 0.004µs | 3.916µs ± 0.003µs | 3.919µs | 3.924µs | 3.927µs | 3.928µs | 0.29% | 0.333 | 0.522 | 0.10% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/ | throughput | 254606823.363op/s | 255322257.202op/s ± 260016.473op/s | 255343198.906op/s ± 181097.971op/s | 255513256.257op/s | 255668656.625op/s | 255745786.217op/s | 256286855.033op/s | 0.37% | -0.325 | 0.526 | 0.10% | 18385.941op/s | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | 79.626µs | 80.035µs ± 0.248µs | 79.976µs ± 0.146µs | 80.169µs | 80.521µs | 80.874µs | 80.995µs | 1.27% | 1.171 | 1.460 | 0.31% | 0.018µs | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | 12346366.131op/s | 12494579.232op/s ± 38651.770op/s | 12503730.653op/s ± 22888.808op/s | 12523808.291op/s | 12538259.427op/s | 12552884.024op/s | 12558734.510op/s | 0.44% | -1.152 | 1.393 | 0.31% | 2733.093op/s | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | execution_time | 73.199µs | 73.541µs ± 0.184µs | 73.515µs ± 0.125µs | 73.662µs | 73.882µs | 73.996µs | 74.084µs | 0.77% | 0.435 | -0.345 | 0.25% | 0.013µs | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | throughput | 13498201.960op/s | 13597879.492op/s ± 34003.070op/s | 13602578.369op/s ± 23151.788op/s | 13623445.951op/s | 13647908.596op/s | 13657748.582op/s | 13661324.319op/s | 0.43% | -0.424 | -0.360 | 0.25% | 2404.380op/s | 1 | 200 |
| credit_card/is_card_number/37828224631 | execution_time | 3.903µs | 3.915µs ± 0.004µs | 3.915µs ± 0.002µs | 3.917µs | 3.922µs | 3.925µs | 3.928µs | 0.33% | 0.482 | 0.555 | 0.09% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/37828224631 | throughput | 254598777.647op/s | 255406561.208op/s ± 240588.824op/s | 255442096.955op/s ± 147640.112op/s | 255565222.917op/s | 255739792.511op/s | 255882422.322op/s | 256186107.070op/s | 0.29% | -0.475 | 0.551 | 0.09% | 17012.199op/s | 1 | 200 |
| credit_card/is_card_number/378282246310005 | execution_time | 69.599µs | 70.013µs ± 0.252µs | 69.990µs ± 0.154µs | 70.143µs | 70.481µs | 70.731µs | 70.786µs | 1.14% | 0.571 | 0.170 | 0.36% | 0.018µs | 1 | 200 |
| credit_card/is_card_number/378282246310005 | throughput | 14127116.585op/s | 14283214.388op/s ± 51261.597op/s | 14287827.543op/s ± 31453.371op/s | 14319473.410op/s | 14361817.795op/s | 14365962.150op/s | 14367972.002op/s | 0.56% | -0.552 | 0.134 | 0.36% | 3624.742op/s | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | execution_time | 52.235µs | 52.390µs ± 0.054µs | 52.391µs ± 0.034µs | 52.423µs | 52.473µs | 52.518µs | 52.542µs | 0.29% | -0.054 | 0.201 | 0.10% | 0.004µs | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | throughput | 19032366.582op/s | 19087582.599op/s ± 19735.934op/s | 19087161.975op/s ± 12233.529op/s | 19099999.523op/s | 19120083.661op/s | 19135167.439op/s | 19144305.667op/s | 0.30% | 0.061 | 0.203 | 0.10% | 1395.541op/s | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | execution_time | 5.736µs | 5.889µs ± 0.056µs | 5.892µs ± 0.040µs | 5.930µs | 5.984µs | 6.007µs | 6.012µs | 2.05% | -0.022 | -0.297 | 0.95% | 0.004µs | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | throughput | 166326552.702op/s | 169827572.838op/s ± 1620100.967op/s | 169731842.608op/s ± 1161212.252op/s | 171040157.024op/s | 172237615.843op/s | 173670855.100op/s | 174349206.675op/s | 2.72% | 0.071 | -0.272 | 0.95% | 114558.438op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | execution_time | 3.901µs | 3.916µs ± 0.004µs | 3.915µs ± 0.003µs | 3.919µs | 3.923µs | 3.926µs | 3.929µs | 0.34% | 0.390 | 0.819 | 0.10% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | throughput | 254529407.614op/s | 255334843.805op/s ± 249951.701op/s | 255395466.731op/s ± 167114.661op/s | 255522305.752op/s | 255624436.984op/s | 255712392.219op/s | 256328550.173op/s | 0.37% | -0.382 | 0.827 | 0.10% | 17674.254op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | 64.214µs | 64.395µs ± 0.128µs | 64.362µs ± 0.068µs | 64.456µs | 64.645µs | 64.878µs | 64.959µs | 0.93% | 1.642 | 3.568 | 0.20% | 0.009µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | 15394363.630op/s | 15529260.932op/s ± 30748.875op/s | 15537105.797op/s ± 16498.371op/s | 15550476.016op/s | 15563368.658op/s | 15569416.575op/s | 15572881.384op/s | 0.23% | -1.625 | 3.489 | 0.20% | 2174.274op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | 57.408µs | 57.567µs ± 0.094µs | 57.549µs ± 0.054µs | 57.617µs | 57.747µs | 57.859µs | 57.941µs | 0.68% | 1.097 | 1.675 | 0.16% | 0.007µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | 17258896.440op/s | 17371123.195op/s ± 28173.198op/s | 17376630.173op/s ± 16405.599op/s | 17391293.053op/s | 17407191.013op/s | 17413911.574op/s | 17419178.516op/s | 0.24% | -1.086 | 1.632 | 0.16% | 1992.146op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | 3.897µs | 3.917µs ± 0.004µs | 3.917µs ± 0.003µs | 3.919µs | 3.924µs | 3.928µs | 3.930µs | 0.34% | 0.091 | 2.334 | 0.11% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | 254445980.242op/s | 255296706.276op/s ± 269136.895op/s | 255322943.545op/s ± 175233.600op/s | 255477569.388op/s | 255611790.996op/s | 255686098.845op/s | 256599835.169op/s | 0.50% | -0.078 | 2.373 | 0.11% | 19030.852op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | 54.623µs | 54.805µs ± 0.153µs | 54.768µs ± 0.066µs | 54.851µs | 55.087µs | 55.413µs | 55.636µs | 1.58% | 2.257 | 7.096 | 0.28% | 0.011µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | 17974061.955op/s | 18246680.417op/s ± 50732.599op/s | 18258846.386op/s ± 22110.343op/s | 18277455.216op/s | 18298532.460op/s | 18303182.101op/s | 18307454.796op/s | 0.27% | -2.224 | 6.882 | 0.28% | 3587.336op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | 52.172µs | 52.341µs ± 0.083µs | 52.346µs ± 0.059µs | 52.395µs | 52.491µs | 52.534µs | 52.556µs | 0.40% | 0.273 | -0.515 | 0.16% | 0.006µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | 19027215.756op/s | 19105544.074op/s ± 30170.550op/s | 19103715.365op/s ± 21599.328op/s | 19130557.516op/s | 19150925.181op/s | 19156197.879op/s | 19167350.335op/s | 0.33% | -0.267 | -0.523 | 0.16% | 2133.380op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | 5.763µs | 5.894µs ± 0.050µs | 5.895µs ± 0.036µs | 5.932µs | 5.977µs | 6.004µs | 6.006µs | 1.88% | 0.118 | -0.392 | 0.84% | 0.004µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | 166501261.669op/s | 169684652.098op/s ± 1434169.487op/s | 169637985.342op/s ± 1023494.850op/s | 170564176.354op/s | 171898638.109op/s | 172463813.011op/s | 173533607.761op/s | 2.30% | -0.078 | -0.391 | 0.84% | 101411.097op/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.916µs; 3.917µs] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number/ | throughput | [255286221.420op/s; 255358292.985op/s] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | [80.001µs; 80.070µs] or [-0.043%; +0.043%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | [12489222.469op/s; 12499935.996op/s] or [-0.043%; +0.043%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | execution_time | [73.516µs; 73.567µs] or [-0.035%; +0.035%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | throughput | [13593166.993op/s; 13602591.990op/s] or [-0.035%; +0.035%] | None | None | None |
| credit_card/is_card_number/37828224631 | execution_time | [3.915µs; 3.916µs] or [-0.013%; +0.013%] | None | None | None |
| credit_card/is_card_number/37828224631 | throughput | [255373217.911op/s; 255439904.506op/s] or [-0.013%; +0.013%] | None | None | None |
| credit_card/is_card_number/378282246310005 | execution_time | [69.978µs; 70.048µs] or [-0.050%; +0.050%] | None | None | None |
| credit_card/is_card_number/378282246310005 | throughput | [14276110.024op/s; 14290318.752op/s] or [-0.050%; +0.050%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | execution_time | [52.383µs; 52.398µs] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | throughput | [19084847.389op/s; 19090317.810op/s] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | execution_time | [5.881µs; 5.897µs] or [-0.132%; +0.132%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | throughput | [169603042.426op/s; 170052103.251op/s] or [-0.132%; +0.132%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | execution_time | [3.916µs; 3.917µs] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | throughput | [255300202.904op/s; 255369484.707op/s] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | [64.377µs; 64.413µs] or [-0.028%; +0.028%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | [15524999.433op/s; 15533522.430op/s] or [-0.027%; +0.027%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | [57.554µs; 57.580µs] or [-0.023%; +0.023%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | [17367218.661op/s; 17375027.729op/s] or [-0.022%; +0.022%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | [3.916µs; 3.918µs] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | [255259406.491op/s; 255334006.061op/s] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | [54.784µs; 54.826µs] or [-0.039%; +0.039%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | [18239649.367op/s; 18253711.467op/s] or [-0.039%; +0.039%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | [52.329µs; 52.352µs] or [-0.022%; +0.022%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | [19101362.726op/s; 19109725.422op/s] or [-0.022%; +0.022%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | [5.887µs; 5.901µs] or [-0.117%; +0.117%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | [169485890.000op/s; 169883414.196op/s] or [-0.117%; +0.117%] | None | None | None |
Group 18
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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 | 14.871ms | 14.918ms ± 0.025ms | 14.915ms ± 0.013ms | 14.928ms | 14.962ms | 15.011ms | 15.031ms | 0.78% | 1.631 | 4.437 | 0.16% | 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 | [14.915ms; 14.922ms] or [-0.023%; +0.023%] | None | None | None |
Group 19
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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 | 243.031ns | 252.526ns ± 11.978ns | 247.794ns ± 1.914ns | 252.202ns | 284.423ns | 293.175ns | 294.701ns | 18.93% | 2.181 | 3.755 | 4.73% | 0.847ns | 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 | [250.866ns; 254.186ns] or [-0.657%; +0.657%] | None | None | None |
Group 20
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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 | 35.319µs | 35.772µs ± 0.679µs | 35.459µs ± 0.098µs | 35.684µs | 37.141µs | 37.251µs | 39.148µs | 10.40% | 1.878 | 2.880 | 1.89% | 0.048µ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 | [35.678µs; 35.866µs] or [-0.263%; +0.263%] | None | None | None |
Group 21
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 41bff26 | 1774878911 | vianney/implement-shared-runtime |
| 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.236µs | 147.125µs ± 1.917µs | 146.889µs ± 0.510µs | 147.352µs | 148.715µs | 156.077µs | 165.577µs | 12.72% | 6.107 | 48.284 | 1.30% | 0.136µ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.859µs; 147.390µs] or [-0.181%; +0.181%] | None | None | None |
Baseline
Omitted due to size.
f615fad to
ff6448c
Compare
Clippy Allow Annotation ReportComparing clippy allow annotations between branches:
Summary by Rule
Annotation Counts by File
Annotation Stats by Crate
About This ReportThis 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. |
With the refactor the stop action is processed right away without processing all actions sent before it. This can cause some message to be lost if they were submitted right before shutdown.
What does this PR do?
Implementing the shared runtime
This PR introduces a shared runtime to be used across common components it offers two main features:
TraceExporter::sendThe shared runtime runs the workers using the PausableWorker
Update to the Worker trait
This PR also refactors the
Workertrait to make it execute a trigger-run loop. The worker can be paused between two calls torunbut not within arunexecution. This is the same tradeoff between fork-time impact and worker execution than the one in dd-trace-py. Some extra hooks where introduced to allow porting the existing workers to this new lifecycle (e.g. initial_trigger, shutdown).Expose ffi
The shared runtime FFI exposes an pointer to the SharedRuntime which is wrapped in an Arc. The pointer used by the users is pointing directly at the runtime and the Arc is only materialized when the pointer is dropped.
Porting the existing workers
The update to the worker trait needs to be applied to existing workers (stats exporter, info fetcher, telemetry)
Stats exporter
The stats exporter doesn't need the cancellation token anymore as the flushing of remaining stats is handled in the shutdown hook. The trace exporter can trigger the flush by stopping the worker with the handle
Info fetcher
The info fetcher uses the on_pause hook to release the reference to the IoStack. This used to be done by the TraceExporter
stop_workerbut is now handled directly in the worker.Telemetry worker
The telemetry worker required some refactor to fit in the new Worker trait. The main issue is that the trigger needs to save the next action to be used in the run function. This could be done by passing the return value of trigger to run but I'm not sure this will be a common pattern in workers. If this turns out to be we can reconsider it.
Losing telemetry payloads on shutdown
Currently when the telemetry worker is shut down all actions sent before the stop action are processed. With this refactor it's no longer the cases as the shutdown hook bypasses the actions queued. This is deemed acceptable since there's currently no way to know if an action has been posted before or after the stop, this means any action is already at risk of being ignored.
Using the shared runtime in TraceExporter
This PR also integrates the shared runtime in the Trace Exporter. We can now pass a SharedRuntime to the TraceExporter and the workers will be spawned on it. Fork hooks from the TraceExporter are removed as this is now handled by the SharedRuntime. The TraceExporter also uses the shared runtime to block on async code.
Motivation
Be able to share a common tokio runtime across components and manage fork-safety in a single place.
Additional Notes
This PR is a breaking change especially for language which register "fork-safety" hooks as this should now be handled in the SharedRuntime.
How to test the change?
Describe here in detail how the change can be validated.