Skip to content

Conversation

@link04
Copy link
Contributor

@link04 link04 commented Oct 30, 2025

Summary of changes

Reason for change

Implementation details

Test coverage

Other details

@pr-commenter
Copy link

pr-commenter bot commented Oct 30, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7745 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.175
  • 2 benchmarks are slower, with geometric mean 2.241
  • 33 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 - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 5.73 KB 5.69 KB -41 B -0.72%
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net6.0 5.52 KB 0 b -5.52 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.7μs 58.9ns 372ns 0 0 0 5.52 KB
master StartStopWithChild netcoreapp3.1 14.1μs 70.5ns 299ns 0 0 0 5.73 KB
master StartStopWithChild net472 21.8μs 120ns 700ns 0.879 0.22 0 6.09 KB
#7745 StartStopWithChild net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 StartStopWithChild netcoreapp3.1 13.3μs 28.6ns 103ns 0 0 0 5.69 KB
#7745 StartStopWithChild net472 21.7μs 107ns 479ns 0.965 0.214 0 6.1 KB
Benchmarks.Trace.AgentWriterBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 2.71 KB 0 b -2.71 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 935μs 88.7ns 332ns 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.05ms 254ns 916ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.2ms 72.6ns 262ns 0 0 0 3.31 KB
#7745 WriteAndFlushEnrichedTraces net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 WriteAndFlushEnrichedTraces netcoreapp3.1 1.03ms 46.9ns 169ns 0 0 0 2.7 KB
#7745 WriteAndFlushEnrichedTraces net472 1.2ms 83.2ns 288ns 0 0 0 3.31 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody‑net6.0 280 B 0 b -280 B -100.00%
Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorMoreComplexBody‑net6.0 3.78 KB 0 b -3.78 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleSimpleBody netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleSimpleBody net472 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleMoreComplexBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleMoreComplexBody netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleMoreComplexBody net472 N/A N/A N/A NaN NaN NaN 0 b
master ObjectExtractorSimpleBody net6.0 317ns 1.78ns 10.7ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 403ns 1.94ns 8.01ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 297ns 0.0342ns 0.133ns 0.0432 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.25μs 29.6ns 115ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.9μs 31.6ns 122ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.68μs 8.12ns 31.4ns 0.602 0 0 3.8 KB
#7745 AllCycleSimpleBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 AllCycleSimpleBody netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#7745 AllCycleSimpleBody net472 N/A N/A N/A NaN NaN NaN 0 b
#7745 AllCycleMoreComplexBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 AllCycleMoreComplexBody netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#7745 AllCycleMoreComplexBody net472 N/A N/A N/A NaN NaN NaN 0 b
#7745 ObjectExtractorSimpleBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 ObjectExtractorSimpleBody netcoreapp3.1 404ns 2.13ns 10.2ns 0 0 0 272 B
#7745 ObjectExtractorSimpleBody net472 306ns 0.0175ns 0.0678ns 0.0444 0 0 281 B
#7745 ObjectExtractorMoreComplexBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 ObjectExtractorMoreComplexBody netcoreapp3.1 7.8μs 34.8ns 135ns 0 0 0 3.69 KB
#7745 ObjectExtractorMoreComplexBody net472 6.62μs 1.83ns 7.08ns 0.596 0 0 3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Unknown 🤷 More allocations ⚠️

More allocations ⚠️ in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs‑net472 2.16 KB 2.17 KB 13 B 0.60%

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeArgs‑net6.0 32.4 KB 0 b -32.4 KB -100.00%
Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs‑net6.0 2.15 KB 0 b -2.15 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EncodeArgs net6.0 75.9μs 202ns 783ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 96.6μs 198ns 765ns 0 0 0 32.4 KB
master EncodeArgs net472 112μs 10.3ns 40ns 5.06 0 0 32.51 KB
master EncodeLegacyArgs net6.0 143μs 36.4ns 141ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 201μs 718ns 2.78μs 0 0 0 2.14 KB
master EncodeLegacyArgs net472 263μs 15.7ns 54.3ns 0 0 0 2.16 KB
#7745 EncodeArgs net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 EncodeArgs netcoreapp3.1 96.6μs 287ns 1.11μs 0 0 0 32.4 KB
#7745 EncodeArgs net472 110μs 13.1ns 50.7ns 4.93 0 0 32.51 KB
#7745 EncodeLegacyArgs net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 EncodeLegacyArgs netcoreapp3.1 197μs 171ns 639ns 0 0 0 2.14 KB
#7745 EncodeLegacyArgs net472 266μs 35.3ns 137ns 0 0 0 2.17 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Slower ⚠️ Fewer allocations 🎉

Slower ⚠️ in #7745

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑netcoreapp3.1 2.408 296,327.98 713,621.58
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 2.085 410,119.38 855,154.90

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑net6.0 4.55 KB 0 b -4.55 KB -100.00%
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑net6.0 2.24 KB 0 b -2.24 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 399μs 74.4ns 278ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 410μs 49.2ns 177ns 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 426μs 27.3ns 98.4ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 284μs 59.7ns 231ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 297μs 408ns 1.58μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 309μs 24.8ns 95.9ns 0 0 0 2.29 KB
#7745 RunWafRealisticBenchmark net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 RunWafRealisticBenchmark netcoreapp3.1 851μs 2.81μs 10.1μs 0 0 0 4.48 KB
#7745 RunWafRealisticBenchmark net472 429μs 66.2ns 256ns 0 0 0 4.66 KB
#7745 RunWafRealisticBenchmarkWithAttack net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 706μs 4.83μs 48.3μs 0 0 0 2.22 KB
#7745 RunWafRealisticBenchmarkWithAttack net472 310μs 45.2ns 175ns 0 0 0 2.29 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑net6.0 14.52 KB 0 b -14.52 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 60.6μs 76.1ns 295ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 71.2μs 96.7ns 362ns 0 0 0 17.42 KB
master SendRequest net472 0.00505ns 0.00176ns 0.00682ns 0 0 0 0 b
#7745 SendRequest net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 SendRequest netcoreapp3.1 72.5μs 101ns 364ns 0 0 0 17.42 KB
#7745 SendRequest net472 0.00526ns 0.0017ns 0.00657ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OriginalCharSlice‑net6.0 640.01 KB 0 b -640.01 KB -100.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 6 B 0 b -6 B -100.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 1 B 0 b -1 B -100.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 1 B 0 b -1 B -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.9ms 4.97μs 18.6μs 0 0 0 640.01 KB
master OriginalCharSlice netcoreapp3.1 2.11ms 5.43μs 21μs 0 0 0 640 KB
master OriginalCharSlice net472 2.63ms 180ns 675ns 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.43ms 343ns 1.33μs 0 0 0 6 B
master OptimizedCharSlice netcoreapp3.1 1.67ms 367ns 1.37μs 0 0 0 1 B
master OptimizedCharSlice net472 1.91ms 299ns 1.16μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 903μs 33.7ns 130ns 0 0 0 1 B
master OptimizedCharSliceWithPool netcoreapp3.1 812μs 117ns 454ns 0 0 0 1 B
master OptimizedCharSliceWithPool net472 1.14ms 84.4ns 316ns 0 0 0 0 b
#7745 OriginalCharSlice net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 OriginalCharSlice netcoreapp3.1 2.17ms 6.87μs 25.7μs 0 0 0 640 KB
#7745 OriginalCharSlice net472 2.66ms 289ns 1.08μs 100 0 0 641.95 KB
#7745 OptimizedCharSlice net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 OptimizedCharSlice netcoreapp3.1 1.79ms 431ns 1.67μs 0 0 0 1 B
#7745 OptimizedCharSlice net472 2.06ms 297ns 1.15μs 0 0 0 0 b
#7745 OptimizedCharSliceWithPool net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 OptimizedCharSliceWithPool netcoreapp3.1 825μs 190ns 736ns 0 0 0 0 b
#7745 OptimizedCharSliceWithPool net472 1.14ms 85.3ns 330ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Faster 🎉 More allocations ⚠️

Faster 🎉 in #7745

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 1.175 1,029,175.83 875,972.08

More allocations ⚠️ in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 42.11 KB 42.54 KB 427 B 1.01%

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 56.46 KB 55.78 KB -682 B -1.21%
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.51 KB 0 b -41.51 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 749μs 4.34μs 34.7μs 0 0 0 41.51 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 682μs 697ns 2.7μs 0 0 0 42.11 KB
master WriteAndFlushEnrichedTraces net472 1.03ms 3.46μs 12.5μs 8.33 0 0 56.46 KB
#7745 WriteAndFlushEnrichedTraces net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 WriteAndFlushEnrichedTraces netcoreapp3.1 726μs 4.18μs 33.9μs 0 0 0 42.54 KB
#7745 WriteAndFlushEnrichedTraces net472 873μs 2.78μs 10.8μs 8.33 0 0 55.78 KB
Benchmarks.Trace.DbCommandBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net6.0 1.02 KB 0 b -1.02 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.92μs 8.5ns 36.1ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.57μs 9.83ns 38.1ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.93μs 14.5ns 61.6ns 0.144 0.0144 0 987 B
#7745 ExecuteNonQuery net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 ExecuteNonQuery netcoreapp3.1 2.69μs 7.56ns 29.3ns 0 0 0 1.02 KB
#7745 ExecuteNonQuery net472 2.83μs 4.06ns 15.7ns 0.155 0.0141 0 987 B
Benchmarks.Trace.ElasticsearchBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net6.0 1.03 KB 0 b -1.03 KB -100.00%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net6.0 1.01 KB 0 b -1.01 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.67μs 8.19ns 34.7ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.26μs 11.4ns 49.6ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.76μs 3.38ns 13.1ns 0.15 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.87μs 1.53ns 5.91ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.34μs 3.99ns 15.5ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.75μs 6.56ns 25.4ns 0.168 0 0 1.1 KB
#7745 CallElasticsearch net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 CallElasticsearch netcoreapp3.1 2.21μs 11ns 51.8ns 0 0 0 1.03 KB
#7745 CallElasticsearch net472 3.53μs 2.45ns 9.49ns 0.158 0 0 1.04 KB
#7745 CallElasticsearchAsync net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 CallElasticsearchAsync netcoreapp3.1 2.45μs 8.66ns 33.5ns 0 0 0 1.08 KB
#7745 CallElasticsearchAsync net472 3.64μs 1.83ns 6.59ns 0.163 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net6.0 952 B 0 b -952 B -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net6.0 1.91μs 9.31ns 38.4ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.43μs 10.1ns 39.1ns 0 0 0 952 B
master ExecuteAsync net472 2.52μs 0.816ns 2.94ns 0.138 0 0 915 B
#7745 ExecuteAsync net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 ExecuteAsync netcoreapp3.1 2.47μs 4.15ns 16.1ns 0 0 0 952 B
#7745 ExecuteAsync net472 2.56μs 4.81ns 18ns 0.142 0 0 915 B
Benchmarks.Trace.HttpClientBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net6.0 2.36 KB 0 b -2.36 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 6.82μs 6.43ns 24.9ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.43μs 28.5ns 111ns 0 0 0 2.9 KB
master SendAsync net472 12.5μs 12.1ns 46.7ns 0.5 0 0 3.18 KB
#7745 SendAsync net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 SendAsync netcoreapp3.1 8.77μs 37.7ns 146ns 0 0 0 2.9 KB
#7745 SendAsync net472 12.1μs 11.7ns 45.5ns 0.483 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Unknown 🤷 More allocations ⚠️

More allocations ⚠️ in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 279.7 KB 286.72 KB 7.02 KB 2.51%

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 275.55 KB 272.25 KB -3.3 KB -1.20%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 44.72 KB 42.69 KB -2.03 KB -4.54%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 48.46 KB 0 b -48.46 KB -100.00%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 259.18 KB 0 b -259.18 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 46.1μs 259ns 1.7μs 0 0 0 48.46 KB
master StringConcatBenchmark netcoreapp3.1 46.3μs 205ns 1.14μs 0 0 0 44.72 KB
master StringConcatBenchmark net472 56.9μs 238ns 922ns 0 0 0 65.54 KB
master StringConcatAspectBenchmark net6.0 457μs 1.5μs 7.05μs 0 0 0 259.18 KB
master StringConcatAspectBenchmark netcoreapp3.1 510μs 2.1μs 7.28μs 0 0 0 275.55 KB
master StringConcatAspectBenchmark net472 404μs 1.98μs 13.4μs 0 0 0 279.7 KB
#7745 StringConcatBenchmark net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 StringConcatBenchmark netcoreapp3.1 48.8μs 284ns 2.31μs 0 0 0 42.69 KB
#7745 StringConcatBenchmark net472 56.1μs 277ns 1.18μs 0 0 0 65.54 KB
#7745 StringConcatAspectBenchmark net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 StringConcatAspectBenchmark netcoreapp3.1 527μs 2.27μs 7.87μs 0 0 0 272.25 KB
#7745 StringConcatAspectBenchmark net472 398μs 2.13μs 12.1μs 0 0 0 286.72 KB
Benchmarks.Trace.ILoggerBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net6.0 1.7 KB 0 b -1.7 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.66μs 12.4ns 49.6ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.67μs 2.02ns 7.83ns 0 0 0 1.7 KB
master EnrichedLog net472 3.84μs 3.3ns 12.8ns 0.25 0 0 1.64 KB
#7745 EnrichedLog net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 EnrichedLog netcoreapp3.1 3.63μs 6.35ns 23.8ns 0 0 0 1.7 KB
#7745 EnrichedLog net472 3.86μs 1.8ns 6.96ns 0.251 0 0 1.64 KB
Benchmarks.Trace.Log4netBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net6.0 4.31 KB 0 b -4.31 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 122μs 106ns 381ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 128μs 412ns 1.48μs 0 0 0 4.31 KB
master EnrichedLog net472 167μs 49ns 183ns 0 0 0 4.52 KB
#7745 EnrichedLog net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 EnrichedLog netcoreapp3.1 127μs 222ns 829ns 0 0 0 4.31 KB
#7745 EnrichedLog net472 167μs 182ns 704ns 0 0 0 4.52 KB
Benchmarks.Trace.NLogBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net6.0 2.26 KB 0 b -2.26 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 4.91μs 23.3ns 98.8ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.76μs 27ns 105ns 0 0 0 2.26 KB
master EnrichedLog net472 7.56μs 5.6ns 20.9ns 0.303 0 0 2.08 KB
#7745 EnrichedLog net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 EnrichedLog netcoreapp3.1 6.71μs 29.2ns 113ns 0 0 0 2.26 KB
#7745 EnrichedLog net472 7.45μs 5.52ns 20.6ns 0.299 0 0 2.08 KB
Benchmarks.Trace.RedisBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net6.0 1.2 KB 0 b -1.2 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 2.05μs 10.1ns 41.7ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.68μs 13.8ns 61.6ns 0 0 0 1.2 KB
master SendReceive net472 3.1μs 1.36ns 4.91ns 0.185 0 0 1.2 KB
#7745 SendReceive net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 SendReceive netcoreapp3.1 2.62μs 13.4ns 58.3ns 0 0 0 1.2 KB
#7745 SendReceive net472 2.96μs 3.87ns 15ns 0.177 0 0 1.2 KB
Benchmarks.Trace.SerilogBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net6.0 1.58 KB 0 b -1.58 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 4.26μs 7.92ns 30.7ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.53μs 12.6ns 48.9ns 0 0 0 1.63 KB
master EnrichedLog net472 6.54μs 5.46ns 20.4ns 0.292 0 0 2.03 KB
#7745 EnrichedLog net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 EnrichedLog netcoreapp3.1 5.72μs 15.8ns 56.9ns 0 0 0 1.63 KB
#7745 EnrichedLog net472 6.61μs 7.94ns 30.7ns 0.296 0 0 2.03 KB
Benchmarks.Trace.SpanBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net6.0 576 B 0 b -576 B -100.00%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net6.0 696 B 0 b -696 B -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 786ns 4.1ns 20.1ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 941ns 5.08ns 26.9ns 0 0 0 576 B
master StartFinishSpan net472 952ns 0.193ns 0.723ns 0.0905 0 0 578 B
master StartFinishScope net6.0 925ns 4.37ns 17.5ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.18μs 6.36ns 35.4ns 0 0 0 696 B
master StartFinishScope net472 1.13μs 0.625ns 2.42ns 0.102 0 0 658 B
#7745 StartFinishSpan net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 StartFinishSpan netcoreapp3.1 948ns 5.02ns 24.6ns 0 0 0 576 B
#7745 StartFinishSpan net472 969ns 0.195ns 0.754ns 0.0909 0 0 578 B
#7745 StartFinishScope net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 StartFinishScope netcoreapp3.1 1.2μs 6.22ns 31.7ns 0 0 0 696 B
#7745 StartFinishScope net472 1.15μs 0.264ns 0.988ns 0.103 0 0 658 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7745

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net6.0 696 B 0 b -696 B -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 1.05μs 0.494ns 1.85ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.4μs 5.24ns 20.3ns 0 0 0 696 B
master RunOnMethodBegin net472 1.43μs 0.494ns 1.91ns 0.1 0 0 658 B
#7745 RunOnMethodBegin net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7745 RunOnMethodBegin netcoreapp3.1 1.39μs 7.16ns 32.8ns 0 0 0 696 B
#7745 RunOnMethodBegin net472 1.43μs 0.489ns 1.76ns 0.1 0 0 658 B

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

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing the following branches/commits:

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 shown 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).

gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7745) - mean (79ms)  : 76, 82
     .   : milestone, 79,
    master - mean (79ms)  : 76, 82
     .   : milestone, 79,

    section Baseline
    This PR (7745) - mean (75ms)  : 72, 77
     .   : milestone, 75,
    master - mean (75ms)  : 73, 78
     .   : milestone, 75,

    section CallTarget+Inlining+NGEN
    This PR (7745) - mean (1,105ms)  : 1027, 1184
     .   : milestone, 1105,
    master - mean (1,104ms)  : 1052, 1155
     .   : milestone, 1104,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7745) - mean (118ms)  : 115, 121
     .   : milestone, 118,
    master - mean (118ms)  : 114, 121
     .   : milestone, 118,

    section Baseline
    This PR (7745) - mean (117ms)  : 113, 120
     .   : milestone, 117,
    master - mean (116ms)  : 112, 121
     .   : milestone, 116,

    section CallTarget+Inlining+NGEN
    This PR (7745) - mean (803ms)  : 762, 845
     .   : milestone, 803,
    master - mean (789ms)  : 757, 821
     .   : milestone, 789,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7745) - mean (105ms)  : 101, 109
     .   : milestone, 105,
    master - mean (104ms)  : 101, 107
     .   : milestone, 104,

    section Baseline
    This PR (7745) - mean (104ms)  : 101, 108
     .   : milestone, 104,
    master - mean (103ms)  : 100, 107
     .   : milestone, 103,

    section CallTarget+Inlining+NGEN
    This PR (7745) - mean (743ms)  : 716, 770
     .   : milestone, 743,
    master - mean (744ms)  : 718, 770
     .   : milestone, 744,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7745) - mean (103ms)  : 101, 106
     .   : milestone, 103,
    master - mean (105ms)  : 98, 112
     .   : milestone, 105,

    section Baseline
    This PR (7745) - mean (102ms)  : 99, 105
     .   : milestone, 102,
    master - mean (103ms)  : 98, 107
     .   : milestone, 103,

    section CallTarget+Inlining+NGEN
    This PR (7745) - mean (703ms)  : 686, 720
     .   : milestone, 703,
    master - mean (710ms)  : 693, 727
     .   : milestone, 710,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7745) - mean (196ms)  : 193, 199
     .   : milestone, 196,
    master - mean (196ms)  : 193, 199
     .   : milestone, 196,

    section Baseline
    This PR (7745) - mean (193ms)  : 189, 197
     .   : milestone, 193,
    master - mean (194ms)  : 190, 198
     .   : milestone, 194,

    section CallTarget+Inlining+NGEN
    This PR (7745) - mean (1,176ms)  : 1104, 1247
     .   : milestone, 1176,
    master - mean (1,161ms)  : 1110, 1212
     .   : milestone, 1161,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7745) - mean (278ms)  : 273, 282
     .   : milestone, 278,
    master - mean (279ms)  : 274, 284
     .   : milestone, 279,

    section Baseline
    This PR (7745) - mean (277ms)  : 272, 282
     .   : milestone, 277,
    master - mean (279ms)  : 273, 285
     .   : milestone, 279,

    section CallTarget+Inlining+NGEN
    This PR (7745) - mean (951ms)  : 910, 991
     .   : milestone, 951,
    master - mean (956ms)  : 912, 1000
     .   : milestone, 956,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7745) - mean (270ms)  : 267, 273
     .   : milestone, 270,
    master - mean (270ms)  : 266, 275
     .   : milestone, 270,

    section Baseline
    This PR (7745) - mean (270ms)  : 264, 276
     .   : milestone, 270,
    master - mean (270ms)  : 264, 276
     .   : milestone, 270,

    section CallTarget+Inlining+NGEN
    This PR (7745) - mean (923ms)  : 876, 970
     .   : milestone, 923,
    master - mean (928ms)  : 882, 973
     .   : milestone, 928,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7745) - mean (272ms)  : 265, 279
     .   : milestone, 272,
    master - mean (271ms)  : 266, 277
     .   : milestone, 271,

    section Baseline
    This PR (7745) - mean (272ms)  : 266, 277
     .   : milestone, 272,
    master - mean (270ms)  : 266, 274
     .   : milestone, 270,

    section CallTarget+Inlining+NGEN
    This PR (7745) - mean (851ms)  : 830, 871
     .   : milestone, 851,
    master - mean (856ms)  : 839, 873
     .   : milestone, 856,

Loading

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants