Skip to content

Conversation

@pablomartinezbernardo
Copy link
Contributor

@pablomartinezbernardo pablomartinezbernardo commented Nov 4, 2025

Summary of changes

Same issue with flaky tests as #7734, I missed more usages of the function

The test expectations were incorrect, as ReadEventsFromPartitionAsync may call ReceiveAsync several times depending on timing.

@pablomartinezbernardo pablomartinezbernardo changed the title Integration tests for event hubs reading from partitions should expec… Fix (more) EventHubs flaky batch tests Nov 4, 2025
@github-actions github-actions bot added the area:tests unit tests, integration tests label Nov 4, 2025
@pr-commenter
Copy link

pr-commenter bot commented Nov 4, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7768 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.124
  • 1 benchmarks are slower, with geometric mean 1.172
  • 6 benchmarks have fewer allocations
  • 3 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 ✔️ More allocations ⚠️

More allocations ⚠️ in #7768

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 6.01 KB 6.12 KB 112 B 1.86%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.6μs 59ns 364ns 0 0 0 5.51 KB
master StartStopWithChild netcoreapp3.1 13.7μs 71.9ns 360ns 0 0 0 5.69 KB
master StartStopWithChild net472 22μs 116ns 567ns 0.992 0.298 0.0992 6.01 KB
#7768 StartStopWithChild net6.0 10.5μs 56.6ns 315ns 0 0 0 5.51 KB
#7768 StartStopWithChild netcoreapp3.1 13.4μs 43.2ns 162ns 0 0 0 5.71 KB
#7768 StartStopWithChild net472 22.2μs 122ns 732ns 0.966 0.322 0 6.12 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 939μs 39.9ns 144ns 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 60.7ns 219ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.2ms 84ns 325ns 0 0 0 3.31 KB
#7768 WriteAndFlushEnrichedTraces net6.0 932μs 36.8ns 128ns 0 0 0 2.71 KB
#7768 WriteAndFlushEnrichedTraces netcoreapp3.1 1.04ms 36.9ns 133ns 0 0 0 2.7 KB
#7768 WriteAndFlushEnrichedTraces net472 1.19ms 629ns 2.43μs 0 0 0 3.31 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 1.08μs 6.15ns 37.4ns 0 0 0 1.22 KB
master AllCycleSimpleBody netcoreapp3.1 1.43μs 7.52ns 36.1ns 0 0 0 1.2 KB
master AllCycleSimpleBody net472 1.03μs 0.365ns 1.37ns 0.191 0 0 1.23 KB
master AllCycleMoreComplexBody net6.0 7.06μs 34.1ns 136ns 0 0 0 4.72 KB
master AllCycleMoreComplexBody netcoreapp3.1 9.1μs 43.1ns 172ns 0 0 0 4.62 KB
master AllCycleMoreComplexBody net472 7.66μs 1.72ns 6.66ns 0.726 0 0 4.74 KB
master ObjectExtractorSimpleBody net6.0 323ns 0.123ns 0.426ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 393ns 2.21ns 14.7ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 298ns 0.0487ns 0.188ns 0.0436 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.26μs 29.8ns 119ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.96μs 4.73ns 18.3ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.72μs 0.532ns 1.99ns 0.57 0 0 3.8 KB
#7768 AllCycleSimpleBody net6.0 1.11μs 6.01ns 35.5ns 0 0 0 1.22 KB
#7768 AllCycleSimpleBody netcoreapp3.1 1.39μs 7.82ns 53.6ns 0 0 0 1.2 KB
#7768 AllCycleSimpleBody net472 1.04μs 0.273ns 0.984ns 0.194 0 0 1.23 KB
#7768 AllCycleMoreComplexBody net6.0 7.03μs 6.06ns 22.7ns 0 0 0 4.72 KB
#7768 AllCycleMoreComplexBody netcoreapp3.1 8.89μs 44.5ns 194ns 0 0 0 4.62 KB
#7768 AllCycleMoreComplexBody net472 7.68μs 2.51ns 9.74ns 0.728 0 0 4.74 KB
#7768 ObjectExtractorSimpleBody net6.0 323ns 1.72ns 8.95ns 0 0 0 280 B
#7768 ObjectExtractorSimpleBody netcoreapp3.1 395ns 2.21ns 13.6ns 0 0 0 272 B
#7768 ObjectExtractorSimpleBody net472 295ns 0.024ns 0.0898ns 0.0432 0 0 281 B
#7768 ObjectExtractorMoreComplexBody net6.0 6.32μs 30.4ns 118ns 0 0 0 3.78 KB
#7768 ObjectExtractorMoreComplexBody netcoreapp3.1 7.93μs 29.6ns 115ns 0 0 0 3.69 KB
#7768 ObjectExtractorMoreComplexBody net472 6.69μs 3.86ns 14.5ns 0.603 0 0 3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EncodeArgs net6.0 76.8μs 358ns 1.39μs 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 97.5μs 262ns 1.02μs 0 0 0 32.4 KB
master EncodeArgs net472 110μs 26.5ns 99.1ns 4.93 0 0 32.5 KB
master EncodeLegacyArgs net6.0 144μs 38.9ns 140ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 196μs 167ns 647ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 262μs 21.8ns 78.7ns 0 0 0 2.16 KB
#7768 EncodeArgs net6.0 77.2μs 22.7ns 88ns 0 0 0 32.4 KB
#7768 EncodeArgs netcoreapp3.1 96.4μs 376ns 1.46μs 0 0 0 32.4 KB
#7768 EncodeArgs net472 109μs 95.3ns 369ns 4.95 0 0 32.51 KB
#7768 EncodeLegacyArgs net6.0 144μs 26.4ns 95ns 0 0 0 2.15 KB
#7768 EncodeLegacyArgs netcoreapp3.1 198μs 347ns 1.34μs 0 0 0 2.14 KB
#7768 EncodeLegacyArgs net472 264μs 58.7ns 220ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 392μs 69.2ns 259ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 417μs 912ns 3.53μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 429μs 37.7ns 146ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 287μs 44.8ns 168ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 299μs 389ns 1.35μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 309μs 34.7ns 134ns 0 0 0 2.29 KB
#7768 RunWafRealisticBenchmark net6.0 396μs 123ns 462ns 0 0 0 4.55 KB
#7768 RunWafRealisticBenchmark netcoreapp3.1 420μs 87.9ns 341ns 0 0 0 4.48 KB
#7768 RunWafRealisticBenchmark net472 429μs 52.8ns 205ns 0 0 0 4.66 KB
#7768 RunWafRealisticBenchmarkWithAttack net6.0 287μs 124ns 480ns 0 0 0 2.24 KB
#7768 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 300μs 88.8ns 344ns 0 0 0 2.22 KB
#7768 RunWafRealisticBenchmarkWithAttack net472 311μs 48.3ns 181ns 0 0 0 2.29 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 61.5μs 134ns 464ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 70.9μs 93.8ns 338ns 0 0 0 17.42 KB
master SendRequest net472 0.00293ns 0.00126ns 0.00471ns 0 0 0 0 b
#7768 SendRequest net6.0 61.2μs 88.5ns 319ns 0 0 0 14.52 KB
#7768 SendRequest netcoreapp3.1 70.9μs 78.5ns 283ns 0 0 0 17.42 KB
#7768 SendRequest net472 0.0022ns 0.00113ns 0.0044ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #7768

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 1.124 905,853.85 805,739.06

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 2.06ms 4.15μs 16.1μs 0 0 0 640 KB
master OriginalCharSlice netcoreapp3.1 2.24ms 5.18μs 18.7μs 0 0 0 640 KB
master OriginalCharSlice net472 2.74ms 205ns 792ns 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.4ms 225ns 842ns 0 0 0 6 B
master OptimizedCharSlice netcoreapp3.1 1.7ms 405ns 1.57μs 0 0 0 1 B
master OptimizedCharSlice net472 1.9ms 344ns 1.33μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 906μs 102ns 394ns 0 0 0 1 B
master OptimizedCharSliceWithPool netcoreapp3.1 806μs 104ns 404ns 0 0 0 1 B
master OptimizedCharSliceWithPool net472 1.13ms 89.1ns 345ns 0 0 0 0 b
#7768 OriginalCharSlice net6.0 1.91ms 323ns 1.21μs 0 0 0 640.01 KB
#7768 OriginalCharSlice netcoreapp3.1 2.14ms 2.53μs 9.46μs 0 0 0 640 KB
#7768 OriginalCharSlice net472 2.66ms 413ns 1.6μs 100 0 0 641.95 KB
#7768 OptimizedCharSlice net6.0 1.4ms 644ns 2.49μs 0 0 0 6 B
#7768 OptimizedCharSlice netcoreapp3.1 1.67ms 324ns 1.25μs 0 0 0 1 B
#7768 OptimizedCharSlice net472 1.93ms 194ns 751ns 0 0 0 0 b
#7768 OptimizedCharSliceWithPool net6.0 806μs 42ns 157ns 0 0 0 1 B
#7768 OptimizedCharSliceWithPool netcoreapp3.1 812μs 176ns 682ns 0 0 0 1 B
#7768 OptimizedCharSliceWithPool net472 1.18ms 187ns 726ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Slower ⚠️ More allocations ⚠️

Slower ⚠️ in #7768

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 1.172 629,302.73 737,646.88

More allocations ⚠️ in #7768

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 56.01 KB 56.7 KB 683 B 1.22%

Fewer allocations 🎉 in #7768

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 42.61 KB 41.72 KB -888 B -2.08%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 634μs 2.1μs 8.13μs 0 0 0 42.61 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 799μs 4.42μs 26.9μs 0 0 0 41.73 KB
master WriteAndFlushEnrichedTraces net472 838μs 3.53μs 13.7μs 8.33 0 0 56.01 KB
#7768 WriteAndFlushEnrichedTraces net6.0 738μs 668ns 2.5μs 0 0 0 41.72 KB
#7768 WriteAndFlushEnrichedTraces netcoreapp3.1 734μs 4.26μs 35.9μs 0 0 0 41.82 KB
#7768 WriteAndFlushEnrichedTraces net472 898μs 2.36μs 8.82μs 8.33 0 0 56.7 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.89μs 9.28ns 39.4ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.56μs 12.9ns 56.2ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.94μs 2.76ns 10.7ns 0.145 0.0145 0 987 B
#7768 ExecuteNonQuery net6.0 1.86μs 9.19ns 42.1ns 0 0 0 1.02 KB
#7768 ExecuteNonQuery netcoreapp3.1 2.59μs 5.27ns 20.4ns 0 0 0 1.02 KB
#7768 ExecuteNonQuery net472 2.88μs 2.5ns 9.68ns 0.155 0.0141 0 987 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.73μs 8.03ns 35ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.23μs 8.68ns 33.6ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.62μs 2.68ns 10.4ns 0.162 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.83μs 9.02ns 38.3ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.32μs 11.2ns 43.3ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.75μs 3.71ns 14.4ns 0.168 0 0 1.1 KB
#7768 CallElasticsearch net6.0 1.82μs 1.54ns 5.75ns 0 0 0 1.03 KB
#7768 CallElasticsearch netcoreapp3.1 2.2μs 10.5ns 43.3ns 0 0 0 1.03 KB
#7768 CallElasticsearch net472 3.66μs 1.6ns 6.19ns 0.165 0 0 1.04 KB
#7768 CallElasticsearchAsync net6.0 1.9μs 3.7ns 14.3ns 0 0 0 1.01 KB
#7768 CallElasticsearchAsync netcoreapp3.1 2.33μs 11.1ns 47.2ns 0 0 0 1.08 KB
#7768 CallElasticsearchAsync net472 3.7μs 3.81ns 14.8ns 0.167 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net6.0 1.94μs 10.7ns 45.3ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.39μs 5.09ns 19ns 0 0 0 952 B
master ExecuteAsync net472 2.6μs 1.38ns 5.34ns 0.142 0 0 915 B
#7768 ExecuteAsync net6.0 1.89μs 1.5ns 5.79ns 0 0 0 952 B
#7768 ExecuteAsync netcoreapp3.1 2.46μs 8.48ns 32.9ns 0 0 0 952 B
#7768 ExecuteAsync net472 2.57μs 0.934ns 3.5ns 0.142 0 0 915 B
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 6.91μs 21.8ns 81.6ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.86μs 20.4ns 78.9ns 0 0 0 2.9 KB
master SendAsync net472 12.5μs 11ns 42.5ns 0.5 0 0 3.18 KB
#7768 SendAsync net6.0 6.94μs 16.1ns 62.2ns 0 0 0 2.36 KB
#7768 SendAsync netcoreapp3.1 8.78μs 23.9ns 92.5ns 0 0 0 2.9 KB
#7768 SendAsync net472 12.3μs 8.39ns 32.5ns 0.489 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7768

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 294.91 KB 409.62 KB 114.71 KB 38.90%

Fewer allocations 🎉 in #7768

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 43.85 KB 43.49 KB -360 B -0.82%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 43.22 KB 42.81 KB -408 B -0.94%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 259.31 KB 256.15 KB -3.16 KB -1.22%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 278.66 KB 275.03 KB -3.62 KB -1.30%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 65.54 KB 57.34 KB -8.19 KB -12.50%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 45μs 261ns 1.97μs 0 0 0 43.85 KB
master StringConcatBenchmark netcoreapp3.1 46.8μs 196ns 1.24μs 0 0 0 43.22 KB
master StringConcatBenchmark net472 57.2μs 204ns 734ns 0 0 0 65.54 KB
master StringConcatAspectBenchmark net6.0 479μs 2.16μs 7.47μs 0 0 0 278.66 KB
master StringConcatAspectBenchmark netcoreapp3.1 519μs 2.4μs 9.91μs 0 0 0 259.31 KB
master StringConcatAspectBenchmark net472 397μs 1.91μs 7.39μs 0 0 0 294.91 KB
#7768 StringConcatBenchmark net6.0 43.4μs 216ns 1.28μs 0 0 0 43.49 KB
#7768 StringConcatBenchmark netcoreapp3.1 49.1μs 296ns 2.84μs 0 0 0 42.81 KB
#7768 StringConcatBenchmark net472 57.9μs 90.3ns 313ns 0 0 0 57.34 KB
#7768 StringConcatAspectBenchmark net6.0 481μs 2.26μs 9.86μs 0 0 0 275.03 KB
#7768 StringConcatAspectBenchmark netcoreapp3.1 510μs 1.73μs 6.23μs 0 0 0 256.15 KB
#7768 StringConcatAspectBenchmark net472 399μs 2.12μs 16.8μs 0 0 0 409.62 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.61μs 11.9ns 46ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.62μs 16.9ns 67.4ns 0 0 0 1.7 KB
master EnrichedLog net472 3.97μs 5.26ns 19.7ns 0.257 0 0 1.64 KB
#7768 EnrichedLog net6.0 2.69μs 12.4ns 49.7ns 0 0 0 1.7 KB
#7768 EnrichedLog netcoreapp3.1 3.58μs 17.8ns 75.4ns 0 0 0 1.7 KB
#7768 EnrichedLog net472 4.05μs 3.97ns 15.4ns 0.24 0 0 1.64 KB
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 126μs 300ns 1.12μs 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 127μs 161ns 582ns 0 0 0 4.31 KB
master EnrichedLog net472 165μs 68.1ns 264ns 0 0 0 4.51 KB
#7768 EnrichedLog net6.0 127μs 308ns 1.19μs 0 0 0 4.31 KB
#7768 EnrichedLog netcoreapp3.1 127μs 112ns 403ns 0 0 0 4.31 KB
#7768 EnrichedLog net472 167μs 40.7ns 158ns 0 0 0 4.52 KB
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 5.04μs 6.22ns 24.1ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.63μs 4.1ns 15.3ns 0 0 0 2.26 KB
master EnrichedLog net472 7.73μs 6.31ns 24.4ns 0.307 0 0 2.08 KB
#7768 EnrichedLog net6.0 5.15μs 12.2ns 45.7ns 0 0 0 2.26 KB
#7768 EnrichedLog netcoreapp3.1 6.88μs 10ns 38.9ns 0 0 0 2.26 KB
#7768 EnrichedLog net472 7.82μs 5.98ns 23.1ns 0.312 0 0 2.08 KB
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 1.98μs 9.71ns 43.4ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.65μs 11.7ns 45.4ns 0 0 0 1.2 KB
master SendReceive net472 3.07μs 2.71ns 10.5ns 0.184 0 0 1.2 KB
#7768 SendReceive net6.0 2.07μs 10.3ns 45.1ns 0 0 0 1.2 KB
#7768 SendReceive netcoreapp3.1 2.61μs 11.8ns 45.5ns 0 0 0 1.2 KB
#7768 SendReceive net472 3.18μs 5.73ns 22.2ns 0.189 0 0 1.2 KB
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 4.2μs 1.09ns 4.09ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.57μs 25.3ns 98.2ns 0 0 0 1.63 KB
master EnrichedLog net472 6.43μs 8.98ns 34.8ns 0.32 0 0 2.03 KB
#7768 EnrichedLog net6.0 4.14μs 8.56ns 33.2ns 0 0 0 1.58 KB
#7768 EnrichedLog netcoreapp3.1 5.64μs 6.96ns 27ns 0 0 0 1.63 KB
#7768 EnrichedLog net472 6.46μs 8.61ns 33.3ns 0.29 0 0 2.03 KB
Benchmarks.Trace.SpanBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 775ns 0.218ns 0.814ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 992ns 4.47ns 17.3ns 0 0 0 576 B
master StartFinishSpan net472 928ns 0.715ns 2.67ns 0.0882 0 0 578 B
master StartFinishScope net6.0 950ns 3.52ns 13.6ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.2μs 6.37ns 32.5ns 0 0 0 696 B
master StartFinishScope net472 1.11μs 1.77ns 6.86ns 0.104 0 0 658 B
#7768 StartFinishSpan net6.0 769ns 4.04ns 21.4ns 0 0 0 576 B
#7768 StartFinishSpan netcoreapp3.1 977ns 4.96ns 23.8ns 0 0 0 576 B
#7768 StartFinishSpan net472 921ns 0.386ns 1.5ns 0.0879 0 0 578 B
#7768 StartFinishScope net6.0 924ns 4.88ns 23.9ns 0 0 0 696 B
#7768 StartFinishScope netcoreapp3.1 1.2μs 6.26ns 32.5ns 0 0 0 696 B
#7768 StartFinishScope net472 1.12μs 1.06ns 4.11ns 0.101 0 0 658 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 1.06μs 4.18ns 16.2ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.47μs 7.62ns 35.7ns 0 0 0 696 B
master RunOnMethodBegin net472 1.47μs 1.21ns 4.68ns 0.104 0 0 658 B
#7768 RunOnMethodBegin net6.0 1.09μs 5.18ns 20.7ns 0 0 0 696 B
#7768 RunOnMethodBegin netcoreapp3.1 1.44μs 6.35ns 24.6ns 0 0 0 696 B
#7768 RunOnMethodBegin net472 1.47μs 2.32ns 8.67ns 0.102 0 0 658 B

@dd-trace-dotnet-ci-bot
Copy link

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing This PR (7768) 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
duration68.03 ± (68.03 - 68.28) ms68.19 ± (68.16 - 68.38) ms+0.2%✅⬆️
.NET Framework 4.8 - Bailout
duration71.86 ± (71.70 - 71.93) ms71.74 ± (71.62 - 71.77) ms-0.2%
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1039.88 ± (1042.74 - 1049.46) ms1043.11 ± (1046.01 - 1053.62) ms+0.3%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms21.89 ± (21.87 - 21.92) ms21.84 ± (21.81 - 21.86) ms-0.3%
process.time_to_main_ms78.73 ± (78.57 - 78.88) ms78.71 ± (78.55 - 78.87) ms-0.0%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.89 ± (10.89 - 10.90) MB10.89 ± (10.89 - 10.90) MB-0.0%
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms21.74 ± (21.72 - 21.77) ms21.79 ± (21.77 - 21.81) ms+0.2%✅⬆️
process.time_to_main_ms79.62 ± (79.53 - 79.70) ms79.83 ± (79.74 - 79.93) ms+0.3%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.93 ± (10.92 - 10.93) MB10.93 ± (10.92 - 10.93) MB+0.0%✅⬆️
runtime.dotnet.threads.count13 ± (13 - 13)13 ± (13 - 13)+0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms208.32 ± (206.94 - 209.70) ms209.67 ± (208.20 - 211.13) ms+0.6%✅⬆️
process.time_to_main_ms514.08 ± (513.57 - 514.59) ms515.22 ± (514.75 - 515.68) ms+0.2%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed52.68 ± (52.65 - 52.70) MB52.59 ± (52.57 - 52.62) MB-0.2%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.0%
.NET 6 - Baseline
process.internal_duration_ms20.64 ± (20.61 - 20.67) ms20.65 ± (20.62 - 20.67) ms+0.0%✅⬆️
process.time_to_main_ms67.83 ± (67.69 - 67.96) ms67.78 ± (67.68 - 67.89) ms-0.1%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.58 ± (10.58 - 10.58) MB10.60 ± (10.60 - 10.60) MB+0.2%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms20.57 ± (20.54 - 20.60) ms20.67 ± (20.65 - 20.69) ms+0.5%✅⬆️
process.time_to_main_ms68.62 ± (68.57 - 68.67) ms68.84 ± (68.79 - 68.90) ms+0.3%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.63 ± (10.63 - 10.64) MB10.63 ± (10.63 - 10.64) MB+0.0%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms201.91 ± (199.24 - 204.57) ms199.15 ± (197.07 - 201.24) ms-1.4%
process.time_to_main_ms482.62 ± (482.07 - 483.17) ms482.57 ± (482.08 - 483.06) ms-0.0%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed51.70 ± (51.64 - 51.76) MB51.50 ± (51.43 - 51.56) MB-0.4%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)-0.0%
.NET 8 - Baseline
process.internal_duration_ms18.98 ± (18.95 - 19.01) ms18.87 ± (18.85 - 18.90) ms-0.5%
process.time_to_main_ms67.11 ± (66.99 - 67.23) ms66.97 ± (66.87 - 67.07) ms-0.2%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.64 ± (7.63 - 7.65) MB7.62 ± (7.61 - 7.62) MB-0.3%
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms18.89 ± (18.86 - 18.92) ms18.81 ± (18.78 - 18.83) ms-0.4%
process.time_to_main_ms68.07 ± (68.00 - 68.14) ms67.99 ± (67.94 - 68.04) ms-0.1%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.68 ± (7.67 - 7.68) MB7.67 ± (7.66 - 7.68) MB-0.1%
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms176.75 ± (175.74 - 177.75) ms176.24 ± (175.38 - 177.09) ms-0.3%
process.time_to_main_ms458.05 ± (457.56 - 458.54) ms454.54 ± (454.02 - 455.05) ms-0.8%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed38.64 ± (38.62 - 38.67) MB38.64 ± (38.62 - 38.67) MB+0.0%✅⬆️
runtime.dotnet.threads.count27 ± (27 - 27)27 ± (27 - 27)-0.2%

HttpMessageHandler

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration191.06 ± (190.77 - 191.52) ms191.48 ± (191.08 - 191.90) ms+0.2%✅⬆️
.NET Framework 4.8 - Bailout
duration194.56 ± (194.17 - 194.85) ms194.62 ± (194.44 - 195.16) ms+0.0%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1154.02 ± (1155.69 - 1163.85) ms1157.41 ± (1159.00 - 1166.49) ms+0.3%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms185.44 ± (185.05 - 185.83) ms186.04 ± (185.74 - 186.35) ms+0.3%✅⬆️
process.time_to_main_ms79.99 ± (79.73 - 80.25) ms79.80 ± (79.61 - 80.00) ms-0.2%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.14 ± (16.11 - 16.18) MB16.08 ± (16.06 - 16.11) MB-0.4%
runtime.dotnet.threads.count20 ± (20 - 20)20 ± (19 - 20)-1.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms185.57 ± (185.25 - 185.90) ms185.40 ± (184.94 - 185.87) ms-0.1%
process.time_to_main_ms81.36 ± (81.18 - 81.54) ms81.22 ± (81.05 - 81.38) ms-0.2%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.16 ± (16.12 - 16.19) MB16.05 ± (15.96 - 16.14) MB-0.7%
runtime.dotnet.threads.count21 ± (21 - 21)20 ± (20 - 21)-1.9%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms390.88 ± (388.44 - 393.32) ms390.37 ± (387.98 - 392.75) ms-0.1%
process.time_to_main_ms514.28 ± (513.43 - 515.14) ms513.36 ± (512.69 - 514.03) ms-0.2%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed62.78 ± (62.62 - 62.93) MB62.72 ± (62.57 - 62.88) MB-0.1%
runtime.dotnet.threads.count29 ± (29 - 30)29 ± (29 - 29)-0.0%
.NET 6 - Baseline
process.internal_duration_ms191.37 ± (190.95 - 191.79) ms189.94 ± (189.48 - 190.41) ms-0.7%
process.time_to_main_ms69.44 ± (69.27 - 69.61) ms69.21 ± (69.04 - 69.37) ms-0.3%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.17 ± (16.06 - 16.27) MB15.90 ± (15.78 - 16.03) MB-1.6%
runtime.dotnet.threads.count19 ± (19 - 19)18 ± (18 - 18)-4.5%
.NET 6 - Bailout
process.internal_duration_ms190.99 ± (190.68 - 191.31) ms189.22 ± (188.88 - 189.56) ms-0.9%
process.time_to_main_ms70.56 ± (70.41 - 70.71) ms70.17 ± (70.05 - 70.29) ms-0.6%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.04 ± (15.89 - 16.18) MB15.90 ± (15.73 - 16.06) MB-0.9%
runtime.dotnet.threads.count20 ± (19 - 20)19 ± (19 - 19)-3.3%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms409.44 ± (406.17 - 412.71) ms406.58 ± (403.60 - 409.56) ms-0.7%
process.time_to_main_ms486.04 ± (485.37 - 486.71) ms484.94 ± (484.26 - 485.63) ms-0.2%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed62.07 ± (61.93 - 62.21) MB61.94 ± (61.79 - 62.09) MB-0.2%
runtime.dotnet.threads.count29 ± (29 - 30)29 ± (29 - 30)+0.0%✅⬆️
.NET 8 - Baseline
process.internal_duration_ms188.38 ± (187.98 - 188.78) ms187.63 ± (187.28 - 187.99) ms-0.4%
process.time_to_main_ms68.86 ± (68.67 - 69.06) ms68.82 ± (68.67 - 68.98) ms-0.1%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.79 ± (11.76 - 11.82) MB11.66 ± (11.59 - 11.74) MB-1.0%
runtime.dotnet.threads.count18 ± (18 - 18)18 ± (18 - 18)-1.2%
.NET 8 - Bailout
process.internal_duration_ms186.53 ± (186.04 - 187.03) ms187.85 ± (187.39 - 188.32) ms+0.7%✅⬆️
process.time_to_main_ms69.71 ± (69.53 - 69.90) ms69.99 ± (69.79 - 70.19) ms+0.4%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.67 ± (11.57 - 11.76) MB11.76 ± (11.70 - 11.82) MB+0.8%✅⬆️
runtime.dotnet.threads.count19 ± (18 - 19)19 ± (19 - 19)+2.6%✅⬆️
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms357.88 ± (356.35 - 359.41) ms356.94 ± (355.40 - 358.49) ms-0.3%
process.time_to_main_ms463.76 ± (462.96 - 464.57) ms457.63 ± (456.90 - 458.36) ms-1.3%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed50.40 ± (50.37 - 50.44) MB50.42 ± (50.38 - 50.46) MB+0.0%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)+0.1%✅⬆️
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 (7768) - mean (68ms)  : 67, 70
    master - mean (68ms)  : 67, 70

    section Bailout
    This PR (7768) - mean (72ms)  : 71, 72
    master - mean (72ms)  : 71, 73

    section CallTarget+Inlining+NGEN
    This PR (7768) - mean (1,050ms)  : 996, 1104
    master - mean (1,046ms)  : 998, 1094

Loading
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 (7768) - mean (106ms)  : 103, 108
    master - mean (106ms)  : 103, 109

    section Bailout
    This PR (7768) - mean (107ms)  : 106, 108
    master - mean (106ms)  : 105, 107

    section CallTarget+Inlining+NGEN
    This PR (7768) - mean (752ms)  : 723, 780
    master - mean (749ms)  : 719, 778

Loading
FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7768) - mean (93ms)  : 91, 95
    master - mean (93ms)  : 91, 95

    section Bailout
    This PR (7768) - mean (94ms)  : 93, 95
    master - mean (94ms)  : 93, 95

    section CallTarget+Inlining+NGEN
    This PR (7768) - mean (709ms)  : 676, 742
    master - mean (714ms)  : 672, 755

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7768) - mean (92ms)  : 90, 94
    master - mean (92ms)  : 89, 95

    section Bailout
    This PR (7768) - mean (93ms)  : 92, 94
    master - mean (93ms)  : 92, 94

    section CallTarget+Inlining+NGEN
    This PR (7768) - mean (658ms)  : 644, 672
    master - mean (662ms)  : 648, 676

Loading
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 (7768) - mean (191ms)  : 187, 196
    master - mean (191ms)  : 188, 195

    section Bailout
    This PR (7768) - mean (195ms)  : 191, 198
    master - mean (195ms)  : 191, 198

    section CallTarget+Inlining+NGEN
    This PR (7768) - mean (1,163ms)  : 1109, 1216
    master - mean (1,160ms)  : 1102, 1218

Loading
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 (7768) - mean (274ms)  : 269, 279
    master - mean (274ms)  : 266, 281

    section Bailout
    This PR (7768) - mean (274ms)  : 269, 280
    master - mean (275ms)  : 270, 280

    section CallTarget+Inlining+NGEN
    This PR (7768) - mean (939ms)  : 894, 985
    master - mean (942ms)  : 901, 983

Loading
HttpMessageHandler (.NET 6)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7768) - mean (267ms)  : 260, 275
    master - mean (269ms)  : 263, 275

    section Bailout
    This PR (7768) - mean (267ms)  : 263, 272
    master - mean (270ms)  : 265, 275

    section CallTarget+Inlining+NGEN
    This PR (7768) - mean (923ms)  : 876, 970
    master - mean (928ms)  : 867, 989

Loading
HttpMessageHandler (.NET 8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7768) - mean (266ms)  : 260, 272
    master - mean (267ms)  : 260, 273

    section Bailout
    This PR (7768) - mean (267ms)  : 261, 273
    master - mean (265ms)  : 258, 272

    section CallTarget+Inlining+NGEN
    This PR (7768) - mean (847ms)  : 824, 869
    master - mean (852ms)  : 833, 872

Loading

@pablomartinezbernardo pablomartinezbernardo marked this pull request as ready for review November 4, 2025 12:13
@pablomartinezbernardo pablomartinezbernardo requested review from a team as code owners November 4, 2025 12:13
Copy link
Member

@andrewlock andrewlock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect, thank you!

@andrewlock andrewlock merged commit 17fa7c7 into master Nov 4, 2025
154 checks passed
@andrewlock andrewlock deleted the pmartinez/flaky-2 branch November 4, 2025 12:25
@github-actions github-actions bot added this to the vNext-v3 milestone Nov 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:tests unit tests, integration tests type:flake-fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants