[Runtime Metrics] Stop Sync Over Async in StatsD#8213
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
7913fac to
0ce6f8d
Compare
BenchmarksBenchmark execution time: 2026-02-18 00:27:55 Comparing candidate commit 0ce6f8d in PR branch Found 10 performance improvements and 8 performance regressions! Performance is the same for 159 metrics, 15 unstable metrics. scenario:Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces net6.0
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorMoreComplexBody net6.0
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody net6.0
scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs net6.0
scenario:Benchmarks.Trace.AspNetCoreBenchmark.SendRequest net6.0
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net6.0
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool net6.0
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool netcoreapp3.1
scenario:Benchmarks.Trace.CharSliceBenchmark.OriginalCharSlice net6.0
scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync netcoreapp3.1
scenario:Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark netcoreapp3.1
scenario:Benchmarks.Trace.Log4netBenchmark.EnrichedLog netcoreapp3.1
scenario:Benchmarks.Trace.SerilogBenchmark.EnrichedLog net6.0
scenario:Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin net472
|
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8213) 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 (8213) - mean (74ms) : 72, 76
master - mean (76ms) : 73, 80
section Bailout
This PR (8213) - mean (79ms) : 77, 80
master - mean (81ms) : 78, 84
section CallTarget+Inlining+NGEN
This PR (8213) - mean (1,077ms) : 1038, 1116
master - mean (1,093ms) : 1049, 1136
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 (8213) - mean (115ms) : 112, 117
master - mean (127ms) : 124, 131
section Bailout
This PR (8213) - mean (116ms) : 114, 119
master - mean (128ms) : 125, 130
section CallTarget+Inlining+NGEN
This PR (8213) - mean (776ms) : 718, 834
master - mean (843ms) : 808, 878
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8213) - mean (103ms) : 100, 105
master - mean (114ms) : 110, 118
section Bailout
This PR (8213) - mean (104ms) : 101, 107
master - mean (115ms) : 112, 118
section CallTarget+Inlining+NGEN
This PR (8213) - mean (758ms) : 707, 809
master - mean (817ms) : 783, 851
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8213) - mean (101ms) : 98, 104
master - mean (104ms) : 100, 108
section Bailout
This PR (8213) - mean (102ms) : 100, 104
master - mean (107ms) : 104, 109
section CallTarget+Inlining+NGEN
This PR (8213) - mean (682ms) : 663, 700
master - mean (700ms) : 681, 718
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 (8213) - mean (207ms) : 198, 216
master - mean (224ms) : 207, 240
section Bailout
This PR (8213) - mean (210ms) : 203, 217
master - mean (227ms) : 213, 241
section CallTarget+Inlining+NGEN
This PR (8213) - mean (1,205ms) : 1159, 1251
master - mean (1,251ms) : 1192, 1310
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 (8213) - mean (298ms) : 289, 308
master - mean (337ms) : 317, 356
section Bailout
This PR (8213) - mean (300ms) : 289, 311
master - mean (342ms) : 321, 363
section CallTarget+Inlining+NGEN
This PR (8213) - mean (986ms) : 924, 1047
master - mean (1,094ms) : 1044, 1143
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8213) - mean (289ms) : 280, 299
master - mean (321ms) : 294, 349
section Bailout
This PR (8213) - mean (291ms) : 280, 301
master - mean (320ms) : 295, 346
section CallTarget+Inlining+NGEN
This PR (8213) - mean (979ms) : 918, 1041
master - mean (1,010ms) : 949, 1071
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8213) - mean (289ms) : 282, 295
master - mean (326ms) : 305, 347
section Bailout
This PR (8213) - mean (290ms) : 278, 301
master - mean (329ms) : 304, 355
section CallTarget+Inlining+NGEN
This PR (8213) - mean (920ms) : 815, 1025
master - mean (1,065ms) : 1016, 1114
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Summary of changes
Reason for change
Implementation details
Test coverage
Other details