Conversation
BenchmarksBenchmark execution time: 2026-02-18 17:19:58 Comparing candidate commit afe66b7 in PR branch Found 9 performance improvements and 14 performance regressions! Performance is the same for 155 metrics, 14 unstable metrics. scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody net6.0
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody netcoreapp3.1
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody netcoreapp3.1
scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces net472
scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces netcoreapp3.1
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net6.0
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice netcoreapp3.1
scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch net472
scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch net6.0
scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch netcoreapp3.1
scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync net472
scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync net6.0
scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync netcoreapp3.1
scenario:Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark netcoreapp3.1
scenario:Benchmarks.Trace.RedisBenchmark.SendReceive net472
scenario:Benchmarks.Trace.RedisBenchmark.SendReceive net6.0
scenario:Benchmarks.Trace.RedisBenchmark.SendReceive netcoreapp3.1
scenario:Benchmarks.Trace.SerilogBenchmark.EnrichedLog netcoreapp3.1
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishSpan netcoreapp3.1
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishTwoScopes net6.0
scenario:Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin netcoreapp3.1
|
| new(@".*Noop\dArgumentsVoidIntegration\.OnMethodBegin.*CallTargetNativeTest.*", RegexOptions.Compiled | RegexOptions.Singleline), | ||
| new(@".*Noop\dArgumentsVoidIntegration\.OnMethodEnd.*CallTargetNativeTest.*", RegexOptions.Compiled | RegexOptions.Singleline), | ||
| new(@".*System.Threading.ThreadAbortException: Thread was being aborted\.", RegexOptions.Compiled), | ||
| // Transient shutdown timeout - LifetimeManager hooks may not complete within 30s under CI resource pressure |
There was a problem hiding this comment.
I am a little hesitant about this one tbh... I understand why we might want to add this, but if this started happening all the time, we would really want to know about it, so I'm not sure we should skip it 🤔
There was a problem hiding this comment.
I see. Maybe increasing the timeout to 60 secs woud be a better option? This way, if its a matter of time, we could fix it, but if it's something else, it will keep failing. WDYT?
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8217) 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 (8217) - mean (77ms) : 75, 79
master - mean (76ms) : 74, 79
section Bailout
This PR (8217) - mean (82ms) : 80, 84
master - mean (81ms) : 79, 83
section CallTarget+Inlining+NGEN
This PR (8217) - mean (1,112ms) : 1037, 1187
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 (8217) - mean (120ms) : 115, 124
master - mean (120ms) : 116, 124
section Bailout
This PR (8217) - mean (121ms) : 119, 124
master - mean (119ms) : 117, 122
section CallTarget+Inlining+NGEN
This PR (8217) - mean (775ms) : 724, 827
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 (8217) - mean (108ms) : 104, 111
master - mean (106ms) : 102, 110
section Bailout
This PR (8217) - mean (109ms) : 106, 112
master - mean (108ms) : 105, 110
section CallTarget+Inlining+NGEN
This PR (8217) - mean (777ms) : 707, 846
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 (8217) - mean (107ms) : 104, 109
master - mean (106ms) : 102, 110
section Bailout
This PR (8217) - mean (108ms) : 105, 111
master - mean (107ms) : 105, 109
section CallTarget+Inlining+NGEN
This PR (8217) - mean (700ms) : 677, 722
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 (8217) - mean (229ms) : 213, 245
master - mean (228ms) : 208, 248
section Bailout
This PR (8217) - mean (234ms) : 216, 251
master - mean (234ms) : 213, 254
section CallTarget+Inlining+NGEN
This PR (8217) - mean (1,262ms) : 1208, 1317
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 (8217) - mean (323ms) : 302, 344
master - mean (321ms) : 303, 339
section Bailout
This PR (8217) - mean (326ms) : 306, 346
master - mean (326ms) : 308, 343
section CallTarget+Inlining+NGEN
This PR (8217) - mean (1,036ms) : 969, 1103
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 (8217) - mean (316ms) : 300, 332
master - mean (324ms) : 298, 351
section Bailout
This PR (8217) - mean (317ms) : 299, 335
master - mean (322ms) : 302, 342
section CallTarget+Inlining+NGEN
This PR (8217) - mean (1,027ms) : 969, 1084
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 (8217) - mean (317ms) : 294, 340
master - mean (324ms) : 297, 352
section Bailout
This PR (8217) - mean (318ms) : 300, 336
master - mean (327ms) : 298, 355
section CallTarget+Inlining+NGEN
This PR (8217) - mean (1,033ms) : 986, 1079
master - mean (1,029ms) : 980, 1077
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Summary of changes
Add Error running shutdown hooks System.TimeoutException to the CheckBuildLogsForErrors known patterns allowlist to prevent flaky CI failures.
Reason for change
The CheckBuildLogsForErrors post-test step scans tracer log files for [Error] entries and fails the build if it finds unrecognized ones. Under CI resource pressure, LifetimeManager.RunShutdownTasks can exceed its 30s timeout during
process shutdown, logging a TimeoutException. This causes builds to fail even though all tests passed (e.g., Test debian_net8.0 in https://dev.azure.com/datadoghq/dd-trace-dotnet/_build/results?buildId=196033).
Implementation details
Added one regex to the knownPatterns list in Build.Steps.cs, next to the existing ThreadAbortException pattern since both are transient shutdown errors.
Test coverage
Other details