[Benchmark] Enable runtime metrics by default (EventListener)#8223
[Benchmark] Enable runtime metrics by default (EventListener)#8223
Conversation
Enable runtime metrics with the legacy EventListener-based collector to measure performance impact in CI benchmarks. Co-authored-by: Cursor <cursoragent@cursor.com>
BenchmarksBenchmark execution time: 2026-02-19 21:10:28 Comparing candidate commit 592c63b in PR branch Found 8 performance improvements and 15 performance regressions! Performance is the same for 156 metrics, 13 unstable metrics. scenario:Benchmarks.Trace.ActivityBenchmark.StartStopWithChild net6.0
scenario:Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces net6.0
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody netcoreapp3.1
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody netcoreapp3.1
scenario:Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack net6.0
scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces net472
scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces netcoreapp3.1
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net472
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net6.0
scenario:Benchmarks.Trace.CharSliceBenchmark.OriginalCharSlice net6.0
scenario:Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery net6.0
scenario:Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery netcoreapp3.1
scenario:Benchmarks.Trace.Log4netBenchmark.EnrichedLog netcoreapp3.1
scenario:Benchmarks.Trace.NLogBenchmark.EnrichedLog net472
scenario:Benchmarks.Trace.NLogBenchmark.EnrichedLog netcoreapp3.1
scenario:Benchmarks.Trace.SerilogBenchmark.EnrichedLog netcoreapp3.1
scenario:Benchmarks.Trace.SingleSpanAspNetCoreBenchmark.SingleSpanAspNetCore net6.0
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishScope net6.0
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishScope netcoreapp3.1
|
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8223) 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 (8223) - mean (76ms) : 74, 79
master - mean (76ms) : 74, 79
section Bailout
This PR (8223) - mean (81ms) : 78, 83
master - mean (81ms) : 79, 83
section CallTarget+Inlining+NGEN
This PR (8223) - mean (1,101ms) : 1053, 1149
master - mean (1,095ms) : 1051, 1140
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 (8223) - mean (127ms) : 115, 139
master - mean (120ms) : 116, 124
section Bailout
This PR (8223) - mean (130ms) : crit, 124, 137
master - mean (119ms) : 117, 122
section CallTarget+Inlining+NGEN
This PR (8223) - mean (838ms) : crit, 677, 1000
master - mean (783ms) : 715, 851
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8223) - mean (107ms) : 103, 110
master - mean (106ms) : 102, 110
section Bailout
This PR (8223) - mean (108ms) : 106, 110
master - mean (108ms) : 105, 110
section CallTarget+Inlining+NGEN
This PR (8223) - mean (800ms) : 719, 881
master - mean (773ms) : 700, 845
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8223) - mean (104ms) : 100, 107
master - mean (106ms) : 102, 110
section Bailout
This PR (8223) - mean (106ms) : 104, 109
master - mean (107ms) : 105, 109
section CallTarget+Inlining+NGEN
This PR (8223) - mean (714ms) : 686, 743
master - mean (699ms) : 673, 725
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 (8223) - mean (226ms) : 209, 242
master - mean (228ms) : 208, 248
section Bailout
This PR (8223) - mean (228ms) : 209, 246
master - mean (234ms) : 213, 254
section CallTarget+Inlining+NGEN
This PR (8223) - mean (1,247ms) : 1178, 1316
master - mean (1,262ms) : 1195, 1329
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 (8223) - mean (324ms) : 304, 344
master - mean (321ms) : 303, 339
section Bailout
This PR (8223) - mean (325ms) : 303, 346
master - mean (326ms) : 308, 343
section CallTarget+Inlining+NGEN
This PR (8223) - mean (1,018ms) : 948, 1089
master - mean (1,033ms) : 956, 1110
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8223) - mean (319ms) : 296, 343
master - mean (324ms) : 298, 351
section Bailout
This PR (8223) - mean (321ms) : 298, 344
master - mean (322ms) : 302, 342
section CallTarget+Inlining+NGEN
This PR (8223) - mean (1,092ms) : 969, 1215
master - mean (1,038ms) : 920, 1155
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8223) - mean (317ms) : 293, 341
master - mean (324ms) : 297, 352
section Bailout
This PR (8223) - mean (321ms) : 299, 342
master - mean (327ms) : 298, 355
section CallTarget+Inlining+NGEN
This PR (8223) - mean (1,045ms) : 1005, 1086
master - mean (1,029ms) : 980, 1077
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Co-authored-by: Cursor <cursoragent@cursor.com>
Enable runtime metrics with EventListener to run benchmarks.
Do not merge.
Made with Cursor