dd-trace-dotnet icon indicating copy to clipboard operation
dd-trace-dotnet copied to clipboard

[tracing] Create an inferred span for Azure API Management

Open jcstorms1 opened this issue 1 month ago • 3 comments

Summary of changes

Reason for change

Implementation details

Test coverage

Other details

jcstorms1 avatar Nov 12 '25 19:11 jcstorms1

Benchmarks

Benchmarks Report for benchmark platform :snail:

Benchmarks for #7806 compared to master:

  • 6 benchmarks are faster, with geometric mean 1.349
  • 1 benchmarks are slower, with geometric mean 1.177
  • 5 benchmarks have fewer allocations
  • 38 benchmarks have more allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.ActivityBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 5.71 KB 5.75 KB 36 B 0.63%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 11.3μs 50ns 194ns 0 0 0 5.5 KB
master StartStopWithChild netcoreapp3.1 13.6μs 66.6ns 283ns 0 0 0 5.71 KB
master StartStopWithChild net472 22.2μs 122ns 720ns 0.935 0.117 0 5.97 KB
#7806 StartStopWithChild net6.0 10.9μs 58.8ns 327ns 0 0 0 5.52 KB
#7806 StartStopWithChild netcoreapp3.1 14.9μs 74.2ns 332ns 0 0 0 5.75 KB
#7806 StartStopWithChild net472 22.2μs 126ns 908ns 0.873 0.218 0 5.99 KB
Benchmarks.Trace.AgentWriterBenchmark - Faster :tada: More allocations :warning:

Faster :tada: in #7806

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 1.438 1,724,977.34 1,199,418.18
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 1.366 1,273,843.12 932,756.25
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.305 1,371,266.25 1,050,379.95

More allocations :warning: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 3.26 KB 3.31 KB 41 B 1.26%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 1.27ms 538ns 2.08μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.37ms 594ns 2.3μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.72ms 1.28μs 4.78μs 0 0 0 3.26 KB
#7806 WriteAndFlushEnrichedTraces net6.0 933μs 35.9ns 134ns 0 0 0 2.7 KB
#7806 WriteAndFlushEnrichedTraces netcoreapp3.1 1.05ms 168ns 651ns 0 0 0 2.7 KB
#7806 WriteAndFlushEnrichedTraces net472 1.2ms 99.9ns 374ns 0 0 0 3.31 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 1.07μs 0.909ns 3.52ns 0 0 0 1.22 KB
master AllCycleSimpleBody netcoreapp3.1 1.36μs 7.78ns 59.7ns 0 0 0 1.2 KB
master AllCycleSimpleBody net472 1.01μs 0.317ns 1.23ns 0.193 0 0 1.23 KB
master AllCycleMoreComplexBody net6.0 7.26μs 34.4ns 133ns 0 0 0 4.72 KB
master AllCycleMoreComplexBody netcoreapp3.1 9.01μs 43.3ns 189ns 0 0 0 4.62 KB
master AllCycleMoreComplexBody net472 7.67μs 4.28ns 16.6ns 0.726 0 0 4.74 KB
master ObjectExtractorSimpleBody net6.0 320ns 1.77ns 10.3ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 398ns 2.09ns 9.79ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 303ns 0.0564ns 0.211ns 0.0442 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.29μs 2.47ns 9.57ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.86μs 38.5ns 172ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.69μs 1.09ns 4.23ns 0.602 0 0 3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EncodeArgs net6.0 77.1μs 22.9ns 82.5ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 97.8μs 347ns 1.34μs 0 0 0 32.4 KB
master EncodeArgs net472 110μs 26.3ns 98.3ns 4.94 0 0 32.5 KB
master EncodeLegacyArgs net6.0 142μs 22.3ns 83.3ns 0 0 0 2.14 KB
master EncodeLegacyArgs netcoreapp3.1 199μs 109ns 424ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 261μs 22.6ns 87.4ns 0 0 0 2.14 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 428μs 893ns 3.22μs 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 448μs 1.66μs 6.23μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 498μs 915ns 3.42μs 0 0 0 0 b
master RunWafRealisticBenchmarkWithAttack net6.0 337μs 3.08μs 30.5μs 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 343μs 1.07μs 3.85μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 372μs 562ns 2.18μs 0 0 0 0 b
Benchmarks.Trace.AspNetCoreBenchmark - Faster :tada: Fewer allocations :tada:

Faster :tada: in #7806

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑net6.0 1.388 84,736.91 61,055.53
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 1.349 97,495.14 72,257.47

Fewer allocations :tada: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 21.18 KB 17.42 KB -3.77 KB -17.79%
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑net6.0 18.98 KB 14.52 KB -4.45 KB -23.47%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 84.7μs 109ns 378ns 0 0 0 18.98 KB
master SendRequest netcoreapp3.1 98.1μs 315ns 1.92μs 0 0 0 21.18 KB
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#7806 SendRequest net6.0 61.1μs 59.5ns 206ns 0 0 0 14.52 KB
#7806 SendRequest netcoreapp3.1 72.2μs 45.1ns 163ns 0 0 0 17.42 KB
#7806 SendRequest net472 0.00367ns 0.00187ns 0.00699ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 0 b 640 B 640 B
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑netcoreapp3.1 0 b 104 B 104 B
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 0 b 976 B 976 B
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 0 b 104 B 104 B
Benchmarks.Trace.CharSliceBenchmark.OriginalCharSlice‑net472 638.98 KB 647.17 KB 8.19 KB 1.28%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 2.1ms 1.57μs 6.1μs 0 0 0 640 KB
master OriginalCharSlice netcoreapp3.1 3.94ms 2.97μs 11.1μs 0 0 0 640.05 KB
master OriginalCharSlice net472 2.65ms 1.57μs 6.1μs 0 0 0 638.98 KB
master OptimizedCharSlice net6.0 1.5ms 518ns 1.94μs 0 0 0 0 b
master OptimizedCharSlice netcoreapp3.1 2.73ms 822ns 2.85μs 0 0 0 0 b
master OptimizedCharSlice net472 2.04ms 740ns 2.77μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 1.14ms 390ns 1.51μs 0 0 0 0 b
master OptimizedCharSliceWithPool netcoreapp3.1 1.85ms 2.52μs 9.78μs 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.13ms 497ns 1.92μs 0 0 0 0 b
#7806 OriginalCharSlice net6.0 1.92ms 820ns 3.07μs 0 0 0 640.98 KB
#7806 OriginalCharSlice netcoreapp3.1 3.94ms 2.1μs 7.86μs 0 0 0 640.1 KB
#7806 OriginalCharSlice net472 2.68ms 734ns 2.74μs 0 0 0 647.17 KB
#7806 OptimizedCharSlice net6.0 1.5ms 962ns 3.72μs 0 0 0 640 B
#7806 OptimizedCharSlice netcoreapp3.1 2.78ms 454ns 1.64μs 0 0 0 104 B
#7806 OptimizedCharSlice net472 1.96ms 1.33μs 5.14μs 0 0 0 0 b
#7806 OptimizedCharSliceWithPool net6.0 1.08ms 469ns 1.62μs 0 0 0 976 B
#7806 OptimizedCharSliceWithPool netcoreapp3.1 1.88ms 1.75μs 6.56μs 0 0 0 104 B
#7806 OptimizedCharSliceWithPool net472 1.15ms 444ns 1.72μs 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Slower :warning: Fewer allocations :tada:

Slower :warning: in #7806

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.177 623,855.36 734,487.72

Faster :tada: in #7806

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 1.255 794,825.00 633,443.16

Fewer allocations :tada: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 56.32 KB 55.47 KB -849 B -1.51%
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 42.54 KB 41.67 KB -873 B -2.05%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 789μs 3.73μs 16.3μs 0 0 0 42.54 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 624μs 647ns 2.51μs 0 0 0 41.98 KB
master WriteAndFlushEnrichedTraces net472 915μs 2.25μs 8.71μs 8.93 4.46 0 56.32 KB
#7806 WriteAndFlushEnrichedTraces net6.0 635μs 764ns 2.96μs 0 0 0 41.67 KB
#7806 WriteAndFlushEnrichedTraces netcoreapp3.1 730μs 3.94μs 22.3μs 0 0 0 41.83 KB
#7806 WriteAndFlushEnrichedTraces net472 881μs 4.5μs 20.6μs 4.81 0 0 55.47 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 931 B 987 B 56 B 6.02%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 960 B 1.02 KB 56 B 5.83%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net6.0 968 B 1.02 KB 56 B 5.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.95μs 4ns 15.5ns 0 0 0 968 B
master ExecuteNonQuery netcoreapp3.1 2.53μs 7.08ns 27.4ns 0 0 0 960 B
master ExecuteNonQuery net472 2.76μs 3.18ns 12.3ns 0.138 0 0 931 B
#7806 ExecuteNonQuery net6.0 1.9μs 8.33ns 32.3ns 0 0 0 1.02 KB
#7806 ExecuteNonQuery netcoreapp3.1 2.45μs 9.81ns 38ns 0 0 0 1.02 KB
#7806 ExecuteNonQuery net472 2.68μs 3.41ns 13.2ns 0.146 0 0 987 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 955 B 1.04 KB 88 B 9.21%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.01 KB 1.1 KB 88 B 8.70%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net6.0 928 B 1.01 KB 80 B 8.62%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net6.0 952 B 1.03 KB 80 B 8.40%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 968 B 1.03 KB 64 B 6.61%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.02 KB 1.08 KB 64 B 6.30%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.67μs 8.13ns 32.5ns 0 0 0 952 B
master CallElasticsearch netcoreapp3.1 2.27μs 1.76ns 6.84ns 0 0 0 968 B
master CallElasticsearch net472 3.32μs 2.68ns 10.4ns 0.149 0 0 955 B
master CallElasticsearchAsync net6.0 1.77μs 7.23ns 27.1ns 0 0 0 928 B
master CallElasticsearchAsync netcoreapp3.1 2.4μs 7.58ns 29.4ns 0 0 0 1.02 KB
master CallElasticsearchAsync net472 3.48μs 4.77ns 18.5ns 0.156 0 0 1.01 KB
#7806 CallElasticsearch net6.0 1.72μs 0.75ns 2.9ns 0 0 0 1.03 KB
#7806 CallElasticsearch netcoreapp3.1 2.26μs 8.01ns 30ns 0 0 0 1.03 KB
#7806 CallElasticsearch net472 3.46μs 5.1ns 19.1ns 0.156 0 0 1.04 KB
#7806 CallElasticsearchAsync net6.0 1.9μs 2.62ns 10.2ns 0 0 0 1.01 KB
#7806 CallElasticsearchAsync netcoreapp3.1 2.38μs 11.7ns 49.5ns 0 0 0 1.08 KB
#7806 CallElasticsearchAsync net472 3.72μs 7.95ns 30.8ns 0.167 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 858 B 915 B 57 B 6.64%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net6.0 896 B 952 B 56 B 6.25%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 896 B 952 B 56 B 6.25%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net6.0 1.83μs 10.1ns 39.2ns 0 0 0 896 B
master ExecuteAsync netcoreapp3.1 2.39μs 1.12ns 4.35ns 0 0 0 896 B
master ExecuteAsync net472 2.71μs 4.01ns 15.5ns 0.134 0 0 858 B
#7806 ExecuteAsync net6.0 1.79μs 7.22ns 28ns 0 0 0 952 B
#7806 ExecuteAsync netcoreapp3.1 2.43μs 4.99ns 19.3ns 0 0 0 952 B
#7806 ExecuteAsync net472 2.68μs 1.86ns 7.2ns 0.133 0 0 915 B
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 3.08 KB 3.18 KB 97 B 3.15%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net6.0 2.29 KB 2.36 KB 72 B 3.15%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.83 KB 2.9 KB 64 B 2.26%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 7.27μs 6.22ns 24.1ns 0 0 0 2.29 KB
master SendAsync netcoreapp3.1 8.76μs 18.7ns 72.6ns 0 0 0 2.83 KB
master SendAsync net472 12.3μs 10.3ns 39.8ns 0.429 0 0 3.08 KB
#7806 SendAsync net6.0 6.78μs 18.3ns 68.3ns 0 0 0 2.36 KB
#7806 SendAsync netcoreapp3.1 8.8μs 8.23ns 31.9ns 0 0 0 2.9 KB
#7806 SendAsync net472 12μs 11.3ns 43.7ns 0.479 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 44.5μs 236ns 1.15μs 0 0 0 42.51 KB
master StringConcatBenchmark netcoreapp3.1 51.2μs 217ns 919ns 0 0 0 42.54 KB
master StringConcatBenchmark net472 57.8μs 85.9ns 310ns 0 0 0 49.15 KB
master StringConcatAspectBenchmark net6.0 488μs 2.23μs 8.93μs 0 0 0 259.7 KB
master StringConcatAspectBenchmark netcoreapp3.1 478μs 6.73μs 67μs 0 0 0 274.7 KB
master StringConcatAspectBenchmark net472 407μs 2.18μs 17.3μs 0 0 0 270.34 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.6 KB 1.64 KB 36 B 2.25%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net6.0 1.69 KB 1.7 KB 16 B 0.95%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.79μs 12.5ns 48.6ns 0 0 0 1.69 KB
master EnrichedLog netcoreapp3.1 3.57μs 1.1ns 4.11ns 0 0 0 1.7 KB
master EnrichedLog net472 3.9μs 2.22ns 8.6ns 0.253 0 0 1.6 KB
#7806 EnrichedLog net6.0 2.64μs 12.2ns 48.8ns 0 0 0 1.7 KB
#7806 EnrichedLog netcoreapp3.1 3.47μs 15.2ns 58.8ns 0 0 0 1.7 KB
#7806 EnrichedLog net472 3.82μs 10.4ns 40.4ns 0.253 0 0 1.64 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Fewer allocations :tada:

Fewer allocations :tada: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.37 KB 4.31 KB -62 B -1.42%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 131μs 722ns 4.39μs 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 136μs 704ns 3.38μs 0 0 0 4.37 KB
master EnrichedLog net472 167μs 102ns 369ns 0 0 0 4.51 KB
#7806 EnrichedLog net6.0 123μs 56.9ns 220ns 0 0 0 4.31 KB
#7806 EnrichedLog netcoreapp3.1 129μs 205ns 739ns 0 0 0 4.31 KB
#7806 EnrichedLog net472 168μs 68ns 263ns 0 0 0 4.52 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 2.05 KB 2.08 KB 33 B 1.61%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net6.0 2.24 KB 2.26 KB 20 B 0.89%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 5.14μs 7.86ns 30.4ns 0 0 0 2.24 KB
master EnrichedLog netcoreapp3.1 6.77μs 24.8ns 95.9ns 0 0 0 2.26 KB
master EnrichedLog net472 7.62μs 3.91ns 15.1ns 0.305 0 0 2.05 KB
#7806 EnrichedLog net6.0 5.01μs 11.7ns 43.8ns 0 0 0 2.26 KB
#7806 EnrichedLog netcoreapp3.1 6.76μs 11.4ns 42.6ns 0 0 0 2.26 KB
#7806 EnrichedLog net472 7.46μs 8.49ns 32.9ns 0.296 0 0 2.08 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.12 KB 1.2 KB 89 B 7.98%
Benchmarks.Trace.RedisBenchmark.SendReceive‑net6.0 1.12 KB 1.2 KB 80 B 7.14%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.14 KB 1.2 KB 64 B 5.63%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 1.95μs 10.1ns 50.5ns 0 0 0 1.12 KB
master SendReceive netcoreapp3.1 2.6μs 12.4ns 49.4ns 0 0 0 1.14 KB
master SendReceive net472 2.95μs 5.48ns 21.2ns 0.174 0 0 1.12 KB
#7806 SendReceive net6.0 2.06μs 4.95ns 19.2ns 0 0 0 1.2 KB
#7806 SendReceive netcoreapp3.1 2.6μs 8.92ns 34.5ns 0 0 0 1.2 KB
#7806 SendReceive net472 3.03μs 3.39ns 13.1ns 0.182 0 0 1.2 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 4.48μs 13.2ns 49.5ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.75μs 16.2ns 62.7ns 0 0 0 1.63 KB
master EnrichedLog net472 6.55μs 9.35ns 36.2ns 0.294 0 0 2.03 KB
#7806 EnrichedLog net6.0 4.38μs 2.19ns 8.46ns 0 0 0 1.58 KB
#7806 EnrichedLog netcoreapp3.1 5.62μs 16.5ns 63.8ns 0 0 0 1.63 KB
#7806 EnrichedLog net472 6.47μs 5.64ns 21.8ns 0.29 0 0 2.03 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net6.0 520 B 576 B 56 B 10.77%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 520 B 576 B 56 B 10.77%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 522 B 578 B 56 B 10.73%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 602 B 658 B 56 B 9.30%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net6.0 640 B 696 B 56 B 8.75%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 640 B 696 B 56 B 8.75%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 764ns 3.9ns 18.3ns 0 0 0 520 B
master StartFinishSpan netcoreapp3.1 948ns 5.15ns 28.2ns 0 0 0 520 B
master StartFinishSpan net472 887ns 0.379ns 1.42ns 0.0799 0 0 522 B
master StartFinishScope net6.0 914ns 0.368ns 1.33ns 0 0 0 640 B
master StartFinishScope netcoreapp3.1 1.15μs 5.32ns 21.3ns 0 0 0 640 B
master StartFinishScope net472 1.09μs 0.538ns 2.09ns 0.093 0 0 602 B
master StartFinishTwoScopes net6.0 1.81μs 8.63ns 36.6ns 0 0 0 1.19 KB
master StartFinishTwoScopes netcoreapp3.1 2.22μs 11.7ns 59.9ns 0 0 0 1.19 KB
master StartFinishTwoScopes net472 2.13μs 0.594ns 2.3ns 0.17 0 0 1.08 KB
#7806 StartFinishSpan net6.0 801ns 3.91ns 17.5ns 0 0 0 576 B
#7806 StartFinishSpan netcoreapp3.1 957ns 4.46ns 17.8ns 0 0 0 576 B
#7806 StartFinishSpan net472 901ns 0.412ns 1.43ns 0.0909 0 0 578 B
#7806 StartFinishScope net6.0 917ns 4.87ns 24.3ns 0 0 0 696 B
#7806 StartFinishScope netcoreapp3.1 1.22μs 4.43ns 17.2ns 0 0 0 696 B
#7806 StartFinishScope net472 1.08μs 0.173ns 0.671ns 0.104 0 0 658 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7806

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 602 B 658 B 56 B 9.30%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net6.0 640 B 696 B 56 B 8.75%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 640 B 696 B 56 B 8.75%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 1.07μs 5.28ns 21.8ns 0 0 0 640 B
master RunOnMethodBegin netcoreapp3.1 1.41μs 0.836ns 3.13ns 0 0 0 640 B
master RunOnMethodBegin net472 1.45μs 0.445ns 1.6ns 0.0944 0 0 602 B
#7806 RunOnMethodBegin net6.0 1.07μs 0.732ns 2.84ns 0 0 0 696 B
#7806 RunOnMethodBegin netcoreapp3.1 1.39μs 7.06ns 33.1ns 0 0 0 696 B
#7806 RunOnMethodBegin net472 1.42μs 1.07ns 4.16ns 0.101 0 0 658 B

pr-commenter[bot] avatar Nov 12 '25 20:11 pr-commenter[bot]

Execution-Time Benchmarks Report :stopwatch:

Execution-time results for samples comparing This PR (7806) and master.

✅ No regressions detected - check the details below

Full Metrics Comparison

FakeDbCommand

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration74.74 ± (74.65 - 75.17) ms77.03 ± (76.99 - 77.99) ms+3.1%✅⬆️
.NET Framework 4.8 - Bailout
duration79.13 ± (78.92 - 79.54) ms79.56 ± (79.31 - 80.05) ms+0.5%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1065.75 ± (1065.11 - 1073.23) ms1083.96 ± (1083.57 - 1094.32) ms+1.7%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms23.21 ± (23.13 - 23.29) ms23.46 ± (23.37 - 23.55) ms+1.0%✅⬆️
process.time_to_main_ms88.60 ± (88.32 - 88.88) ms91.83 ± (91.24 - 92.42) ms+3.6%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.93 ± (10.93 - 10.93) MB10.92 ± (10.91 - 10.92) MB-0.1%
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms23.13 ± (23.06 - 23.20) ms23.10 ± (23.03 - 23.17) ms-0.1%
process.time_to_main_ms90.22 ± (89.90 - 90.54) ms90.90 ± (90.44 - 91.36) ms+0.8%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.97 ± (10.96 - 10.97) MB10.96 ± (10.96 - 10.97) MB-0.0%
runtime.dotnet.threads.count13 ± (13 - 13)13 ± (13 - 13)+0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms223.60 ± (222.30 - 224.90) ms225.17 ± (223.91 - 226.44) ms+0.7%✅⬆️
process.time_to_main_ms503.18 ± (502.10 - 504.27) ms510.81 ± (509.39 - 512.23) ms+1.5%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed47.89 ± (47.87 - 47.91) MB47.92 ± (47.90 - 47.94) MB+0.1%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.0%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms21.84 ± (21.77 - 21.92) ms22.09 ± (22.01 - 22.17) ms+1.1%✅⬆️
process.time_to_main_ms77.74 ± (77.42 - 78.06) ms78.74 ± (78.35 - 79.13) ms+1.3%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.62 ± (10.62 - 10.63) MB10.66 ± (10.65 - 10.66) MB+0.3%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms21.73 ± (21.66 - 21.79) ms21.99 ± (21.91 - 22.06) ms+1.2%✅⬆️
process.time_to_main_ms78.82 ± (78.50 - 79.15) ms79.39 ± (79.02 - 79.76) ms+0.7%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.68 ± (10.67 - 10.68) MB10.68 ± (10.68 - 10.69) MB+0.1%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms212.92 ± (211.84 - 214.00) ms215.82 ± (214.54 - 217.09) ms+1.4%✅⬆️
process.time_to_main_ms468.10 ± (467.20 - 469.00) ms475.92 ± (474.57 - 477.27) ms+1.7%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed48.20 ± (48.17 - 48.23) MB48.11 ± (48.08 - 48.13) MB-0.2%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.0%✅⬆️
.NET 8 - Baseline
process.internal_duration_ms20.07 ± (20.01 - 20.14) ms20.25 ± (20.18 - 20.32) ms+0.9%✅⬆️
process.time_to_main_ms76.36 ± (75.99 - 76.73) ms77.70 ± (77.31 - 78.08) ms+1.8%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.67 ± (7.66 - 7.67) MB7.66 ± (7.66 - 7.67) MB-0.1%
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms20.00 ± (19.95 - 20.05) ms20.20 ± (20.11 - 20.30) ms+1.0%✅⬆️
process.time_to_main_ms76.91 ± (76.68 - 77.15) ms78.59 ± (77.99 - 79.18) ms+2.2%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.72 ± (7.72 - 7.73) MB7.72 ± (7.71 - 7.73) MB-0.0%
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms193.05 ± (192.12 - 193.98) ms196.01 ± (194.85 - 197.16) ms+1.5%✅⬆️
process.time_to_main_ms453.95 ± (453.00 - 454.90) ms462.10 ± (460.82 - 463.37) ms+1.8%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed36.46 ± (36.42 - 36.51) MB36.51 ± (36.47 - 36.55) MB+0.1%✅⬆️
runtime.dotnet.threads.count27 ± (27 - 27)27 ± (27 - 27)-0.1%

HttpMessageHandler

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration192.76 ± (192.63 - 193.47) ms195.53 ± (195.67 - 196.60) ms+1.4%✅⬆️
.NET Framework 4.8 - Bailout
duration196.39 ± (196.37 - 197.00) ms200.44 ± (200.46 - 201.48) ms+2.1%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1108.57 ± (1110.65 - 1118.15) ms1131.78 ± (1133.20 - 1142.65) ms+2.1%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms187.97 ± (187.59 - 188.34) ms191.37 ± (190.92 - 191.83) ms+1.8%✅⬆️
process.time_to_main_ms80.63 ± (80.40 - 80.86) ms82.25 ± (82.03 - 82.46) ms+2.0%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.03 ± (16.00 - 16.05) MB16.12 ± (16.10 - 16.14) MB+0.6%✅⬆️
runtime.dotnet.threads.count19 ± (19 - 20)20 ± (20 - 20)+0.6%✅⬆️
.NET Core 3.1 - Bailout
process.internal_duration_ms187.46 ± (187.10 - 187.82) ms188.15 ± (187.85 - 188.46) ms+0.4%✅⬆️
process.time_to_main_ms81.80 ± (81.64 - 81.97) ms82.15 ± (82.02 - 82.29) ms+0.4%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.11 ± (16.08 - 16.14) MB16.21 ± (16.18 - 16.25) MB+0.6%✅⬆️
runtime.dotnet.threads.count21 ± (20 - 21)21 ± (21 - 21)+0.2%✅⬆️
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms396.23 ± (393.86 - 398.60) ms399.29 ± (396.56 - 402.02) ms+0.8%✅⬆️
process.time_to_main_ms470.83 ± (470.22 - 471.44) ms475.84 ± (474.87 - 476.82) ms+1.1%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed58.68 ± (58.55 - 58.82) MB58.49 ± (58.35 - 58.63) MB-0.3%
runtime.dotnet.threads.count29 ± (29 - 30)29 ± (29 - 29)-0.1%
.NET 6 - Baseline
process.internal_duration_ms196.20 ± (195.72 - 196.68) ms193.77 ± (193.35 - 194.18) ms-1.2%
process.time_to_main_ms71.56 ± (71.36 - 71.77) ms70.51 ± (70.30 - 70.71) ms-1.5%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.35 ± (16.32 - 16.38) MB16.41 ± (16.38 - 16.43) MB+0.4%✅⬆️
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)-0.3%
.NET 6 - Bailout
process.internal_duration_ms195.06 ± (194.59 - 195.52) ms192.45 ± (192.14 - 192.76) ms-1.3%
process.time_to_main_ms72.03 ± (71.82 - 72.23) ms71.49 ± (71.38 - 71.60) ms-0.7%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.47 ± (16.45 - 16.50) MB16.22 ± (16.09 - 16.36) MB-1.5%
runtime.dotnet.threads.count20 ± (20 - 20)19 ± (19 - 19)-4.4%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms407.44 ± (404.93 - 409.94) ms412.16 ± (410.16 - 414.17) ms+1.2%✅⬆️
process.time_to_main_ms439.68 ± (438.82 - 440.54) ms444.12 ± (443.54 - 444.71) ms+1.0%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed58.81 ± (58.61 - 59.01) MB59.21 ± (59.09 - 59.33) MB+0.7%✅⬆️
runtime.dotnet.threads.count30 ± (30 - 30)30 ± (29 - 30)-0.3%
.NET 8 - Baseline
process.internal_duration_ms191.55 ± (191.08 - 192.01) ms191.28 ± (190.94 - 191.62) ms-0.1%
process.time_to_main_ms69.92 ± (69.75 - 70.09) ms69.98 ± (69.82 - 70.15) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.70 ± (11.68 - 11.73) MB11.78 ± (11.76 - 11.81) MB+0.7%✅⬆️
runtime.dotnet.threads.count18 ± (18 - 18)18 ± (18 - 18)+0.1%✅⬆️
.NET 8 - Bailout
process.internal_duration_ms189.24 ± (189.02 - 189.45) ms190.51 ± (190.20 - 190.82) ms+0.7%✅⬆️
process.time_to_main_ms70.38 ± (70.30 - 70.47) ms71.01 ± (70.88 - 71.13) ms+0.9%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.71 ± (11.63 - 11.78) MB11.82 ± (11.79 - 11.85) MB+1.0%✅⬆️
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)+0.7%✅⬆️
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms365.46 ± (364.00 - 366.92) ms368.73 ± (367.40 - 370.06) ms+0.9%✅⬆️
process.time_to_main_ms428.34 ± (427.60 - 429.07) ms430.58 ± (429.95 - 431.22) ms+0.5%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed47.89 ± (47.87 - 47.92) MB47.91 ± (47.89 - 47.94) MB+0.0%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)-0.7%
Comparison explanation

Execution-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:

  • Welch test with statistical test for significance of 5%
  • Only results indicating a difference greater than 5% and 5 ms are considered.

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 charts
FakeDbCommand (.NET Framework 4.8)
gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7806) - mean (77ms)  : 70, 85
    master - mean (75ms)  : 71, 79

    section Bailout
    This PR (7806) - mean (80ms)  : 74, 85
    master - mean (79ms)  : 75, 84

    section CallTarget+Inlining+NGEN
    This PR (7806) - mean (1,089ms)  : 1008, 1170
    master - mean (1,069ms)  : 1010, 1128

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 (7806) - mean (123ms)  : 109, 136
    master - mean (120ms)  : 115, 124

    section Bailout
    This PR (7806) - mean (122ms)  : 114, 130
    master - mean (121ms)  : 114, 128

    section CallTarget+Inlining+NGEN
    This PR (7806) - mean (776ms)  : 744, 807
    master - mean (769ms)  : 738, 799

FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7806) - mean (108ms)  : 101, 115
    master - mean (107ms)  : 100, 113

    section Bailout
    This PR (7806) - mean (109ms)  : 100, 117
    master - mean (108ms)  : 101, 115

    section CallTarget+Inlining+NGEN
    This PR (7806) - mean (724ms)  : 677, 772
    master - mean (716ms)  : 685, 747

FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7806) - mean (107ms)  : 100, 114
    master - mean (105ms)  : 98, 113

    section Bailout
    This PR (7806) - mean (107ms)  : 96, 119
    master - mean (106ms)  : 100, 111

    section CallTarget+Inlining+NGEN
    This PR (7806) - mean (699ms)  : 660, 737
    master - mean (687ms)  : 660, 714

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 (7806) - mean (196ms)  : 189, 203
    master - mean (193ms)  : 189, 197

    section Bailout
    This PR (7806) - mean (201ms)  : 194, 208
    master - mean (197ms)  : 194, 200

    section CallTarget+Inlining+NGEN
    This PR (7806) - mean (1,138ms)  : 1070, 1206
    master - mean (1,114ms)  : 1060, 1169

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 (7806) - mean (282ms)  : 274, 291
    master - mean (277ms)  : 273, 282

    section Bailout
    This PR (7806) - mean (279ms)  : 275, 283
    master - mean (277ms)  : 273, 282

    section CallTarget+Inlining+NGEN
    This PR (7806) - mean (919ms)  : 867, 972
    master - mean (898ms)  : 861, 935

HttpMessageHandler (.NET 6)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7806) - mean (273ms)  : 267, 279
    master - mean (276ms)  : 270, 283

    section Bailout
    This PR (7806) - mean (272ms)  : 268, 276
    master - mean (275ms)  : 266, 284

    section CallTarget+Inlining+NGEN
    This PR (7806) - mean (893ms)  : 845, 940
    master - mean (883ms)  : 842, 923

HttpMessageHandler (.NET 8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7806) - mean (271ms)  : 266, 277
    master - mean (272ms)  : 263, 280

    section Bailout
    This PR (7806) - mean (271ms)  : 267, 275
    master - mean (269ms)  : 267, 272

    section CallTarget+Inlining+NGEN
    This PR (7806) - mean (832ms)  : 810, 854
    master - mean (825ms)  : 804, 845

⚠️ Tests

⚠️ Warnings

🧪 576 Tests failed

SubmitsTraces from Datadog.Trace.ClrProfiler.IntegrationTests.ServiceStackRedisTests (Datadog)
Expected exit code: 0, actual exit code: 139.
TryExtract_WithAllValidHeaders_ReturnsTrue from Datadog.Trace.ClrProfiler.Managed.Tests.AutoInstrumentation.Proxy.AzureApiManagementExtractorTests (Datadog)
Expected boolean to be True, but found False.
TryExtract_WithAllValidHeaders_ReturnsTrue from Datadog.Trace.ClrProfiler.Managed.Tests.AutoInstrumentation.Proxy.AzureApiManagementExtractorTests (Datadog)
Expected success to be True, but found False.
View all

ℹ️ Info

❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 548370a | Docs | Datadog PR Page | Was this helpful? Give us feedback!

datadog-official[bot] avatar Nov 12 '25 21:11 datadog-official[bot]