Skip to content

Conversation

ddyurchenko
Copy link
Contributor

Summary of changes

Enable uploading of .Net microbenchmarks results to BP UI.

Reason for change

New feature.

Implementation details

Adds API call to BP UI that transfers BenchmarkDotNet result data from S3 bucket to BP UI.

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

dd-trace-dotnet-ci-bot bot commented Aug 18, 2025

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 (7403) - mean (72ms)  : 71, 74
     .   : milestone, 72,
    master - mean (72ms)  : 71, 73
     .   : milestone, 72,

    section Baseline
    This PR (7403) - mean (69ms)  : 65, 72
     .   : milestone, 69,
    master - mean (68ms)  : 66, 71
     .   : milestone, 68,

    section CallTarget+Inlining+NGEN
    This PR (7403) - mean (1,008ms)  : 986, 1030
     .   : milestone, 1008,
    master - mean (1,000ms)  : 979, 1021
     .   : milestone, 1000,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7403) - mean (108ms)  : 107, 110
     .   : milestone, 108,
    master - mean (107ms)  : 106, 108
     .   : milestone, 107,

    section Baseline
    This PR (7403) - mean (107ms)  : 105, 110
     .   : milestone, 107,
    master - mean (106ms)  : 103, 109
     .   : milestone, 106,

    section CallTarget+Inlining+NGEN
    This PR (7403) - mean (714ms)  : 700, 728
     .   : milestone, 714,
    master - mean (712ms)  : 698, 726
     .   : milestone, 712,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7403) - mean (95ms)  : 94, 97
     .   : milestone, 95,
    master - mean (95ms)  : 93, 96
     .   : milestone, 95,

    section Baseline
    This PR (7403) - mean (94ms)  : 92, 96
     .   : milestone, 94,
    master - mean (94ms)  : 92, 96
     .   : milestone, 94,

    section CallTarget+Inlining+NGEN
    This PR (7403) - mean (667ms)  : 652, 683
     .   : milestone, 667,
    master - mean (670ms)  : 655, 685
     .   : milestone, 670,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7403) - mean (94ms)  : 92, 96
     .   : milestone, 94,
    master - mean (93ms)  : 92, 94
     .   : milestone, 93,

    section Baseline
    This PR (7403) - mean (93ms)  : 91, 95
     .   : milestone, 93,
    master - mean (93ms)  : 91, 95
     .   : milestone, 93,

    section CallTarget+Inlining+NGEN
    This PR (7403) - mean (599ms)  : 588, 609
     .   : milestone, 599,
    master - mean (603ms)  : 594, 613
     .   : milestone, 603,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7403) - mean (214ms)  : 209, 218
     .   : milestone, 214,
    master - mean (203ms)  : 197, 209
     .   : milestone, 203,

    section Baseline
    This PR (7403) - mean (208ms)  : 203, 214
     .   : milestone, 208,
    master - mean (235ms)  : 229, 242
     .   : milestone, 235,

    section CallTarget+Inlining+NGEN
    This PR (7403) - mean (1,193ms)  : 1156, 1231
     .   : milestone, 1193,
    master - mean (1,131ms)  : 1097, 1165
     .   : milestone, 1131,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7403) - mean (304ms)  : crit, 297, 310
     .   : crit, milestone, 304,
    master - mean (283ms)  : 277, 289
     .   : milestone, 283,

    section Baseline
    This PR (7403) - mean (303ms)  : 295, 311
     .   : milestone, 303,
    master - mean (284ms)  : 274, 295
     .   : milestone, 284,

    section CallTarget+Inlining+NGEN
    This PR (7403) - mean (962ms)  : 938, 987
     .   : milestone, 962,
    master - mean (918ms)  : 893, 942
     .   : milestone, 918,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7403) - mean (295ms)  : crit, 287, 303
     .   : crit, milestone, 295,
    master - mean (272ms)  : 269, 276
     .   : milestone, 272,

    section Baseline
    This PR (7403) - mean (294ms)  : 288, 301
     .   : milestone, 294,
    master - mean (274ms)  : 266, 281
     .   : milestone, 274,

    section CallTarget+Inlining+NGEN
    This PR (7403) - mean (951ms)  : crit, 918, 983
     .   : crit, milestone, 951,
    master - mean (898ms)  : 869, 926
     .   : milestone, 898,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7403) - mean (299ms)  : crit, 291, 306
     .   : crit, milestone, 299,
    master - mean (274ms)  : 269, 279
     .   : milestone, 274,

    section Baseline
    This PR (7403) - mean (297ms)  : 290, 304
     .   : milestone, 297,
    master - mean (274ms)  : 268, 280
     .   : milestone, 274,

    section CallTarget+Inlining+NGEN
    This PR (7403) - mean (843ms)  : 771, 914
     .   : milestone, 843,
    master - mean (813ms)  : 785, 841
     .   : milestone, 813,

Loading

@pr-commenter
Copy link

pr-commenter bot commented Aug 18, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7403 compared to master:

  • 3 benchmarks are faster, with geometric mean 1.460
  • 6 benchmarks have fewer allocations
  • 10 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 ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7403

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 6.06 KB 5.99 KB -71 B -1.17%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.7μs 33.8ns 127ns 0 0 0 5.5 KB
master StartStopWithChild netcoreapp3.1 13.8μs 68.9ns 292ns 0 0 0 5.7 KB
master StartStopWithChild net472 21.4μs 115ns 629ns 0.865 0.216 0 6.06 KB
#7403 StartStopWithChild net6.0 10.6μs 58.7ns 357ns 0 0 0 5.49 KB
#7403 StartStopWithChild netcoreapp3.1 13.7μs 51.6ns 200ns 0 0 0 5.68 KB
#7403 StartStopWithChild net472 22μs 120ns 692ns 0.99 0.33 0.11 5.99 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 926μs 136ns 490ns 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.01ms 250ns 970ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.2ms 297ns 1.15μs 0 0 0 3.31 KB
#7403 WriteAndFlushEnrichedTraces net6.0 924μs 121ns 420ns 0 0 0 2.71 KB
#7403 WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 114ns 426ns 0 0 0 2.7 KB
#7403 WriteAndFlushEnrichedTraces net472 1.21ms 67.2ns 260ns 0 0 0 3.31 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7403

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody‑netcoreapp3.1 174.18 KB 175.64 KB 1.46 KB 0.84%
Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody‑netcoreapp3.1 177.6 KB 179.06 KB 1.46 KB 0.82%
Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 194.24 KB 195.79 KB 1.55 KB 0.80%
Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody‑net6.0 172.07 KB 173.45 KB 1.38 KB 0.80%
Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net472 197.76 KB 199.31 KB 1.55 KB 0.79%
Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net6.0 175.58 KB 176.95 KB 1.38 KB 0.78%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 321μs 726ns 2.81μs 0 0 0 172.07 KB
master AllCycleSimpleBody netcoreapp3.1 454μs 817ns 3.16μs 0 0 0 174.18 KB
master AllCycleSimpleBody net472 422μs 122ns 472ns 29.2 0 0 194.24 KB
master AllCycleMoreComplexBody net6.0 330μs 281ns 1.09μs 0 0 0 175.58 KB
master AllCycleMoreComplexBody netcoreapp3.1 496μs 1.77μs 6.84μs 0 0 0 177.6 KB
master AllCycleMoreComplexBody net472 432μs 145ns 563ns 30.2 0 0 197.76 KB
master ObjectExtractorSimpleBody net6.0 317ns 0.24ns 0.931ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 406ns 2.09ns 10.2ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 302ns 0.0399ns 0.154ns 0.0441 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.23μs 4.19ns 16.2ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.8μs 39.6ns 159ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.7μs 4.72ns 18.3ns 0.602 0 0 3.8 KB
#7403 AllCycleSimpleBody net6.0 324μs 412ns 1.6μs 0 0 0 173.45 KB
#7403 AllCycleSimpleBody netcoreapp3.1 456μs 2.24μs 8.94μs 0 0 0 175.64 KB
#7403 AllCycleSimpleBody net472 427μs 161ns 581ns 29.2 0 0 195.79 KB
#7403 AllCycleMoreComplexBody net6.0 328μs 1.49μs 5.97μs 0 0 0 176.95 KB
#7403 AllCycleMoreComplexBody netcoreapp3.1 502μs 384ns 1.33μs 0 0 0 179.06 KB
#7403 AllCycleMoreComplexBody net472 438μs 133ns 480ns 30.2 0 0 199.31 KB
#7403 ObjectExtractorSimpleBody net6.0 334ns 1.46ns 5.67ns 0 0 0 280 B
#7403 ObjectExtractorSimpleBody netcoreapp3.1 394ns 1.99ns 8.67ns 0 0 0 272 B
#7403 ObjectExtractorSimpleBody net472 300ns 0.0333ns 0.129ns 0.0438 0 0 281 B
#7403 ObjectExtractorMoreComplexBody net6.0 6.32μs 30ns 116ns 0 0 0 3.78 KB
#7403 ObjectExtractorMoreComplexBody netcoreapp3.1 7.87μs 3.47ns 13.4ns 0 0 0 3.69 KB
#7403 ObjectExtractorMoreComplexBody net472 6.71μs 2.12ns 8.2ns 0.572 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.3μs 15.8ns 56.9ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 97.7μs 29ns 112ns 0 0 0 32.4 KB
master EncodeArgs net472 112μs 9.43ns 35.3ns 5.07 0 0 32.51 KB
master EncodeLegacyArgs net6.0 146μs 20.3ns 73.2ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 196μs 224ns 840ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 264μs 33.8ns 131ns 0 0 0 2.17 KB
#7403 EncodeArgs net6.0 77μs 28.7ns 111ns 0 0 0 32.4 KB
#7403 EncodeArgs netcoreapp3.1 96.2μs 321ns 1.24μs 0 0 0 32.4 KB
#7403 EncodeArgs net472 110μs 22ns 85.1ns 4.96 0 0 32.51 KB
#7403 EncodeLegacyArgs net6.0 150μs 54.2ns 210ns 0 0 0 2.14 KB
#7403 EncodeLegacyArgs netcoreapp3.1 200μs 109ns 423ns 0 0 0 2.14 KB
#7403 EncodeLegacyArgs net472 265μs 87.7ns 340ns 0 0 0 2.17 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #7403

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑netcoreapp3.1 2.371 719,437.20 303,472.64

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 398μs 57.2ns 214ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 422μs 812ns 3.14μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 432μs 49.9ns 193ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 286μs 104ns 374ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 716μs 3.25μs 12.2μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 313μs 22.3ns 83.5ns 0 0 0 2.29 KB
#7403 RunWafRealisticBenchmark net6.0 396μs 120ns 463ns 0 0 0 4.55 KB
#7403 RunWafRealisticBenchmark netcoreapp3.1 422μs 144ns 499ns 0 0 0 4.48 KB
#7403 RunWafRealisticBenchmark net472 431μs 78.1ns 302ns 0 0 0 4.66 KB
#7403 RunWafRealisticBenchmarkWithAttack net6.0 293μs 117ns 452ns 0 0 0 2.24 KB
#7403 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 303μs 236ns 817ns 0 0 0 2.22 KB
#7403 RunWafRealisticBenchmarkWithAttack net472 314μs 103ns 399ns 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.3μs 43.2ns 167ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 71.9μs 72.5ns 271ns 0 0 0 17.42 KB
master SendRequest net472 0.000414ns 0.000337ns 0.00121ns 0 0 0 0 b
#7403 SendRequest net6.0 60.9μs 54.3ns 203ns 0 0 0 14.52 KB
#7403 SendRequest netcoreapp3.1 72.8μs 376ns 1.72μs 0 0 0 17.42 KB
#7403 SendRequest net472 0.015ns 0.00192ns 0.00744ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Faster 🎉 More allocations ⚠️

Faster 🎉 in #7403

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 1.125 898,986.61 798,744.80

More allocations ⚠️ in #7403

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 4 B 7 B 3 B 75.00%

Fewer allocations 🎉 in #7403

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net472 73 B 0 b -73 B -100.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 1 B 0 b -1 B -100.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net472 48 B 0 b -48 B -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.92ms 1.31μs 5.06μs 0 0 0 640 KB
master OriginalCharSlice netcoreapp3.1 2.17ms 11.6μs 65.6μs 0 0 0 640 KB
master OriginalCharSlice net472 2.62ms 65.2ns 244ns 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.41ms 481ns 1.86μs 0 0 0 4 B
master OptimizedCharSlice netcoreapp3.1 1.69ms 304ns 1.14μs 0 0 0 1 B
master OptimizedCharSlice net472 2.06ms 139ns 539ns 0 0 0 73 B
master OptimizedCharSliceWithPool net6.0 799μs 51ns 198ns 0 0 0 1 B
master OptimizedCharSliceWithPool netcoreapp3.1 899μs 63.5ns 246ns 0 0 0 1 B
master OptimizedCharSliceWithPool net472 1.18ms 55.6ns 215ns 0 0 0 48 B
#7403 OriginalCharSlice net6.0 1.94ms 4.3μs 16.1μs 0 0 0 640.01 KB
#7403 OriginalCharSlice netcoreapp3.1 2.09ms 9.96μs 38.6μs 0 0 0 640 KB
#7403 OriginalCharSlice net472 2.62ms 660ns 2.55μs 100 0 0 641.95 KB
#7403 OptimizedCharSlice net6.0 1.49ms 119ns 446ns 0 0 0 7 B
#7403 OptimizedCharSlice netcoreapp3.1 1.69ms 973ns 3.77μs 0 0 0 1 B
#7403 OptimizedCharSlice net472 2.06ms 115ns 445ns 0 0 0 0 b
#7403 OptimizedCharSliceWithPool net6.0 803μs 34.3ns 124ns 0 0 0 1 B
#7403 OptimizedCharSliceWithPool netcoreapp3.1 799μs 129ns 501ns 0 0 0 0 b
#7403 OptimizedCharSliceWithPool net472 1.13ms 39.2ns 141ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #7403

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 1.166 1,038,636.06 890,503.85

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 705μs 1.48μs 5.74μs 0 0 0 41.78 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 656μs 1.68μs 6.52μs 0 0 0 41.98 KB
master WriteAndFlushEnrichedTraces net472 1.04ms 3.94μs 14.7μs 4.81 0 0 56.01 KB
#7403 WriteAndFlushEnrichedTraces net6.0 795μs 3.31μs 12.8μs 0 0 0 41.79 KB
#7403 WriteAndFlushEnrichedTraces netcoreapp3.1 705μs 3.97μs 25.4μs 0 0 0 41.95 KB
#7403 WriteAndFlushEnrichedTraces net472 890μs 2.79μs 10.8μs 4.81 0 0 56.15 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.86μs 9.03ns 38.3ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.42μs 8.81ns 34.1ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.82μs 4.56ns 17.7ns 0.154 0.014 0 987 B
#7403 ExecuteNonQuery net6.0 1.87μs 0.595ns 2.3ns 0 0 0 1.02 KB
#7403 ExecuteNonQuery netcoreapp3.1 2.45μs 7.5ns 29ns 0 0 0 1.02 KB
#7403 ExecuteNonQuery net472 2.71μs 2.58ns 10ns 0.148 0.0134 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.77μs 7.43ns 28.8ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.32μs 11.5ns 52.9ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.51μs 1.7ns 6.58ns 0.158 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.92μs 8.92ns 34.5ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.43μs 6.02ns 23.3ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.77μs 1.37ns 5.31ns 0.168 0 0 1.1 KB
#7403 CallElasticsearch net6.0 1.66μs 8.58ns 38.4ns 0 0 0 1.03 KB
#7403 CallElasticsearch netcoreapp3.1 2.24μs 6.1ns 23.6ns 0 0 0 1.03 KB
#7403 CallElasticsearch net472 3.6μs 6.53ns 25.3ns 0.163 0 0 1.04 KB
#7403 CallElasticsearchAsync net6.0 1.91μs 5.31ns 18.4ns 0 0 0 1.01 KB
#7403 CallElasticsearchAsync netcoreapp3.1 2.46μs 11.8ns 47.2ns 0 0 0 1.08 KB
#7403 CallElasticsearchAsync net472 3.92μs 3.16ns 12.2ns 0.157 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.89μs 8.52ns 33ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.32μs 10.8ns 43.2ns 0 0 0 952 B
master ExecuteAsync net472 2.49μs 3.2ns 12.4ns 0.135 0 0 915 B
#7403 ExecuteAsync net6.0 1.81μs 5.36ns 20.7ns 0 0 0 952 B
#7403 ExecuteAsync netcoreapp3.1 2.33μs 10.7ns 41.6ns 0 0 0 952 B
#7403 ExecuteAsync net472 2.61μs 0.979ns 3.79ns 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 7.04μs 9.65ns 34.8ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.45μs 13.9ns 53.8ns 0 0 0 2.9 KB
master SendAsync net472 12.2μs 11ns 42.6ns 0.491 0 0 3.18 KB
#7403 SendAsync net6.0 7.28μs 16.6ns 62.3ns 0 0 0 2.36 KB
#7403 SendAsync netcoreapp3.1 8.51μs 21.7ns 83.9ns 0 0 0 2.9 KB
#7403 SendAsync net472 12.2μs 14.5ns 56.1ns 0.485 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7403

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 248.96 KB 275.55 KB 26.59 KB 10.68%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 43.22 KB 43.78 KB 552 B 1.28%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 42.64 KB 43.07 KB 432 B 1.01%

Fewer allocations 🎉 in #7403

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 286.72 KB 282.15 KB -4.57 KB -1.59%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 276.26 KB 255.66 KB -20.6 KB -7.46%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 44μs 206ns 1.27μs 0 0 0 43.22 KB
master StringConcatBenchmark netcoreapp3.1 46μs 212ns 795ns 0 0 0 42.64 KB
master StringConcatBenchmark net472 57.4μs 153ns 553ns 0 0 0 57.34 KB
master StringConcatAspectBenchmark net6.0 442μs 1.81μs 6.54μs 0 0 0 248.96 KB
master StringConcatAspectBenchmark netcoreapp3.1 527μs 2.5μs 10.6μs 0 0 0 276.26 KB
master StringConcatAspectBenchmark net472 412μs 2.26μs 12.8μs 0 0 0 286.72 KB
#7403 StringConcatBenchmark net6.0 44.1μs 161ns 854ns 0 0 0 43.78 KB
#7403 StringConcatBenchmark netcoreapp3.1 55.1μs 740ns 7.29μs 0 0 0 43.07 KB
#7403 StringConcatBenchmark net472 58μs 116ns 419ns 0 0 0 57.34 KB
#7403 StringConcatAspectBenchmark net6.0 491μs 2.05μs 7.11μs 0 0 0 275.55 KB
#7403 StringConcatAspectBenchmark netcoreapp3.1 501μs 2.31μs 10.6μs 0 0 0 255.66 KB
#7403 StringConcatAspectBenchmark net472 400μs 2.28μs 16.5μs 0 0 0 282.15 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.59μs 11.2ns 43.3ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.42μs 15ns 58.3ns 0 0 0 1.7 KB
master EnrichedLog net472 3.86μs 4.89ns 18.9ns 0.251 0 0 1.64 KB
#7403 EnrichedLog net6.0 2.57μs 12.1ns 48.3ns 0 0 0 1.7 KB
#7403 EnrichedLog netcoreapp3.1 3.4μs 17.2ns 77.1ns 0 0 0 1.7 KB
#7403 EnrichedLog net472 4μs 3.43ns 13.3ns 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 121μs 32.4ns 125ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 128μs 39ns 146ns 0 0 0 4.31 KB
master EnrichedLog net472 168μs 32ns 124ns 0 0 0 4.52 KB
#7403 EnrichedLog net6.0 125μs 111ns 432ns 0 0 0 4.31 KB
#7403 EnrichedLog netcoreapp3.1 129μs 96.9ns 363ns 0 0 0 4.31 KB
#7403 EnrichedLog net472 169μs 348ns 1.25μs 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.09μs 23.4ns 87.6ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.72μs 10.3ns 40.1ns 0 0 0 2.26 KB
master EnrichedLog net472 7.46μs 7.61ns 29.5ns 0.299 0 0 2.08 KB
#7403 EnrichedLog net6.0 4.99μs 10.2ns 39.5ns 0 0 0 2.26 KB
#7403 EnrichedLog netcoreapp3.1 6.89μs 18ns 69.6ns 0 0 0 2.26 KB
#7403 EnrichedLog net472 7.39μs 9.08ns 35.2ns 0.295 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.96μs 10.3ns 51.6ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.49μs 12ns 46.6ns 0 0 0 1.2 KB
master SendReceive net472 3.2μs 6.43ns 24.9ns 0.176 0 0 1.2 KB
#7403 SendReceive net6.0 2.01μs 1.31ns 5.09ns 0 0 0 1.2 KB
#7403 SendReceive netcoreapp3.1 2.61μs 12ns 46.4ns 0 0 0 1.2 KB
#7403 SendReceive net472 3.2μs 1.8ns 6.75ns 0.176 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.09μs 8.27ns 32ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.46μs 11.9ns 46.2ns 0 0 0 1.63 KB
master EnrichedLog net472 6.65μs 9.69ns 37.5ns 0.301 0 0 2.03 KB
#7403 EnrichedLog net6.0 4.12μs 7.42ns 28.7ns 0 0 0 1.58 KB
#7403 EnrichedLog netcoreapp3.1 5.54μs 13.6ns 52.7ns 0 0 0 1.63 KB
#7403 EnrichedLog net472 6.69μs 12ns 46.6ns 0.3 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 731ns 3.79ns 20.7ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 936ns 4.98ns 24.4ns 0 0 0 576 B
master StartFinishSpan net472 883ns 0.127ns 0.477ns 0.0885 0 0 578 B
master StartFinishScope net6.0 876ns 4.59ns 18.9ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.09μs 5.58ns 27.3ns 0 0 0 696 B
master StartFinishScope net472 1.08μs 0.428ns 1.66ns 0.103 0 0 658 B
#7403 StartFinishSpan net6.0 741ns 3.93ns 19.2ns 0 0 0 576 B
#7403 StartFinishSpan netcoreapp3.1 944ns 5.06ns 27.3ns 0 0 0 576 B
#7403 StartFinishSpan net472 905ns 0.53ns 2.05ns 0.0905 0 0 578 B
#7403 StartFinishScope net6.0 887ns 0.207ns 0.776ns 0 0 0 696 B
#7403 StartFinishScope netcoreapp3.1 1.15μs 4.41ns 17.1ns 0 0 0 696 B
#7403 StartFinishScope net472 1.1μs 1.3ns 5.03ns 0.103 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.03μs 4.09ns 15.9ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.34μs 6.9ns 30.9ns 0 0 0 696 B
master RunOnMethodBegin net472 1.41μs 1.35ns 5.24ns 0.0997 0 0 658 B
#7403 RunOnMethodBegin net6.0 1.04μs 0.438ns 1.64ns 0 0 0 696 B
#7403 RunOnMethodBegin netcoreapp3.1 1.41μs 1.48ns 5.73ns 0 0 0 696 B
#7403 RunOnMethodBegin net472 1.37μs 0.307ns 1.19ns 0.104 0 0 658 B

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.

1 participant