Add a trace_stats_sampled scenario to macrobenchmarks#8446
Add a trace_stats_sampled scenario to macrobenchmarks#8446andrewlock wants to merge 4 commits intomasterfrom
Conversation
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8446) and master. ✅ No regressions detected - check the details below Full Metrics ComparisonFakeDbCommand
HttpMessageHandler
Comparison explanationExecution-time benchmarks measure the whole time it takes to execute a program, and are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are highlighted in **red**. The following thresholds were used for comparing the execution times:
Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard. Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph). Duration chartsFakeDbCommand (.NET Framework 4.8)gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8446) - mean (72ms) : 69, 74
master - mean (71ms) : 69, 73
section Bailout
This PR (8446) - mean (76ms) : 74, 78
master - mean (76ms) : 73, 78
section CallTarget+Inlining+NGEN
This PR (8446) - mean (1,071ms) : 1028, 1115
master - mean (1,072ms) : 1022, 1123
FakeDbCommand (.NET Core 3.1)gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8446) - mean (112ms) : 109, 116
master - mean (113ms) : 109, 116
section Bailout
This PR (8446) - mean (113ms) : 111, 116
master - mean (114ms) : 110, 117
section CallTarget+Inlining+NGEN
This PR (8446) - mean (787ms) : 761, 812
master - mean (789ms) : 769, 809
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8446) - mean (99ms) : 96, 101
master - mean (99ms) : 95, 103
section Bailout
This PR (8446) - mean (99ms) : 97, 102
master - mean (100ms) : 97, 103
section CallTarget+Inlining+NGEN
This PR (8446) - mean (934ms) : 902, 965
master - mean (929ms) : 896, 963
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8446) - mean (97ms) : 94, 101
master - mean (99ms) : 96, 101
section Bailout
This PR (8446) - mean (100ms) : 95, 104
master - mean (99ms) : 96, 102
section CallTarget+Inlining+NGEN
This PR (8446) - mean (813ms) : 781, 846
master - mean (811ms) : 778, 845
HttpMessageHandler (.NET Framework 4.8)gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8446) - mean (208ms) : 203, 213
master - mean (208ms) : 204, 213
section Bailout
This PR (8446) - mean (213ms) : 210, 216
master - mean (212ms) : 209, 215
section CallTarget+Inlining+NGEN
This PR (8446) - mean (1,216ms) : 1168, 1265
master - mean (1,218ms) : 1159, 1276
HttpMessageHandler (.NET Core 3.1)gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8446) - mean (300ms) : 295, 306
master - mean (300ms) : 293, 307
section Bailout
This PR (8446) - mean (302ms) : 297, 306
master - mean (300ms) : 295, 305
section CallTarget+Inlining+NGEN
This PR (8446) - mean (995ms) : 965, 1025
master - mean (995ms) : 970, 1020
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8446) - mean (296ms) : 289, 302
master - mean (294ms) : 287, 300
section Bailout
This PR (8446) - mean (297ms) : 291, 302
master - mean (294ms) : 288, 300
section CallTarget+Inlining+NGEN
This PR (8446) - mean (1,181ms) : 1145, 1218
master - mean (1,176ms) : 1138, 1213
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8446) - mean (294ms) : 290, 299
master - mean (292ms) : 287, 297
section Bailout
This PR (8446) - mean (294ms) : 289, 298
master - mean (291ms) : 286, 296
section CallTarget+Inlining+NGEN
This PR (8446) - mean (1,079ms) : 973, 1186
master - mean (1,078ms) : 974, 1182
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Co-authored-by: Andrew Lock <andrewlock.net@gmail.com>
BenchmarksBenchmark execution time: 2026-04-14 18:13:51 Comparing candidate commit 1bb9407 in PR branch Found 0 performance improvements and 1 performance regressions! Performance is the same for 26 metrics, 0 unstable metrics, 87 known flaky benchmarks.
|
Co-authored-by: Andrew Lock <andrewlock.net@gmail.com>
Summary of changes
Adds 10% sampled scenarios to macrobenchmarks
Reason for change
We'd like to understand the impact of sampling on throughput, particularly with regards to client-side-stats
Implementation details
Added 2 new scenarios to each platform
Test coverage
This is the test, hopefully it works 🤞
Other details
Related to this stack (but can and should be merged first and independently)
Part of a stack:
charhelpers likeIsAsciiHexDigit#8417IpAddressObfuscationUtilfor use with client-side-stats #8418ContainsSpanIdtoSpanCollection#8435FnvHash64.GenerateHash()#8444