Conversation
This comment has been minimized.
This comment has been minimized.
BenchmarksBenchmark execution time: 2026-01-19 12:32:18 Comparing candidate commit dc6bf60 in PR branch Found 9 performance improvements and 7 performance regressions! Performance is the same for 161 metrics, 15 unstable metrics. scenario:Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces net6.0
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody net6.0
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody netcoreapp3.1
scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs net6.0
scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs netcoreapp3.1
scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces net472
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net472
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net6.0
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice netcoreapp3.1
scenario:Benchmarks.Trace.CharSliceBenchmark.OriginalCharSlice net6.0
scenario:Benchmarks.Trace.Log4netBenchmark.EnrichedLog netcoreapp3.1
scenario:Benchmarks.Trace.SerilogBenchmark.EnrichedLog netcoreapp3.1
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishSpan net6.0
|
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (7969) 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 (7969) - mean (71ms) : 68, 75
master - mean (68ms) : 67, 70
section Bailout
This PR (7969) - mean (74ms) : 72, 75
master - mean (72ms) : 71, 73
section CallTarget+Inlining+NGEN
This PR (7969) - mean (1,030ms) : 944, 1116
master - mean (1,013ms) : 943, 1082
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 (7969) - mean (109ms) : 106, 112
master - mean (106ms) : 103, 108
section Bailout
This PR (7969) - mean (111ms) : 109, 114
master - mean (107ms) : 105, 108
section CallTarget+Inlining+NGEN
This PR (7969) - mean (771ms) : 710, 832
master - mean (736ms) : 685, 786
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7969) - mean (109ms) : 106, 112
master - mean (94ms) : 92, 96
section Bailout
This PR (7969) - mean (111ms) : crit, 107, 114
master - mean (94ms) : 93, 95
section CallTarget+Inlining+NGEN
This PR (7969) - mean (759ms) : crit, 694, 823
master - mean (715ms) : 680, 750
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7969) - mean (102ms) : 99, 104
master - mean (92ms) : 90, 95
section Bailout
This PR (7969) - mean (103ms) : crit, 101, 105
master - mean (93ms) : 92, 95
section CallTarget+Inlining+NGEN
This PR (7969) - mean (671ms) : 648, 693
master - mean (636ms) : 622, 651
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 (7969) - mean (192ms) : 188, 195
master - mean (192ms) : 188, 196
section Bailout
This PR (7969) - mean (196ms) : 192, 201
master - mean (195ms) : 193, 198
section CallTarget+Inlining+NGEN
This PR (7969) - mean (1,122ms) : 1065, 1178
master - mean (1,124ms) : 1053, 1195
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 (7969) - mean (277ms) : 269, 284
master - mean (275ms) : 270, 280
section Bailout
This PR (7969) - mean (277ms) : 273, 282
master - mean (276ms) : 271, 280
section CallTarget+Inlining+NGEN
This PR (7969) - mean (930ms) : 884, 976
master - mean (926ms) : 880, 972
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7969) - mean (270ms) : 264, 276
master - mean (269ms) : 264, 274
section Bailout
This PR (7969) - mean (269ms) : 266, 272
master - mean (268ms) : 265, 272
section CallTarget+Inlining+NGEN
This PR (7969) - mean (919ms) : 871, 968
master - mean (916ms) : 855, 976
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7969) - mean (268ms) : 263, 273
master - mean (268ms) : 263, 272
section Bailout
This PR (7969) - mean (268ms) : 264, 272
master - mean (268ms) : 263, 273
section CallTarget+Inlining+NGEN
This PR (7969) - mean (831ms) : 814, 848
master - mean (829ms) : 811, 847
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
andrewlock
left a comment
There was a problem hiding this comment.
Nice, thanks! I wonder if we should add a smoke check to confirm our shutdown tasks are actually running (to confirm they weren't running previously). I'm kind of surprised we never saw this show up in our tests before 🤔
| } | ||
|
|
||
| #if NET6_0_OR_GREATER | ||
| private void TryRegisterTerminationSignalHandlers() |
There was a problem hiding this comment.
Have you tested this manually? Can we add automated tests?
I've added a test |
Summary of changes
Fix the LifetimeManager on .NET 10
Reason for change
https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/10.0/sigterm-signal-handler
Implementation details
Test coverage
Before this PR:
After this PR:
Other details