feat(profiling)!: add heap-live allocation tracking to Profile#1537
feat(profiling)!: add heap-live allocation tracking to Profile#1537realFlowControl wants to merge 2 commits intomainfrom
Conversation
📚 Documentation Check Results📦
|
🔒 Cargo Deny Results✅ No issues found! 📦
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1537 +/- ##
==========================================
+ Coverage 71.18% 71.34% +0.15%
==========================================
Files 429 430 +1
Lines 63503 64196 +693
==========================================
+ Hits 45207 45802 +595
- Misses 18296 18394 +98
🚀 New features to boost your workflow:
|
afb9bd0 to
061d9fc
Compare
BenchmarksComparisonBenchmark execution time: 2026-03-11 13:48:36 Comparing candidate commit f51c099 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 58 metrics, 2 unstable metrics.
|
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| 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 | 48.773ms | 49.247ms ± 1.421ms | 49.031ms ± 0.077ms | 49.099ms | 49.395ms | 57.260ms | 63.534ms | 29.58% | 7.895 | 66.449 | 2.88% | 0.100ms | 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 | [49.050ms; 49.444ms] or [-0.400%; +0.400%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| normalization/normalize_trace/test_trace | execution_time | 245.971ns | 256.295ns ± 11.546ns | 251.371ns ± 3.488ns | 262.883ns | 283.017ns | 288.803ns | 292.195ns | 16.24% | 1.493 | 1.164 | 4.49% | 0.816ns | 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 | [254.695ns; 257.896ns] or [-0.624%; +0.624%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| 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 | 206.013µs | 206.727µs ± 0.345µs | 206.687µs ± 0.231µs | 206.945µs | 207.341µs | 207.532µs | 207.646µs | 0.46% | 0.375 | -0.449 | 0.17% | 0.024µs | 1 | 200 |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | 4815887.953op/s | 4837315.945op/s ± 8075.427op/s | 4838225.433op/s ± 5397.838op/s | 4843030.985op/s | 4848850.616op/s | 4851805.529op/s | 4854062.608op/s | 0.33% | -0.368 | -0.456 | 0.17% | 571.019op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | execution_time | 18.617µs | 18.760µs ± 0.127µs | 18.701µs ± 0.048µs | 18.844µs | 19.022µs | 19.136µs | 19.243µs | 2.90% | 1.285 | 1.117 | 0.68% | 0.009µs | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | throughput | 51967452.520op/s | 53308553.236op/s ± 358766.772op/s | 53473379.515op/s ± 136447.257op/s | 53573907.441op/s | 53652278.860op/s | 53695477.503op/s | 53715398.520op/s | 0.45% | -1.256 | 1.000 | 0.67% | 25368.642op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/good | execution_time | 10.786µs | 10.874µs ± 0.043µs | 10.871µs ± 0.030µs | 10.905µs | 10.948µs | 10.982µs | 10.996µs | 1.16% | 0.438 | -0.178 | 0.39% | 0.003µs | 1 | 200 |
| normalization/normalize_name/normalize_name/good | throughput | 90938089.349op/s | 91959805.468op/s ± 361576.377op/s | 91990591.521op/s ± 253752.461op/s | 92230142.649op/s | 92505516.254op/s | 92622348.813op/s | 92712312.980op/s | 0.78% | -0.419 | -0.201 | 0.39% | 25567.311op/s | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | execution_time | [206.679µs; 206.775µs] or [-0.023%; +0.023%] | None | None | None |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | [4836196.769op/s; 4838435.122op/s] or [-0.023%; +0.023%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | execution_time | [18.742µs; 18.777µs] or [-0.094%; +0.094%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | throughput | [53258831.612op/s; 53358274.860op/s] or [-0.093%; +0.093%] | None | None | None |
| normalization/normalize_name/normalize_name/good | execution_time | [10.869µs; 10.880µs] or [-0.055%; +0.055%] | None | None | None |
| normalization/normalize_name/normalize_name/good | throughput | [91909694.460op/s; 92009916.477op/s] or [-0.054%; +0.054%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| single_flag_killswitch/rules-based | execution_time | 189.994ns | 192.246ns ± 1.945ns | 192.000ns ± 1.528ns | 193.295ns | 195.693ns | 198.104ns | 199.591ns | 3.95% | 1.101 | 1.396 | 1.01% | 0.138ns | 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 | [191.977ns; 192.516ns] or [-0.140%; +0.140%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| 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 | 144.393µs | 146.332µs ± 1.696µs | 146.050µs ± 0.496µs | 146.592µs | 148.033µs | 153.455µs | 162.904µs | 11.54% | 5.962 | 49.186 | 1.16% | 0.120µ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.097µs; 146.567µs] or [-0.161%; +0.161%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| concentrator/add_spans_to_concentrator | execution_time | 10.677ms | 10.706ms ± 0.013ms | 10.704ms ± 0.008ms | 10.713ms | 10.730ms | 10.740ms | 10.767ms | 0.59% | 1.186 | 2.627 | 0.12% | 0.001ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| concentrator/add_spans_to_concentrator | execution_time | [10.704ms; 10.708ms] or [-0.017%; +0.017%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| 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 | 493.303µs | 494.248µs ± 1.289µs | 494.119µs ± 0.320µs | 494.415µs | 494.951µs | 497.561µs | 506.142µs | 2.43% | 7.831 | 68.752 | 0.26% | 0.091µs | 1 | 200 |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | 1975728.396op/s | 2023289.193op/s ± 5173.474op/s | 2023804.893op/s ± 1309.803op/s | 2025205.996op/s | 2026589.359op/s | 2026896.073op/s | 2027150.528op/s | 0.17% | -7.758 | 67.831 | 0.26% | 365.820op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | 369.864µs | 370.579µs ± 0.280µs | 370.569µs ± 0.189µs | 370.761µs | 371.074µs | 371.322µs | 371.397µs | 0.22% | 0.362 | 0.313 | 0.08% | 0.020µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | 2692538.764op/s | 2698478.678op/s ± 2036.917op/s | 2698552.608op/s ± 1375.693op/s | 2699905.556op/s | 2701427.048op/s | 2702907.130op/s | 2703696.494op/s | 0.19% | -0.357 | 0.308 | 0.08% | 144.032op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | 167.303µs | 167.595µs ± 0.145µs | 167.581µs ± 0.088µs | 167.667µs | 167.855µs | 168.061µs | 168.113µs | 0.32% | 0.865 | 1.392 | 0.09% | 0.010µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | 5948374.199op/s | 5966779.809op/s ± 5144.041op/s | 5967250.342op/s ± 3133.499op/s | 5970426.534op/s | 5973910.765op/s | 5975988.034op/s | 5977179.130op/s | 0.17% | -0.859 | 1.373 | 0.09% | 363.739op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | 36.960µs | 37.217µs ± 0.078µs | 37.233µs ± 0.039µs | 37.271µs | 37.305µs | 37.351µs | 37.372µs | 0.37% | -1.021 | 0.781 | 0.21% | 0.006µs | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | throughput | 26757840.598op/s | 26869883.698op/s ± 56295.880op/s | 26857621.194op/s ± 27784.521op/s | 26890807.354op/s | 26985266.362op/s | 27037890.929op/s | 27056462.221op/s | 0.74% | 1.032 | 0.804 | 0.21% | 3980.720op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | 45.397µs | 45.587µs ± 0.075µs | 45.593µs ± 0.047µs | 45.637µs | 45.705µs | 45.763µs | 45.917µs | 0.71% | 0.195 | 1.159 | 0.16% | 0.005µs | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | 21778447.371op/s | 21935945.191op/s ± 35903.771op/s | 21933210.208op/s ± 22456.116op/s | 21960241.958op/s | 21995695.614op/s | 22012786.630op/s | 22027655.477op/s | 0.43% | -0.180 | 1.117 | 0.16% | 2538.780op/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 | [494.069µs; 494.427µs] or [-0.036%; +0.036%] | None | None | None |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | [2022572.199op/s; 2024006.187op/s] or [-0.035%; +0.035%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | [370.541µs; 370.618µs] or [-0.010%; +0.010%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | [2698196.381op/s; 2698760.975op/s] or [-0.010%; +0.010%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | [167.575µs; 167.615µs] or [-0.012%; +0.012%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | [5966066.895op/s; 5967492.724op/s] or [-0.012%; +0.012%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | [37.206µs; 37.227µs] or [-0.029%; +0.029%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | throughput | [26862081.630op/s; 26877685.765op/s] or [-0.029%; +0.029%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | [45.577µs; 45.598µs] or [-0.023%; +0.023%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | [21930969.274op/s; 21940921.109op/s] or [-0.023%; +0.023%] | None | None | None |
Group 8
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| 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.899µs | 3.915µs ± 0.006µs | 3.915µs ± 0.002µs | 3.917µs | 3.920µs | 3.922µs | 3.969µs | 1.39% | 6.710 | 57.807 | 0.15% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/ | throughput | 251928972.996op/s | 255398880.599op/s ± 377000.241op/s | 255443157.123op/s ± 116989.095op/s | 255550819.707op/s | 255660895.553op/s | 255742805.585op/s | 256461725.899op/s | 0.40% | -6.644 | 57.089 | 0.15% | 26657.943op/s | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | 79.668µs | 80.215µs ± 0.114µs | 80.218µs ± 0.037µs | 80.253µs | 80.319µs | 80.394µs | 81.325µs | 1.38% | 3.664 | 46.555 | 0.14% | 0.008µs | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | 12296301.922op/s | 12466459.179op/s ± 17667.919op/s | 12465983.448op/s ± 5687.558op/s | 12472244.268op/s | 12485058.509op/s | 12494972.960op/s | 12552106.304op/s | 0.69% | -3.515 | 45.253 | 0.14% | 1249.311op/s | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | execution_time | 67.826µs | 67.940µs ± 0.073µs | 67.934µs ± 0.032µs | 67.969µs | 68.036µs | 68.113µs | 68.600µs | 0.98% | 3.906 | 32.361 | 0.11% | 0.005µs | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | throughput | 14577345.623op/s | 14718901.542op/s ± 15697.948op/s | 14720190.075op/s ± 6962.413op/s | 14726630.821op/s | 14739066.929op/s | 14741883.795op/s | 14743667.396op/s | 0.16% | -3.846 | 31.646 | 0.11% | 1110.013op/s | 1 | 200 |
| credit_card/is_card_number/37828224631 | execution_time | 3.894µs | 3.915µs ± 0.003µs | 3.916µs ± 0.001µs | 3.917µs | 3.919µs | 3.922µs | 3.934µs | 0.47% | -0.675 | 17.260 | 0.08% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/37828224631 | throughput | 254193875.351op/s | 255396214.871op/s ± 202001.102op/s | 255385413.652op/s ± 93421.541op/s | 255487329.698op/s | 255643641.296op/s | 255743172.258op/s | 256836343.640op/s | 0.57% | 0.720 | 17.381 | 0.08% | 14283.635op/s | 1 | 200 |
| credit_card/is_card_number/378282246310005 | execution_time | 64.603µs | 64.718µs ± 0.058µs | 64.712µs ± 0.037µs | 64.753µs | 64.825µs | 64.845µs | 64.904µs | 0.30% | 0.504 | -0.169 | 0.09% | 0.004µs | 1 | 200 |
| credit_card/is_card_number/378282246310005 | throughput | 15407324.940op/s | 15451724.096op/s ± 13823.145op/s | 15453190.740op/s ± 8955.610op/s | 15461372.083op/s | 15471527.979op/s | 15476529.904op/s | 15479262.432op/s | 0.17% | -0.499 | -0.175 | 0.09% | 977.444op/s | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | execution_time | 45.456µs | 45.698µs ± 0.098µs | 45.698µs ± 0.069µs | 45.774µs | 45.847µs | 45.913µs | 45.964µs | 0.58% | 0.016 | -0.294 | 0.21% | 0.007µs | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | throughput | 21756360.159op/s | 21882850.258op/s ± 46909.551op/s | 21882629.569op/s ± 33211.435op/s | 21913489.947op/s | 21959395.670op/s | 21981006.610op/s | 21999331.381op/s | 0.53% | -0.005 | -0.297 | 0.21% | 3317.006op/s | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | execution_time | 6.555µs | 6.625µs ± 0.016µs | 6.630µs ± 0.009µs | 6.637µs | 6.642µs | 6.646µs | 6.649µs | 0.28% | -1.346 | 2.197 | 0.25% | 0.001µs | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | throughput | 150398226.834op/s | 150953908.607op/s ± 376519.249op/s | 150822012.480op/s ± 211399.075op/s | 151147860.972op/s | 151586619.055op/s | 152161102.500op/s | 152545182.550op/s | 1.14% | 1.364 | 2.278 | 0.25% | 26623.931op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | execution_time | 3.895µs | 3.915µs ± 0.003µs | 3.915µs ± 0.002µs | 3.916µs | 3.921µs | 3.924µs | 3.925µs | 0.28% | -0.404 | 7.336 | 0.08% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | throughput | 254747425.157op/s | 255421418.739op/s ± 209071.536op/s | 255455116.539op/s ± 103798.822op/s | 255551908.982op/s | 255674793.369op/s | 255705932.540op/s | 256732392.504op/s | 0.50% | 0.426 | 7.461 | 0.08% | 14783.590op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | 65.078µs | 65.724µs ± 0.079µs | 65.732µs ± 0.048µs | 65.775µs | 65.820µs | 65.870µs | 65.884µs | 0.23% | -2.695 | 20.098 | 0.12% | 0.006µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | 15178155.836op/s | 15215263.479op/s ± 18462.444op/s | 15213359.160op/s ± 11210.073op/s | 15225852.004op/s | 15239750.791op/s | 15251123.444op/s | 15366120.416op/s | 1.00% | 2.749 | 20.654 | 0.12% | 1305.492op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | 53.363µs | 53.442µs ± 0.035µs | 53.445µs ± 0.021µs | 53.462µs | 53.491µs | 53.547µs | 53.588µs | 0.27% | 0.553 | 1.697 | 0.07% | 0.002µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | 18660910.901op/s | 18712054.357op/s ± 12192.658op/s | 18710915.461op/s ± 7297.181op/s | 18719994.954op/s | 18731798.272op/s | 18735679.345op/s | 18739561.167op/s | 0.15% | -0.547 | 1.677 | 0.06% | 862.151op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | 3.895µs | 3.915µs ± 0.003µs | 3.915µs ± 0.002µs | 3.917µs | 3.919µs | 3.921µs | 3.923µs | 0.21% | -1.427 | 10.699 | 0.07% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | 254893328.389op/s | 255443648.605op/s ± 182044.620op/s | 255434021.393op/s ± 118282.761op/s | 255565705.944op/s | 255680578.247op/s | 255726608.561op/s | 256718437.046op/s | 0.50% | 1.450 | 10.872 | 0.07% | 12872.499op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | 50.150µs | 50.215µs ± 0.057µs | 50.206µs ± 0.023µs | 50.231µs | 50.285µs | 50.364µs | 50.661µs | 0.91% | 4.702 | 32.382 | 0.11% | 0.004µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | 19738950.407op/s | 19914526.876op/s ± 22372.121op/s | 19918062.072op/s ± 9180.181op/s | 19926690.205op/s | 19935531.382op/s | 19938734.192op/s | 19940270.913op/s | 0.11% | -4.661 | 31.950 | 0.11% | 1581.948op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | 45.438µs | 45.716µs ± 0.107µs | 45.717µs ± 0.080µs | 45.792µs | 45.887µs | 45.936µs | 45.945µs | 0.50% | -0.064 | -0.532 | 0.23% | 0.008µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | 21765290.265op/s | 21874467.855op/s ± 51193.959op/s | 21873823.595op/s ± 38398.088op/s | 21913556.275op/s | 21959587.254op/s | 21980386.470op/s | 22008015.339op/s | 0.61% | 0.075 | -0.529 | 0.23% | 3619.960op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | 6.565µs | 6.625µs ± 0.016µs | 6.631µs ± 0.010µs | 6.638µs | 6.644µs | 6.648µs | 6.651µs | 0.30% | -1.013 | 0.935 | 0.24% | 0.001µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | 150358207.782op/s | 150933639.048op/s ± 365188.140op/s | 150804122.414op/s ± 232146.889op/s | 151169265.771op/s | 151585540.056op/s | 152085138.463op/s | 152320252.777op/s | 1.01% | 1.027 | 0.985 | 0.24% | 25822.701op/s | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| credit_card/is_card_number/ | execution_time | [3.915µs; 3.916µs] or [-0.021%; +0.021%] | None | None | None |
| credit_card/is_card_number/ | throughput | [255346631.992op/s; 255451129.207op/s] or [-0.020%; +0.020%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | [80.200µs; 80.231µs] or [-0.020%; +0.020%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | [12464010.576op/s; 12468907.783op/s] or [-0.020%; +0.020%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | execution_time | [67.930µs; 67.950µs] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | throughput | [14716725.957op/s; 14721077.126op/s] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number/37828224631 | execution_time | [3.915µs; 3.916µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number/37828224631 | throughput | [255368219.461op/s; 255424210.281op/s] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number/378282246310005 | execution_time | [64.710µs; 64.726µs] or [-0.012%; +0.012%] | None | None | None |
| credit_card/is_card_number/378282246310005 | throughput | [15449808.341op/s; 15453639.851op/s] or [-0.012%; +0.012%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | execution_time | [45.685µs; 45.712µs] or [-0.030%; +0.030%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | throughput | [21876349.045op/s; 21889351.470op/s] or [-0.030%; +0.030%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | execution_time | [6.622µs; 6.627µs] or [-0.034%; +0.034%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | throughput | [150901726.660op/s; 151006090.553op/s] or [-0.035%; +0.035%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | execution_time | [3.915µs; 3.916µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | throughput | [255392443.435op/s; 255450394.044op/s] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | [65.713µs; 65.735µs] or [-0.017%; +0.017%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | [15212704.762op/s; 15217822.196op/s] or [-0.017%; +0.017%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | [53.437µs; 53.446µs] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | [18710364.571op/s; 18713744.142op/s] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | [3.914µs; 3.915µs] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | [255418418.971op/s; 255468878.238op/s] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | [50.207µs; 50.223µs] or [-0.016%; +0.016%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | [19911426.315op/s; 19917627.437op/s] or [-0.016%; +0.016%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | [45.701µs; 45.730µs] or [-0.032%; +0.032%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | [21867372.865op/s; 21881562.846op/s] or [-0.032%; +0.032%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | [6.623µs; 6.628µs] or [-0.033%; +0.033%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | [150883027.484op/s; 150984250.612op/s] or [-0.034%; +0.034%] | None | None | None |
Group 9
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| 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.432ms | 3.473ms ± 0.028ms | 3.464ms ± 0.011ms | 3.481ms | 3.538ms | 3.560ms | 3.572ms | 3.14% | 1.547 | 1.833 | 0.80% | 0.002ms | 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.469ms; 3.477ms] or [-0.111%; +0.111%] | None | None | None |
Group 10
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| 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 | 13.898ms | 13.935ms ± 0.028ms | 13.930ms ± 0.010ms | 13.941ms | 13.979ms | 14.043ms | 14.156ms | 1.62% | 3.548 | 19.903 | 0.20% | 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 | [13.932ms; 13.939ms] or [-0.028%; +0.028%] | None | None | None |
Group 11
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| redis/obfuscate_redis_string | execution_time | 33.636µs | 34.182µs ± 0.893µs | 33.764µs ± 0.061µs | 33.924µs | 36.039µs | 36.094µs | 38.063µs | 12.73% | 1.827 | 1.952 | 2.61% | 0.063µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| redis/obfuscate_redis_string | execution_time | [34.058µs; 34.306µs] or [-0.362%; +0.362%] | None | None | None |
Group 12
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| 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.275ms | 4.279ms ± 0.007ms | 4.278ms ± 0.002ms | 4.280ms | 4.283ms | 4.285ms | 4.372ms | 2.18% | 11.588 | 149.815 | 0.16% | 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.278ms; 4.280ms] or [-0.023%; +0.023%] | None | None | None |
Group 13
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| 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 | 88.229µs | 88.680µs ± 0.200µs | 88.696µs ± 0.092µs | 88.770µs | 88.872µs | 88.991µs | 90.577µs | 2.12% | 4.103 | 38.913 | 0.23% | 0.014µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| sql/obfuscate_sql_string | execution_time | [88.652µs; 88.707µs] or [-0.031%; +0.031%] | None | None | None |
Group 14
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| 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 | 163.699µs | 164.372µs ± 0.273µs | 164.337µs ± 0.131µs | 164.486µs | 164.822µs | 165.222µs | 165.775µs | 0.88% | 1.333 | 4.452 | 0.17% | 0.019µ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 | [164.334µs; 164.410µs] or [-0.023%; +0.023%] | None | None | None |
Group 15
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| 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.968µs | 5.039µs ± 0.053µs | 5.010µs ± 0.029µs | 5.075µs | 5.133µs | 5.138µs | 5.141µs | 2.60% | 0.597 | -1.116 | 1.04% | 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.031µs; 5.046µs] or [-0.145%; +0.145%] | None | None | None |
Group 16
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| 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.399µs | 2.450µs ± 0.051µs | 2.440µs ± 0.020µs | 2.456µs | 2.553µs | 2.644µs | 2.645µs | 8.37% | 2.416 | 6.037 | 2.08% | 0.004µ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.443µs; 2.457µs] or [-0.289%; +0.289%] | None | None | None |
Group 17
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| 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.224µs | 3.249µs ± 1.451µs | 3.016µs ± 0.026µs | 3.053µs | 3.716µs | 14.398µs | 14.924µs | 394.79% | 7.294 | 54.501 | 44.54% | 0.103µ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.048µs; 3.450µs] or [-6.188%; +6.188%] | None | None | None |
Group 18
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| two way interface | execution_time | 17.559µs | 25.546µs ± 9.540µs | 18.093µs ± 0.492µs | 33.873µs | 42.521µs | 43.863µs | 63.372µs | 250.26% | 0.881 | 0.280 | 37.25% | 0.675µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| two way interface | execution_time | [24.224µs; 26.868µs] or [-5.176%; +5.176%] | None | None | None |
Group 19
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f51c099 | 1773235972 | florian/heap-live-tracking |
| 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 | 732.929µs | 735.125µs ± 0.934µs | 735.089µs ± 0.513µs | 735.595µs | 736.422µs | 737.432µs | 740.614µs | 0.75% | 1.105 | 5.355 | 0.13% | 0.066µ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 | [734.995µs; 735.254µs] or [-0.018%; +0.018%] | None | None | None |
Baseline
Omitted due to size.
061d9fc to
18e7883
Compare
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
d7c971a to
4276bdc
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. |
9f929cb to
e641308
Compare
d834f50 to
46b2d6b
Compare
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
63a2560 to
c70e869
Compare
c70e869 to
f51c099
Compare
What does this PR do?
This PR adds heap-live allocation tracking support
libdd-profiling::internal::Profileddog_prof_Profile_configure_heap_live()to configure heap-live tracking for a profileddog_prof_Profile_add_tracked_allocation()to add a sample and retain it as a tracked live allocationddog_prof_Profile_untrack_allocation()to remove a tracked allocation by pointerIt also updates reset/serialization behavior so tracked live allocations are re-injected automatically.
Motivation
I have a proof-of-concept already in
dd-trace-phpbut figured that others could also benefit from this. It's an easy API for consumers that consume libdatadog indd-trace-phpstyle (one profile that get's reset, sorry Ruby).Additional Notes
I was not sure if we should do something more sophisticated then a hashmap to track the allocations in
libdatadog, I was thinking that this should be up to the calling profiler itself, because maybe the VM would let you limit calls tountrackanyway.For PHP for example I think I can sneak in a bitmap after the chunk header.
How to test the change?
Describe here in detail how the change can be validated.
Used in DataDog/dd-trace-php#3623