Conversation
BenchmarksBenchmark execution time: 2026-01-21 14:38:06 Comparing candidate commit 9f2b49d in PR branch Found 8 performance improvements and 9 performance regressions! Performance is the same for 160 metrics, 15 unstable metrics. scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody netcoreapp3.1
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody net472
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody netcoreapp3.1
scenario:Benchmarks.Trace.AspNetCoreBenchmark.SendRequest net6.0
scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces net472
scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces net6.0
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net6.0
scenario:Benchmarks.Trace.Log4netBenchmark.EnrichedLog netcoreapp3.1
scenario:Benchmarks.Trace.SerilogBenchmark.EnrichedLog net472
scenario:Benchmarks.Trace.SingleSpanAspNetCoreBenchmark.SingleSpanAspNetCore net6.0
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishSpan net472
scenario:Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin net6.0
scenario:Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin netcoreapp3.1
|
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8082) 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 (8082) - mean (69ms) : 67, 71
master - mean (69ms) : 67, 70
section Bailout
This PR (8082) - mean (72ms) : 71, 73
master - mean (72ms) : 71, 73
section CallTarget+Inlining+NGEN
This PR (8082) - mean (1,017ms) : 939, 1095
master - mean (1,016ms) : 939, 1093
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 (8082) - mean (106ms) : 103, 109
master - mean (106ms) : 104, 109
section Bailout
This PR (8082) - mean (107ms) : 106, 108
master - mean (107ms) : 106, 108
section CallTarget+Inlining+NGEN
This PR (8082) - mean (742ms) : 681, 803
master - mean (735ms) : 680, 790
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8082) - mean (94ms) : 92, 96
master - mean (94ms) : 92, 96
section Bailout
This PR (8082) - mean (95ms) : 93, 96
master - mean (94ms) : 94, 95
section CallTarget+Inlining+NGEN
This PR (8082) - mean (717ms) : 676, 757
master - mean (719ms) : 691, 747
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8082) - mean (93ms) : 90, 95
master - mean (93ms) : 90, 95
section Bailout
This PR (8082) - mean (93ms) : 92, 94
master - mean (93ms) : 92, 94
section CallTarget+Inlining+NGEN
This PR (8082) - mean (638ms) : 621, 654
master - mean (635ms) : 617, 653
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 (8082) - mean (195ms) : 191, 200
master - mean (194ms) : 190, 198
section Bailout
This PR (8082) - mean (199ms) : 196, 201
master - mean (197ms) : 194, 199
section CallTarget+Inlining+NGEN
This PR (8082) - mean (1,148ms) : 1065, 1231
master - mean (1,139ms) : 1061, 1216
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 (8082) - mean (279ms) : 273, 285
master - mean (278ms) : 270, 285
section Bailout
This PR (8082) - mean (281ms) : 275, 287
master - mean (277ms) : 274, 281
section CallTarget+Inlining+NGEN
This PR (8082) - mean (942ms) : 899, 985
master - mean (934ms) : 886, 981
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8082) - mean (272ms) : 266, 279
master - mean (270ms) : 265, 275
section Bailout
This PR (8082) - mean (273ms) : 268, 278
master - mean (270ms) : 266, 274
section CallTarget+Inlining+NGEN
This PR (8082) - mean (934ms) : 880, 987
master - mean (925ms) : 871, 980
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8082) - mean (275ms) : 264, 286
master - mean (269ms) : 264, 274
section Bailout
This PR (8082) - mean (277ms) : 265, 289
master - mean (269ms) : 266, 272
section CallTarget+Inlining+NGEN
This PR (8082) - mean (850ms) : 824, 876
master - mean (833ms) : 813, 852
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| @@ -76,7 +76,7 @@ internal static WafLibraryInvoker CreateWafLibraryInvoker() | |||
|
|
|||
| Environment.SetEnvironmentVariable("DD_TRACE_LOGGING_RATE", "60"); | |||
| Environment.SetEnvironmentVariable("DD_INTERNAL_TRACE_NATIVE_ENGINE_PATH", path); | |||
There was a problem hiding this comment.
I think you can remove this line now, sorry for having broken the tests with my config registry PR, that's what happens when you load the minimal sln 😓
Summary of changes
In this PR, benchmark tests were broken because of a compilation error. We did not detect that until merged into master since the task run-benchmarks is not required for merging into master.
[ERR] RunBenchmarks: C:\dd-trace-dotnet\tracer\test\benchmarks\Benchmarks.Trace\Asm\AppSecBenchmarkUtils.cs(79,47): error CS7036: There is no argument given that corresponds to the required parameter 'ddDotnetTracerHome' of 'WafLibraryInvoker.Initialize(string, string, string)' [C:\dd-trace-dotnet\tracer\test\benchmarks\Benchmarks.Trace\Benchmarks.Trace.csproj::TargetFramework=net472]Reason for change
Implementation details
Test coverage
Other details