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

[ASM] Anna/asm/blocking request

Open anna-git opened this issue 3 years ago • 3 comments

Summary of changes

Reason for change

Implementation details

Test coverage

Other details

anna-git avatar Aug 09 '22 19:08 anna-git

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.149
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 722μs 472ns 1.77μs 0.357 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 482μs 204ns 789ns 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 717μs 514ns 1.99μs 0.357 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 451μs 120ns 449ns 0 0 0 2.58 KB
Benchmarks.Trace.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 net472 1.67μs 1.64ns 6.36ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.8μs 2.16ns 8.37ns 0.0187 0 0 1.37 KB
master AllCycleMoreComplexBody net472 17.3μs 11.4ns 42.5ns 1.39 0.025 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.4μs 47.3ns 183ns 0.106 0 0 7.85 KB
master BodyExtractorSimpleBody net472 259ns 0.536ns 2.08ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 225ns 0.234ns 0.874ns 0.00361 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.5μs 9.1ns 35.2ns 1.2 0.0154 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 11.9μs 16.9ns 65.6ns 0.0892 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 1.79μs 3.39ns 12.2ns 0.236 0 0 1.49 KB
#3066 AllCycleSimpleBody netcoreapp3.1 1.78μs 2.06ns 7.72ns 0.0187 0 0 1.37 KB
#3066 AllCycleMoreComplexBody net472 17.7μs 28ns 101ns 1.38 0.0176 0 8.75 KB
#3066 AllCycleMoreComplexBody netcoreapp3.1 14.3μs 15.8ns 61.4ns 0.0996 0 0 7.85 KB
#3066 BodyExtractorSimpleBody net472 263ns 0.772ns 2.89ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 226ns 0.272ns 1.05ns 0.00373 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 15.5μs 13ns 46.8ns 1.2 0.0155 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.6μs 13.1ns 49.1ns 0.0884 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 180μs 285ns 1.03μs 0.268 0 0 20.33 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 179μs 93.4ns 362ns 0.267 0 0 20.32 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.56μs 0.907ns 3.51ns 0.126 0.000782 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.21μs 1.72ns 6.67ns 0.0112 0 0 824 B
#3066 ExecuteNonQuery net472 1.52μs 0.309ns 1.11ns 0.126 0.00076 0 794 B
#3066 ExecuteNonQuery netcoreapp3.1 1.3μs 0.506ns 1.75ns 0.0111 0 0 824 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.2μs 0.993ns 3.85ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 1.58ns 5.9ns 0.0131 0 0 984 B
master CallElasticsearchAsync net472 2.29μs 0.554ns 2.14ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.5μs 1.53ns 5.92ns 0.0143 0 0 1.1 KB
#3066 CallElasticsearch net472 2.19μs 1.66ns 6.45ns 0.159 0 0 1 KB
#3066 CallElasticsearch netcoreapp3.1 1.42μs 0.892ns 3.45ns 0.0134 0 0 984 B
#3066 CallElasticsearchAsync net472 2.32μs 0.856ns 3.2ns 0.181 0 0 1.14 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.43μs 0.569ns 2.05ns 0.0143 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.28μs 4.83ns 18.7ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.52μs 2.24ns 8.39ns 0.0168 0 0 1.22 KB
#3066 ExecuteAsync net472 2.44μs 3ns 11.6ns 0.199 0 0 1.26 KB
#3066 ExecuteAsync netcoreapp3.1 1.67μs 2.34ns 9.07ns 0.0167 0 0 1.22 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 4.89μs 10.6ns 40.9ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.19μs 6.85ns 26.5ns 0.0324 0 0 2.36 KB
#3066 SendAsync net472 4.89μs 7.88ns 29.5ns 0.393 0 0 2.48 KB
#3066 SendAsync netcoreapp3.1 3.27μs 2.18ns 8.15ns 0.0323 0 0 2.36 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 2.91μs 1.18ns 4.42ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.36μs 0.712ns 2.76ns 0.0236 0 0 1.73 KB
#3066 EnrichedLog net472 2.86μs 0.589ns 2.2ns 0.263 0 0 1.66 KB
#3066 EnrichedLog netcoreapp3.1 2.35μs 1.05ns 3.78ns 0.0233 0 0 1.73 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 146μs 104ns 374ns 0.656 0.219 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 97.4ns 365ns 0.0564 0 0 4.38 KB
#3066 EnrichedLog net472 147μs 102ns 396ns 0.659 0.22 0 4.5 KB
#3066 EnrichedLog netcoreapp3.1 113μs 111ns 415ns 0.0565 0 0 4.38 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.27μs 12.5ns 48.5ns 0.544 0.00266 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.32μs 8.49ns 32.9ns 0.0523 0 0 3.8 KB
#3066 EnrichedLog net472 5.33μs 7.47ns 28ns 0.543 0.00266 0 3.43 KB
#3066 EnrichedLog netcoreapp3.1 4.27μs 5.77ns 22.4ns 0.0527 0 0 3.8 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.05μs 0.8ns 2.99ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.67μs 0.629ns 2.35ns 0.016 0 0 1.21 KB
#3066 SendReceive net472 1.94μs 0.947ns 3.67ns 0.193 0 0 1.22 KB
#3066 SendReceive netcoreapp3.1 1.62μs 0.515ns 1.93ns 0.0162 0 0 1.21 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 net472 4.59μs 1.71ns 6.39ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.07μs 1.06ns 4.1ns 0.0222 0 0 1.69 KB
#3066 EnrichedLog net472 4.72μs 1.64ns 6.13ns 0.33 0 0 2.08 KB
#3066 EnrichedLog netcoreapp3.1 4.16μs 0.878ns 3.04ns 0.0229 0 0 1.69 KB
Benchmarks.Trace.SpanBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3066

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.149 902.33 785.24

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 902ns 0.179ns 0.668ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 781ns 0.717ns 2.59ns 0.00887 0 0 648 B
master StartFinishScope net472 1.04μs 0.28ns 1.08ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 859ns 0.234ns 0.877ns 0.0104 0 0 768 B
#3066 StartFinishSpan net472 785ns 0.31ns 1.2ns 0.105 0 0 658 B
#3066 StartFinishSpan netcoreapp3.1 738ns 0.768ns 2.98ns 0.00891 0 0 648 B
#3066 StartFinishScope net472 1.03μs 0.389ns 1.45ns 0.117 0 0 738 B
#3066 StartFinishScope netcoreapp3.1 911ns 0.317ns 1.23ns 0.0103 0 0 768 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.22μs 0.224ns 0.777ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.03μs 0.558ns 2.01ns 0.0103 0 0 768 B
#3066 RunOnMethodBegin net472 1.29μs 1.07ns 4ns 0.117 0 0 738 B
#3066 RunOnMethodBegin netcoreapp3.1 1.06μs 0.376ns 1.3ns 0.0101 0 0 768 B

andrewlock avatar Aug 09 '22 19:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 715μs 702ns 2.72μs 0.359 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 249ns 966ns 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 720μs 238ns 922ns 0.357 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 455μs 634ns 2.37μs 0 0 0 2.58 KB
Benchmarks.Trace.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 net472 1.73μs 2.26ns 8.77ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.81μs 4.03ns 14.5ns 0.0188 0 0 1.37 KB
master AllCycleMoreComplexBody net472 16.9μs 10.1ns 37.9ns 1.38 0.0169 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.1μs 22.2ns 83.2ns 0.106 0 0 7.85 KB
master BodyExtractorSimpleBody net472 277ns 0.288ns 1.12ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 224ns 0.329ns 1.27ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.9μs 11.6ns 44.9ns 1.2 0.0152 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 11.9μs 16.6ns 62.1ns 0.09 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 1.71μs 1.45ns 5.23ns 0.236 0 0 1.49 KB
#3066 AllCycleSimpleBody netcoreapp3.1 1.8μs 2.14ns 8ns 0.0187 0 0 1.37 KB
#3066 AllCycleMoreComplexBody net472 16.3μs 12.6ns 48.9ns 1.38 0.0244 0 8.75 KB
#3066 AllCycleMoreComplexBody netcoreapp3.1 14.1μs 21.2ns 79.4ns 0.105 0 0 7.85 KB
#3066 BodyExtractorSimpleBody net472 253ns 0.226ns 0.873ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 226ns 0.283ns 1.06ns 0.00363 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.4μs 12.2ns 47.3ns 1.21 0.0217 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 11.9μs 24.9ns 93ns 0.0888 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 177μs 151ns 587ns 0.264 0 0 20.33 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 176μs 153ns 573ns 0.264 0 0 20.32 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.57μs 0.378ns 1.31ns 0.126 0.000778 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.27μs 0.533ns 2.07ns 0.0108 0 0 824 B
#3066 ExecuteNonQuery net472 1.61μs 0.448ns 1.68ns 0.126 0.000806 0 794 B
#3066 ExecuteNonQuery netcoreapp3.1 1.31μs 0.426ns 1.48ns 0.0111 0 0 824 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.2μs 0.639ns 2.39ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.37μs 1.03ns 3.85ns 0.0134 0 0 984 B
master CallElasticsearchAsync net472 2.43μs 1.66ns 6.23ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.43μs 0.767ns 2.87ns 0.015 0 0 1.1 KB
#3066 CallElasticsearch net472 2.26μs 0.57ns 2.21ns 0.159 0 0 1 KB
#3066 CallElasticsearch netcoreapp3.1 1.38μs 1.08ns 4.19ns 0.0133 0 0 984 B
#3066 CallElasticsearchAsync net472 2.31μs 1.13ns 4.38ns 0.181 0 0 1.14 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.48μs 0.851ns 3.18ns 0.0148 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.31μs 3.01ns 11.6ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.57μs 1.35ns 5.23ns 0.0163 0 0 1.22 KB
#3066 ExecuteAsync net472 2.39μs 3.41ns 13.2ns 0.2 0 0 1.26 KB
#3066 ExecuteAsync netcoreapp3.1 1.59μs 1.53ns 5.93ns 0.0167 0 0 1.22 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 4.98μs 13ns 50.4ns 0.393 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.17μs 4.64ns 18ns 0.0314 0 0 2.36 KB
#3066 SendAsync net472 4.97μs 5.22ns 20.2ns 0.393 0 0 2.48 KB
#3066 SendAsync netcoreapp3.1 3.36μs 3.45ns 13.4ns 0.0318 0 0 2.36 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 2.91μs 1.73ns 6.7ns 0.264 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.35μs 0.617ns 2.31ns 0.0235 0 0 1.73 KB
#3066 EnrichedLog net472 2.89μs 1.24ns 4.64ns 0.263 0 0 1.66 KB
#3066 EnrichedLog netcoreapp3.1 2.35μs 0.337ns 1.22ns 0.0236 0 0 1.73 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 147μs 59.8ns 231ns 0.668 0.223 0 4.5 KB
master EnrichedLog netcoreapp3.1 112μs 68.7ns 266ns 0.0559 0 0 4.38 KB
#3066 EnrichedLog net472 147μs 235ns 909ns 0.661 0.22 0 4.5 KB
#3066 EnrichedLog netcoreapp3.1 116μs 103ns 373ns 0.0579 0 0 4.38 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.38μs 7.57ns 27.3ns 0.546 0.00267 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.17μs 4.75ns 18.4ns 0.0521 0 0 3.8 KB
#3066 EnrichedLog net472 5.53μs 8.81ns 34.1ns 0.545 0.00278 0 3.43 KB
#3066 EnrichedLog netcoreapp3.1 4.21μs 6.11ns 23.7ns 0.0522 0 0 3.8 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 1.97μs 1.25ns 4.84ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.68μs 1.05ns 4.06ns 0.016 0 0 1.21 KB
#3066 SendReceive net472 2.03μs 0.821ns 3.18ns 0.194 0 0 1.22 KB
#3066 SendReceive netcoreapp3.1 1.68μs 0.697ns 2.61ns 0.0169 0 0 1.21 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 net472 4.73μs 1.17ns 4.36ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.15μs 1.79ns 6.68ns 0.0231 0 0 1.69 KB
#3066 EnrichedLog net472 4.61μs 4.71ns 17ns 0.329 0 0 2.08 KB
#3066 EnrichedLog netcoreapp3.1 4.09μs 2.08ns 8.06ns 0.0224 0 0 1.69 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 823ns 0.236ns 0.915ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 774ns 0.341ns 1.28ns 0.00851 0 0 648 B
master StartFinishScope net472 1.07μs 0.186ns 0.67ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 845ns 1.42ns 5.3ns 0.0102 0 0 768 B
#3066 StartFinishSpan net472 801ns 0.342ns 1.28ns 0.104 0 0 658 B
#3066 StartFinishSpan netcoreapp3.1 747ns 0.254ns 0.949ns 0.00891 0 0 648 B
#3066 StartFinishScope net472 1.15μs 0.295ns 1.14ns 0.117 0 0 738 B
#3066 StartFinishScope netcoreapp3.1 883ns 0.27ns 0.975ns 0.0102 0 0 768 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.18μs 0.194ns 0.672ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 979ns 0.667ns 2.59ns 0.0103 0 0 768 B
#3066 RunOnMethodBegin net472 1.22μs 0.317ns 1.23ns 0.117 0 0 738 B
#3066 RunOnMethodBegin netcoreapp3.1 986ns 0.321ns 1.2ns 0.0103 0 0 768 B

andrewlock avatar Aug 10 '22 19:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • 2 benchmarks are faster, with geometric mean 1.253
  • 1 benchmarks are slower, with geometric mean 1.127
  • All benchmarks have the same 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.AgentWriterBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3066

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.149 527,143.46 458,871.04

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 792μs 4.32μs 24.4μs 0.391 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 529μs 3.02μs 22.6μs 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 728μs 337ns 1.31μs 0.363 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 459μs 383ns 1.48μs 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3066

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 1.127 204.95 230.98

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 205ns 0.137ns 0.493ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 234ns 0.27ns 1.05ns 0.00594 0 0 424 B
master AllCycleMoreComplexBody net472 182ns 0.151ns 0.566ns 0.0638 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.314ns 1.22ns 0.00542 0 0 400 B
master BodyExtractorSimpleBody net472 259ns 0.152ns 0.549ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 216ns 0.355ns 1.37ns 0.0038 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.2μs 9.8ns 37.9ns 1.21 0.0215 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 20.2ns 72.8ns 0.0933 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 231ns 0.193ns 0.722ns 0.0676 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 240ns 0.316ns 1.23ns 0.00583 0 0 424 B
#3066 AllCycleMoreComplexBody net472 182ns 0.195ns 0.728ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 237ns 0.346ns 1.29ns 0.00547 0 0 400 B
#3066 BodyExtractorSimpleBody net472 275ns 0.254ns 0.952ns 0.0574 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 232ns 0.39ns 1.51ns 0.0036 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.6μs 12.3ns 47.8ns 1.2 0.0219 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 16ns 62ns 0.0913 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - 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 SendRequest net472 0.0624ns 0.0151ns 0.0918ns 0 0 0 0 b
master SendRequest netcoreapp3.1 189μs 77.1ns 267ns 0.188 0 0 20.33 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 179μs 136ns 510ns 0.266 0 0 20.32 KB
Benchmarks.Trace.DbCommandBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3066

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.366 1,762.88 1,290.09 bimodal

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.69μs 9.36ns 54.6ns 0.126 0.000827 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.77μs 15.2ns 152ns 0.0112 0 0 824 B
#3066 ExecuteNonQuery net472 1.61μs 1ns 3.89ns 0.126 0.000802 0 794 B
#3066 ExecuteNonQuery netcoreapp3.1 1.29μs 0.601ns 2.33ns 0.0108 0 0 824 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.17μs 0.518ns 1.87ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 0.68ns 2.64ns 0.0131 0 0 984 B
master CallElasticsearchAsync net472 2.28μs 4.84ns 18.8ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.43μs 0.529ns 1.98ns 0.015 0 0 1.1 KB
#3066 CallElasticsearch net472 2.25μs 0.88ns 3.29ns 0.159 0 0 1 KB
#3066 CallElasticsearch netcoreapp3.1 1.39μs 0.75ns 2.91ns 0.0133 0 0 984 B
#3066 CallElasticsearchAsync net472 2.23μs 0.65ns 2.43ns 0.18 0 0 1.14 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.48μs 0.511ns 1.98ns 0.0149 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.48μs 3.1ns 12ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.56μs 1.66ns 6.2ns 0.0163 0 0 1.22 KB
#3066 ExecuteAsync net472 2.37μs 4.02ns 15.6ns 0.2 0 0 1.26 KB
#3066 ExecuteAsync netcoreapp3.1 1.58μs 3.29ns 12.7ns 0.0166 0 0 1.22 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.06μs 6.98ns 26.1ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.3μs 4.05ns 15.7ns 0.031 0 0 2.36 KB
#3066 SendAsync net472 5μs 11.1ns 42.9ns 0.394 0 0 2.48 KB
#3066 SendAsync netcoreapp3.1 3.23μs 3.44ns 13.3ns 0.0321 0 0 2.36 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 2.83μs 0.751ns 2.81ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.29μs 0.476ns 1.72ns 0.0231 0 0 1.73 KB
#3066 EnrichedLog net472 2.77μs 1.12ns 4.21ns 0.264 0 0 1.66 KB
#3066 EnrichedLog netcoreapp3.1 2.24μs 0.575ns 2.07ns 0.0235 0 0 1.73 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 149μs 77.9ns 302ns 0.675 0.225 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 107ns 399ns 0.0566 0 0 4.38 KB
#3066 EnrichedLog net472 148μs 305ns 1.18μs 0.67 0.223 0 4.5 KB
#3066 EnrichedLog netcoreapp3.1 116μs 127ns 493ns 0 0 0 4.38 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.62μs 8.3ns 32.1ns 0.545 0.00281 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.31μs 5.04ns 19.5ns 0.0514 0 0 3.8 KB
#3066 EnrichedLog net472 5.38μs 15ns 58.1ns 0.545 0.00265 0 3.43 KB
#3066 EnrichedLog netcoreapp3.1 4.27μs 3.93ns 14.7ns 0.0511 0 0 3.8 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 1.99μs 1.03ns 4ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.73μs 0.707ns 2.65ns 0.0165 0 0 1.21 KB
#3066 SendReceive net472 1.95μs 0.428ns 1.66ns 0.193 0 0 1.22 KB
#3066 SendReceive netcoreapp3.1 1.65μs 0.618ns 2.31ns 0.0164 0 0 1.21 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 net472 4.66μs 1.38ns 5.33ns 0.329 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.09μs 2ns 7.73ns 0.0226 0 0 1.69 KB
#3066 EnrichedLog net472 4.68μs 1.16ns 4.18ns 0.329 0 0 2.08 KB
#3066 EnrichedLog netcoreapp3.1 4.09μs 2.52ns 9.76ns 0.0224 0 0 1.69 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 832ns 0.252ns 0.944ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 776ns 1.78ns 6.88ns 0.00885 0 0 648 B
master StartFinishScope net472 1.01μs 0.27ns 1.05ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 930ns 0.337ns 1.26ns 0.0102 0 0 768 B
#3066 StartFinishSpan net472 859ns 0.404ns 1.57ns 0.104 0 0 658 B
#3066 StartFinishSpan netcoreapp3.1 744ns 1.41ns 5.44ns 0.00897 0 0 648 B
#3066 StartFinishScope net472 1.09μs 0.739ns 2.77ns 0.117 0 0 738 B
#3066 StartFinishScope netcoreapp3.1 920ns 0.406ns 1.57ns 0.0102 0 0 768 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.22μs 0.858ns 3.32ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.01μs 0.329ns 1.19ns 0.0102 0 0 768 B
#3066 RunOnMethodBegin net472 1.24μs 0.343ns 1.33ns 0.117 0 0 738 B
#3066 RunOnMethodBegin netcoreapp3.1 1μs 0.505ns 1.95ns 0.0104 0 0 768 B

andrewlock avatar Aug 12 '22 10:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.254
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 765μs 353ns 1.37μs 0.365 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 455μs 197ns 709ns 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 730μs 432ns 1.61μs 0.363 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 210ns 814ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3066

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net472 1.254 226.60 180.72

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 182ns 0.16ns 0.6ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 237ns 0.272ns 1.05ns 0.00578 0 0 424 B
master AllCycleMoreComplexBody net472 227ns 0.22ns 0.825ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 235ns 0.251ns 0.972ns 0.00551 0 0 400 B
master BodyExtractorSimpleBody net472 255ns 0.294ns 1.1ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 230ns 0.216ns 0.779ns 0.00369 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.2μs 13.4ns 50.1ns 1.2 0.0214 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 16.7ns 64.8ns 0.0904 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 184ns 0.0998ns 0.387ns 0.0675 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 240ns 0.18ns 0.698ns 0.00581 0 0 424 B
#3066 AllCycleMoreComplexBody net472 181ns 0.146ns 0.548ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 235ns 0.127ns 0.475ns 0.00551 0 0 400 B
#3066 BodyExtractorSimpleBody net472 260ns 0.382ns 1.48ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 226ns 0.172ns 0.643ns 0.00373 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.4μs 14ns 54.2ns 1.21 0.0215 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.3μs 14.7ns 56.8ns 0.0917 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - 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 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 181μs 103ns 400ns 0.18 0 0 20.33 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 178μs 123ns 475ns 0.266 0 0 20.32 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.53μs 0.697ns 2.51ns 0.126 0.000762 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.25μs 0.413ns 1.6ns 0.0107 0 0 824 B
#3066 ExecuteNonQuery net472 1.55μs 0.702ns 2.72ns 0.126 0.000769 0 794 B
#3066 ExecuteNonQuery netcoreapp3.1 1.3μs 0.371ns 1.39ns 0.0111 0 0 824 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.24μs 0.601ns 2.25ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 0.521ns 2.02ns 0.0133 0 0 984 B
master CallElasticsearchAsync net472 2.37μs 0.957ns 3.71ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.42μs 0.434ns 1.68ns 0.015 0 0 1.1 KB
#3066 CallElasticsearch net472 2.24μs 0.527ns 2.04ns 0.159 0 0 1 KB
#3066 CallElasticsearch netcoreapp3.1 1.42μs 0.509ns 1.9ns 0.0135 0 0 984 B
#3066 CallElasticsearchAsync net472 2.32μs 1.42ns 5.5ns 0.181 0 0 1.14 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.47μs 0.35ns 1.26ns 0.0146 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.37μs 3.41ns 13.2ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.55μs 2.76ns 10.7ns 0.0163 0 0 1.22 KB
#3066 ExecuteAsync net472 2.32μs 3.8ns 13.7ns 0.2 0 0 1.26 KB
#3066 ExecuteAsync netcoreapp3.1 1.6μs 6ns 23.2ns 0.0164 0 0 1.22 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5μs 9.14ns 35.4ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.17μs 4.91ns 19ns 0.0311 0 0 2.36 KB
#3066 SendAsync net472 4.84μs 22.5ns 92.6ns 0.393 0 0 2.48 KB
#3066 SendAsync netcoreapp3.1 3.25μs 11.7ns 45.3ns 0.032 0 0 2.36 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 2.85μs 1.07ns 4.14ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.31μs 0.835ns 2.89ns 0.0231 0 0 1.73 KB
#3066 EnrichedLog net472 2.73μs 1.19ns 4.46ns 0.263 0 0 1.66 KB
#3066 EnrichedLog netcoreapp3.1 2.37μs 0.726ns 2.62ns 0.0236 0 0 1.73 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 148μs 51.8ns 201ns 0.67 0.223 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 107ns 415ns 0.0563 0 0 4.38 KB
#3066 EnrichedLog net472 146μs 114ns 425ns 0.662 0.221 0 4.5 KB
#3066 EnrichedLog netcoreapp3.1 115μs 119ns 428ns 0 0 0 4.38 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.42μs 4.87ns 18.2ns 0.543 0.00272 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.14μs 8.88ns 34.4ns 0.0517 0 0 3.8 KB
#3066 EnrichedLog net472 5.2μs 17.2ns 66.8ns 0.544 0.00259 0 3.43 KB
#3066 EnrichedLog netcoreapp3.1 4.11μs 12.5ns 48.5ns 0.051 0 0 3.8 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.01μs 0.768ns 2.88ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.61μs 0.319ns 1.2ns 0.0161 0 0 1.21 KB
#3066 SendReceive net472 2.05μs 0.452ns 1.75ns 0.193 0 0 1.22 KB
#3066 SendReceive netcoreapp3.1 1.62μs 0.453ns 1.63ns 0.0162 0 0 1.21 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 net472 4.66μs 1.71ns 6.64ns 0.329 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.13μs 1.4ns 5.22ns 0.0227 0 0 1.69 KB
#3066 EnrichedLog net472 4.79μs 2.21ns 8.25ns 0.329 0 0 2.08 KB
#3066 EnrichedLog netcoreapp3.1 4.18μs 3.52ns 13.6ns 0.0228 0 0 1.69 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 871ns 1.03ns 3.99ns 0.105 0 0 658 B
master StartFinishSpan netcoreapp3.1 749ns 0.616ns 2.3ns 0.00894 0 0 648 B
master StartFinishScope net472 1.13μs 1.21ns 4.51ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 884ns 0.542ns 2.1ns 0.0106 0 0 768 B
#3066 StartFinishSpan net472 885ns 0.943ns 3.65ns 0.104 0 0 658 B
#3066 StartFinishSpan netcoreapp3.1 734ns 0.528ns 2.05ns 0.00881 0 0 648 B
#3066 StartFinishScope net472 1.11μs 1.96ns 7.33ns 0.117 0 0 738 B
#3066 StartFinishScope netcoreapp3.1 951ns 0.547ns 2.12ns 0.0104 0 0 768 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.22μs 1.38ns 5.35ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.01μs 0.778ns 2.91ns 0.0101 0 0 768 B
#3066 RunOnMethodBegin net472 1.25μs 0.923ns 3.57ns 0.117 0 0 738 B
#3066 RunOnMethodBegin netcoreapp3.1 1.07μs 0.798ns 2.98ns 0.0107 0 0 768 B

andrewlock avatar Aug 22 '22 09:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 739μs 206ns 772ns 0.368 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 460μs 129ns 483ns 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 725μs 404ns 1.46μs 0.361 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 480μs 151ns 546ns 0 0 0 2.58 KB
Benchmarks.Trace.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 net472 195ns 0.797ns 3.09ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 235ns 0.188ns 0.651ns 0.00583 0 0 424 B
master AllCycleMoreComplexBody net472 181ns 0.172ns 0.666ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 240ns 0.309ns 1.2ns 0.00548 0 0 400 B
master BodyExtractorSimpleBody net472 261ns 0.278ns 1.08ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 220ns 0.203ns 0.761ns 0.00375 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.4μs 9.14ns 34.2ns 1.21 0.0215 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 14.8ns 57.1ns 0.0935 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 185ns 0.183ns 0.71ns 0.0675 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 239ns 0.44ns 1.65ns 0.00588 0 0 424 B
#3066 AllCycleMoreComplexBody net472 187ns 0.102ns 0.368ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 231ns 0.167ns 0.602ns 0.00556 0 0 400 B
#3066 BodyExtractorSimpleBody net472 258ns 0.305ns 1.18ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 228ns 0.271ns 1.05ns 0.00365 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.3μs 8.73ns 33.8ns 1.21 0.0215 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 13.2ns 51.1ns 0.0924 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - 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 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 178μs 137ns 531ns 0.268 0 0 20.33 KB
#3066 SendRequest net472 0.00427ns 0.00193ns 0.00749ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 182μs 140ns 523ns 0.18 0 0 20.32 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.56μs 2.75ns 9.93ns 0.126 0.000773 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.31μs 0.467ns 1.68ns 0.0111 0 0 824 B
#3066 ExecuteNonQuery net472 1.53μs 0.489ns 1.83ns 0.126 0.000765 0 794 B
#3066 ExecuteNonQuery netcoreapp3.1 1.26μs 0.393ns 1.42ns 0.0107 0 0 824 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.21μs 0.539ns 2.02ns 0.158 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.38μs 1.31ns 5.09ns 0.0131 0 0 984 B
master CallElasticsearchAsync net472 2.28μs 1.16ns 4.48ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.51μs 0.335ns 1.25ns 0.0144 0 0 1.1 KB
#3066 CallElasticsearch net472 2.14μs 0.318ns 1.1ns 0.158 0 0 1 KB
#3066 CallElasticsearch netcoreapp3.1 1.42μs 1.14ns 4.25ns 0.0129 0 0 984 B
#3066 CallElasticsearchAsync net472 2.39μs 0.668ns 2.59ns 0.18 0 0 1.14 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.52μs 0.687ns 2.66ns 0.0144 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.4μs 10.8ns 40.3ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.52μs 4.9ns 19ns 0.0162 0 0 1.22 KB
#3066 ExecuteAsync net472 2.47μs 3.62ns 13.5ns 0.2 0 0 1.26 KB
#3066 ExecuteAsync netcoreapp3.1 1.54μs 4.98ns 19.3ns 0.0161 0 0 1.22 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 4.97μs 21.2ns 82.1ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.11μs 4.92ns 18.4ns 0.0311 0 0 2.36 KB
#3066 SendAsync net472 4.87μs 13.6ns 52.7ns 0.392 0 0 2.48 KB
#3066 SendAsync netcoreapp3.1 3.25μs 2.58ns 9.67ns 0.0309 0 0 2.36 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 2.97μs 3.4ns 13.2ns 0.264 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.29μs 0.835ns 3.01ns 0.0228 0 0 1.73 KB
#3066 EnrichedLog net472 2.91μs 2.48ns 9.62ns 0.263 0 0 1.66 KB
#3066 EnrichedLog netcoreapp3.1 2.3μs 1.65ns 6.4ns 0.0232 0 0 1.73 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 148μs 135ns 524ns 0.663 0.221 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 206ns 799ns 0.0565 0 0 4.38 KB
#3066 EnrichedLog net472 151μs 145ns 561ns 0.678 0.226 0 4.5 KB
#3066 EnrichedLog netcoreapp3.1 114μs 184ns 663ns 0.0569 0 0 4.38 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.33μs 17.7ns 68.5ns 0.545 0.00267 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.27μs 13.1ns 50.8ns 0.0509 0 0 3.8 KB
#3066 EnrichedLog net472 5.38μs 14.9ns 57.9ns 0.545 0.0027 0 3.43 KB
#3066 EnrichedLog netcoreapp3.1 4.18μs 12.9ns 50.1ns 0.0516 0 0 3.8 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2μs 2.28ns 8.52ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.61μs 2.8ns 10.8ns 0.0163 0 0 1.21 KB
#3066 SendReceive net472 2.03μs 1.85ns 7.15ns 0.194 0 0 1.22 KB
#3066 SendReceive netcoreapp3.1 1.69μs 0.729ns 2.82ns 0.016 0 0 1.21 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 net472 4.71μs 1.56ns 6.03ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.13μs 1.61ns 6.01ns 0.0225 0 0 1.69 KB
#3066 EnrichedLog net472 4.66μs 1.66ns 6.42ns 0.329 0 0 2.08 KB
#3066 EnrichedLog netcoreapp3.1 4.05μs 1.13ns 4.09ns 0.0222 0 0 1.69 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 850ns 0.53ns 1.98ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 768ns 0.234ns 0.874ns 0.00846 0 0 648 B
master StartFinishScope net472 1.1μs 0.467ns 1.81ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 902ns 0.227ns 0.82ns 0.0103 0 0 768 B
#3066 StartFinishSpan net472 910ns 0.201ns 0.724ns 0.104 0 0 658 B
#3066 StartFinishSpan netcoreapp3.1 714ns 0.264ns 0.987ns 0.00859 0 0 648 B
#3066 StartFinishScope net472 1.13μs 0.685ns 2.65ns 0.117 0 0 738 B
#3066 StartFinishScope netcoreapp3.1 874ns 0.382ns 1.48ns 0.0104 0 0 768 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.29μs 0.347ns 1.34ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 993ns 0.515ns 1.93ns 0.0104 0 0 768 B
#3066 RunOnMethodBegin net472 1.21μs 0.29ns 1.09ns 0.117 0 0 738 B
#3066 RunOnMethodBegin netcoreapp3.1 1.05μs 0.277ns 1.07ns 0.0105 0 0 768 B

andrewlock avatar Aug 22 '22 15:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 739μs 206ns 772ns 0.368 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 460μs 129ns 483ns 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 738μs 362ns 1.4μs 0.365 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 467μs 139ns 503ns 0 0 0 2.58 KB
Benchmarks.Trace.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 net472 195ns 0.797ns 3.09ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 235ns 0.188ns 0.651ns 0.00583 0 0 424 B
master AllCycleMoreComplexBody net472 181ns 0.172ns 0.666ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 240ns 0.309ns 1.2ns 0.00548 0 0 400 B
master BodyExtractorSimpleBody net472 261ns 0.278ns 1.08ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 220ns 0.203ns 0.761ns 0.00375 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.4μs 9.14ns 34.2ns 1.21 0.0215 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 14.8ns 57.1ns 0.0935 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 187ns 0.107ns 0.385ns 0.0675 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 246ns 0.283ns 1.09ns 0.00589 0 0 424 B
#3066 AllCycleMoreComplexBody net472 189ns 0.16ns 0.621ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 232ns 0.137ns 0.493ns 0.00543 0 0 400 B
#3066 BodyExtractorSimpleBody net472 268ns 1.3ns 5.65ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 222ns 0.314ns 1.17ns 0.0038 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.4μs 5.86ns 21.9ns 1.21 0.0215 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 12.4ns 46.5ns 0.0908 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 178μs 137ns 531ns 0.268 0 0 20.33 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 180μs 161ns 624ns 0.18 0 0 20.32 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.56μs 2.75ns 9.93ns 0.126 0.000773 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.31μs 0.467ns 1.68ns 0.0111 0 0 824 B
#3066 ExecuteNonQuery net472 1.56μs 0.618ns 2.39ns 0.126 0.000779 0 794 B
#3066 ExecuteNonQuery netcoreapp3.1 1.29μs 0.466ns 1.74ns 0.011 0 0 824 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.21μs 0.539ns 2.02ns 0.158 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.38μs 1.31ns 5.09ns 0.0131 0 0 984 B
master CallElasticsearchAsync net472 2.28μs 1.16ns 4.48ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.51μs 0.335ns 1.25ns 0.0144 0 0 1.1 KB
#3066 CallElasticsearch net472 2.31μs 1.01ns 3.9ns 0.159 0 0 1 KB
#3066 CallElasticsearch netcoreapp3.1 1.39μs 0.936ns 3.62ns 0.0132 0 0 984 B
#3066 CallElasticsearchAsync net472 2.45μs 0.602ns 2.33ns 0.181 0 0 1.14 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.49μs 0.682ns 2.55ns 0.0149 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.4μs 10.8ns 40.3ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.52μs 4.9ns 19ns 0.0162 0 0 1.22 KB
#3066 ExecuteAsync net472 2.33μs 3.22ns 11.2ns 0.2 0 0 1.26 KB
#3066 ExecuteAsync netcoreapp3.1 1.64μs 1.75ns 6.78ns 0.0168 0 0 1.22 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 4.97μs 21.2ns 82.1ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.11μs 4.92ns 18.4ns 0.0311 0 0 2.36 KB
#3066 SendAsync net472 4.97μs 6.84ns 26.5ns 0.393 0 0 2.48 KB
#3066 SendAsync netcoreapp3.1 3.14μs 8.33ns 32.3ns 0.0318 0 0 2.36 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 2.97μs 3.4ns 13.2ns 0.264 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.29μs 0.835ns 3.01ns 0.0228 0 0 1.73 KB
#3066 EnrichedLog net472 2.84μs 4.59ns 17.2ns 0.263 0 0 1.66 KB
#3066 EnrichedLog netcoreapp3.1 2.28μs 0.784ns 2.94ns 0.0242 0 0 1.73 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 148μs 135ns 524ns 0.663 0.221 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 206ns 799ns 0.0565 0 0 4.38 KB
#3066 EnrichedLog net472 148μs 144ns 559ns 0.674 0.225 0 4.5 KB
#3066 EnrichedLog netcoreapp3.1 115μs 235ns 909ns 0.0569 0 0 4.38 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.33μs 17.7ns 68.5ns 0.545 0.00267 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.27μs 13.1ns 50.8ns 0.0509 0 0 3.8 KB
#3066 EnrichedLog net472 5.49μs 10.5ns 40.8ns 0.544 0.00271 0 3.43 KB
#3066 EnrichedLog netcoreapp3.1 4.18μs 8.39ns 32.5ns 0.0521 0 0 3.8 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2μs 2.28ns 8.52ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.61μs 2.8ns 10.8ns 0.0163 0 0 1.21 KB
#3066 SendReceive net472 1.94μs 2.01ns 7.8ns 0.194 0 0 1.22 KB
#3066 SendReceive netcoreapp3.1 1.67μs 0.561ns 2.1ns 0.0168 0 0 1.21 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 net472 4.71μs 1.56ns 6.03ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.13μs 1.61ns 6.01ns 0.0225 0 0 1.69 KB
#3066 EnrichedLog net472 4.74μs 1.18ns 4.4ns 0.329 0 0 2.08 KB
#3066 EnrichedLog netcoreapp3.1 4.11μs 1.19ns 4.44ns 0.0228 0 0 1.69 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 850ns 0.53ns 1.98ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 768ns 0.234ns 0.874ns 0.00846 0 0 648 B
master StartFinishScope net472 1.1μs 0.467ns 1.81ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 902ns 0.227ns 0.82ns 0.0103 0 0 768 B
#3066 StartFinishSpan net472 833ns 0.214ns 0.801ns 0.105 0 0 658 B
#3066 StartFinishSpan netcoreapp3.1 760ns 0.273ns 1.06ns 0.00875 0 0 648 B
#3066 StartFinishScope net472 1.14μs 0.529ns 2.05ns 0.117 0 0 738 B
#3066 StartFinishScope netcoreapp3.1 910ns 0.427ns 1.6ns 0.0104 0 0 768 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.29μs 0.347ns 1.34ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 993ns 0.515ns 1.93ns 0.0104 0 0 768 B
#3066 RunOnMethodBegin net472 1.17μs 0.547ns 2.12ns 0.117 0 0 738 B
#3066 RunOnMethodBegin netcoreapp3.1 977ns 0.576ns 2.16ns 0.0103 0 0 768 B

andrewlock avatar Aug 22 '22 16:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.146
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 732μs 393ns 1.52μs 0.361 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 466μs 152ns 569ns 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 740μs 306ns 1.14μs 0.37 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 460μs 288ns 1.12μs 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3066

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net472 1.146 199.49 228.63

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 183ns 0.203ns 0.788ns 0.0675 9.17E-05 0 425 B
master AllCycleSimpleBody netcoreapp3.1 237ns 0.244ns 0.945ns 0.00583 0 0 424 B
master AllCycleMoreComplexBody net472 198ns 0.974ns 4.02ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 233ns 0.294ns 1.14ns 0.00551 0 0 400 B
master BodyExtractorSimpleBody net472 257ns 0.252ns 0.974ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 231ns 0.401ns 1.44ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.6μs 16ns 59.9ns 1.21 0.0218 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 11.8μs 14.8ns 57.4ns 0.0883 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 185ns 0.238ns 0.92ns 0.0676 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 244ns 0.341ns 1.32ns 0.00591 0 0 424 B
#3066 AllCycleMoreComplexBody net472 229ns 0.209ns 0.809ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 233ns 0.187ns 0.723ns 0.00552 0 0 400 B
#3066 BodyExtractorSimpleBody net472 272ns 0.669ns 2.59ns 0.0574 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 230ns 0.225ns 0.87ns 0.00369 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.5μs 15.3ns 57.1ns 1.2 0.0219 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 16.5ns 63.8ns 0.0933 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 179μs 111ns 431ns 0.267 0 0 20.33 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 180μs 128ns 495ns 0.268 0 0 20.34 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.59μs 1.2ns 4.64ns 0.126 0.000794 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.24μs 0.678ns 2.54ns 0.0112 0 0 824 B
#3066 ExecuteNonQuery net472 1.57μs 1.28ns 4.45ns 0.126 0.000784 0 794 B
#3066 ExecuteNonQuery netcoreapp3.1 1.29μs 0.23ns 0.797ns 0.0111 0 0 824 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.23μs 0.764ns 2.96ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.41μs 0.971ns 3.76ns 0.0132 0 0 984 B
master CallElasticsearchAsync net472 2.3μs 0.515ns 2ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.46μs 1.29ns 4.84ns 0.0148 0 0 1.1 KB
#3066 CallElasticsearch net472 2.26μs 0.656ns 2.46ns 0.158 0 0 1 KB
#3066 CallElasticsearch netcoreapp3.1 1.41μs 0.516ns 2ns 0.0135 0 0 984 B
#3066 CallElasticsearchAsync net472 2.38μs 1.14ns 4.4ns 0.18 0 0 1.14 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.43μs 1.61ns 6.24ns 0.015 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.3μs 6.78ns 26.3ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.55μs 3.47ns 13ns 0.0162 0 0 1.22 KB
#3066 ExecuteAsync net472 2.38μs 8.89ns 34.4ns 0.2 0 0 1.26 KB
#3066 ExecuteAsync netcoreapp3.1 1.55μs 4.08ns 15.8ns 0.0166 0 0 1.22 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 4.84μs 11.2ns 41.8ns 0.394 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.09μs 7.4ns 27.7ns 0.0325 0 0 2.36 KB
#3066 SendAsync net472 4.98μs 18.7ns 72.6ns 0.392 0 0 2.48 KB
#3066 SendAsync netcoreapp3.1 3.08μs 10ns 38.7ns 0.0322 0 0 2.36 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 2.86μs 0.665ns 2.49ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.38μs 1.09ns 4.07ns 0.0238 0 0 1.73 KB
#3066 EnrichedLog net472 2.89μs 2.3ns 8.93ns 0.264 0 0 1.66 KB
#3066 EnrichedLog netcoreapp3.1 2.31μs 1.11ns 4.3ns 0.0232 0 0 1.73 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 148μs 258ns 999ns 0.668 0.223 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 145ns 563ns 0 0 0 4.38 KB
#3066 EnrichedLog net472 151μs 106ns 412ns 0.685 0.228 0 4.5 KB
#3066 EnrichedLog netcoreapp3.1 116μs 316ns 1.18μs 0 0 0 4.38 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.17μs 12.7ns 49.2ns 0.546 0.00256 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.27μs 7.04ns 26.3ns 0.0513 0 0 3.8 KB
#3066 EnrichedLog net472 5.33μs 9.93ns 35.8ns 0.545 0.00267 0 3.43 KB
#3066 EnrichedLog netcoreapp3.1 4.21μs 7.12ns 27.6ns 0.0521 0 0 3.8 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.04μs 0.789ns 3.06ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.64μs 0.878ns 3.17ns 0.0164 0 0 1.21 KB
#3066 SendReceive net472 2.06μs 1.72ns 6.45ns 0.193 0 0 1.22 KB
#3066 SendReceive netcoreapp3.1 1.72μs 1.12ns 4.32ns 0.0163 0 0 1.21 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 net472 4.69μs 1.88ns 7.3ns 0.329 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.21μs 1.46ns 5.46ns 0.023 0 0 1.69 KB
#3066 EnrichedLog net472 4.65μs 0.832ns 2.88ns 0.329 0 0 2.08 KB
#3066 EnrichedLog netcoreapp3.1 4.15μs 2.29ns 8.55ns 0.0227 0 0 1.69 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 859ns 0.545ns 2.11ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 767ns 0.252ns 0.909ns 0.00892 0 0 648 B
master StartFinishScope net472 1.08μs 0.523ns 1.96ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 918ns 0.242ns 0.939ns 0.0105 0 0 768 B
#3066 StartFinishSpan net472 917ns 0.184ns 0.69ns 0.104 0 0 658 B
#3066 StartFinishSpan netcoreapp3.1 732ns 0.245ns 0.915ns 0.00843 0 0 648 B
#3066 StartFinishScope net472 1.07μs 0.246ns 0.919ns 0.117 0 0 738 B
#3066 StartFinishScope netcoreapp3.1 833ns 0.201ns 0.725ns 0.0103 0 0 768 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.21μs 0.459ns 1.78ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.07μs 0.22ns 0.762ns 0.0107 0 0 768 B
#3066 RunOnMethodBegin net472 1.23μs 0.242ns 0.907ns 0.117 0 0 738 B
#3066 RunOnMethodBegin netcoreapp3.1 1.03μs 0.524ns 2.03ns 0.0103 0 0 768 B

andrewlock avatar Aug 23 '22 14:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.177
  • 16 benchmarks are slower, with geometric mean 1.167
  • 27 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 716μs 380ns 1.47μs 0.359 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 468μs 188ns 679ns 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 724μs 337ns 1.26μs 0.361 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 464μs 86.8ns 325ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3066

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net472 1.177 225.96 191.92

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 191ns 0.358ns 1.39ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 236ns 0.187ns 0.699ns 0.00582 0 0 424 B
master AllCycleMoreComplexBody net472 226ns 0.129ns 0.481ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 243ns 0.284ns 1.1ns 0.00552 0 0 400 B
master BodyExtractorSimpleBody net472 250ns 0.184ns 0.69ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 235ns 0.199ns 0.772ns 0.00369 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.5μs 10.4ns 38.8ns 1.21 0.0218 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 11.4ns 41.2ns 0.0917 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 186ns 0.155ns 0.579ns 0.0676 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 239ns 0.196ns 0.707ns 0.00579 0 0 424 B
#3066 AllCycleMoreComplexBody net472 192ns 0.102ns 0.369ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 235ns 0.259ns 1ns 0.00549 0 0 400 B
#3066 BodyExtractorSimpleBody net472 266ns 0.648ns 2.51ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 223ns 0.19ns 0.738ns 0.00369 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.7μs 47.5ns 184ns 1.21 0.0218 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.3μs 16.6ns 59.9ns 0.0914 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #3066

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.57 KB 240 B 1.18%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0.000901ns 0.000831ns 0.00322ns 0 0 0 0 b
master SendRequest netcoreapp3.1 180μs 123ns 476ns 0.269 0 0 20.33 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 182μs 145ns 562ns 0.272 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #3066

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.139 1,554.27 1,769.97
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.137 1,234.94 1,404.73

More allocations :warning: in #3066

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 947 B 153 B 19.27%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 936 B 112 B 13.59%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.55μs 0.729ns 2.73ns 0.126 0.000765 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.24μs 0.516ns 2ns 0.0111 0 0 824 B
#3066 ExecuteNonQuery net472 1.77μs 0.585ns 2.27ns 0.15 0.00089 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.4μs 0.395ns 1.48ns 0.0128 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #3066

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.158 2,320.55 2,687.94
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.145 1,353.89 1,550.36
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.141 1,423.03 1,623.07

More allocations :warning: in #3066

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.16 KB 153 B 15.25%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.29 KB 152 B 13.33%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.1 KB 112 B 11.38%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.22 KB 112 B 10.14%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.21μs 0.32ns 1.2ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.35μs 0.442ns 1.71ns 0.0135 0 0 984 B
master CallElasticsearchAsync net472 2.32μs 1.04ns 4.02ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.42μs 0.929ns 3.48ns 0.0149 0 0 1.1 KB
#3066 CallElasticsearch net472 2.46μs 1.07ns 3.99ns 0.183 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.55μs 0.437ns 1.69ns 0.0148 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.69μs 0.616ns 2.31ns 0.205 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.63μs 1.76ns 6.59ns 0.0162 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #3066

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.192 2,227.72 2,656.32

More allocations :warning: in #3066

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.41 KB 152 B 12.06%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.34 KB 112 B 9.15%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.23μs 2.49ns 8.98ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.54μs 2.91ns 10.5ns 0.0163 0 0 1.22 KB
#3066 ExecuteAsync net472 2.65μs 4.51ns 17.5ns 0.224 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.68μs 1.94ns 7.26ns 0.0176 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #3066

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 1.184 4,874.32 5,771.74
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 1.161 3,149.48 3,655.17

More allocations :warning: in #3066

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.77 KB 289 B 11.66%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.6 KB 240 B 10.17%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 4.87μs 10.7ns 41.3ns 0.394 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.15μs 8.21ns 30.7ns 0.032 0 0 2.36 KB
#3066 SendAsync net472 5.77μs 7.97ns 30.9ns 0.44 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.64μs 7.68ns 29.7ns 0.0356 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #3066

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.134 2,887.78 3,275.57

More allocations :warning: in #3066

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.81 KB 152 B 9.15%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.85 KB 112 B 6.46%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.89μs 3.55ns 13.7ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.33μs 1.72ns 6.44ns 0.0244 0 0 1.73 KB
#3066 EnrichedLog net472 3.28μs 3ns 11.6ns 0.288 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.4μs 1.18ns 4.41ns 0.0249 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #3066

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.65 KB 152 B 3.38%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.49 KB 112 B 2.56%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 148μs 213ns 825ns 0.67 0.223 0 4.5 KB
master EnrichedLog netcoreapp3.1 116μs 190ns 736ns 0.0574 0 0 4.38 KB
#3066 EnrichedLog net472 151μs 112ns 421ns 0.691 0.23 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 118μs 161ns 624ns 0 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #3066

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.59 KB 152 B 4.43%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.91 KB 112 B 2.95%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.14μs 16.2ns 62.9ns 0.545 0.00258 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.18μs 9.44ns 36.6ns 0.0524 0 0 3.8 KB
#3066 EnrichedLog net472 5.55μs 13.3ns 51.4ns 0.567 0.00278 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.34μs 7.05ns 27.3ns 0.0533 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #3066

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.129 1,638.58 1,850.58
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.123 2,017.37 2,265.09

More allocations :warning: in #3066

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.37 KB 152 B 12.46%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.32 KB 112 B 9.27%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.02μs 1.99ns 7.71ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.64μs 0.526ns 2.04ns 0.0164 0 0 1.21 KB
#3066 SendReceive net472 2.26μs 2.52ns 9.75ns 0.218 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.85μs 1.54ns 5.96ns 0.0176 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #3066

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.23 KB 153 B 7.36%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.8 KB 112 B 6.64%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.71μs 2.16ns 8.37ns 0.329 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.09μs 3.33ns 12.9ns 0.0225 0 0 1.69 KB
#3066 EnrichedLog net472 4.82μs 1.51ns 5.86ns 0.353 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.27μs 1.83ns 7.1ns 0.0235 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #3066

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.249 908.32 1,134.55
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.222 734.56 897.55
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.169 871.21 1,018.34
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.168 1,078.36 1,259.93

More allocations :warning: in #3066

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 810 B 152 B 23.10%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 760 B 112 B 17.28%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 908ns 0.219ns 0.849ns 0.105 0 0 658 B
master StartFinishSpan netcoreapp3.1 735ns 0.241ns 0.901ns 0.00846 0 0 648 B
master StartFinishScope net472 1.08μs 0.397ns 1.54ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 871ns 0.226ns 0.845ns 0.0105 0 0 768 B
#3066 StartFinishSpan net472 1.13μs 0.472ns 1.83ns 0.129 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 897ns 0.512ns 1.85ns 0.0103 0 0 760 B
#3066 StartFinishScope net472 1.26μs 0.487ns 1.82ns 0.141 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1.02μs 0.328ns 1.23ns 0.0118 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #3066

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.236 1,197.32 1,479.31

More allocations :warning: in #3066

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.2μs 0.385ns 1.44ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.07μs 0.699ns 2.71ns 0.0101 0 0 768 B
#3066 RunOnMethodBegin net472 1.48μs 0.429ns 1.66ns 0.142 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.09μs 0.273ns 1.02ns 0.0117 0 0 880 B

andrewlock avatar Aug 23 '22 15:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 730μs 359ns 1.39μs 0.361 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 452μs 1.11μs 4.31μs 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 728μs 207ns 774ns 0.361 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 469μs 165ns 596ns 0 0 0 2.59 KB
Benchmarks.Trace.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 net472 181ns 0.199ns 0.77ns 0.0676 9.21E-05 0 425 B
master AllCycleSimpleBody netcoreapp3.1 236ns 0.314ns 1.13ns 0.00583 0 0 424 B
master AllCycleMoreComplexBody net472 190ns 0.199ns 0.771ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.295ns 1.14ns 0.00538 0 0 400 B
master BodyExtractorSimpleBody net472 251ns 0.22ns 0.823ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 229ns 0.478ns 1.79ns 0.00366 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.1μs 12.5ns 46.8ns 1.21 0.015 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12μs 10.7ns 38.5ns 0.0902 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 185ns 0.2ns 0.722ns 0.0675 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 237ns 0.485ns 1.75ns 0.00583 0 0 424 B
#3066 AllCycleMoreComplexBody net472 180ns 0.157ns 0.608ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 236ns 0.522ns 1.95ns 0.00541 0 0 400 B
#3066 BodyExtractorSimpleBody net472 279ns 0.548ns 2.12ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 227ns 0.249ns 0.964ns 0.00375 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.3μs 11.2ns 43.4ns 1.21 0.0214 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 11.7μs 12.5ns 48.3ns 0.0879 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - 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 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 181μs 121ns 468ns 0.272 0 0 20.57 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 180μs 156ns 604ns 0.27 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.75μs 0.793ns 2.97ns 0.15 0.000895 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.41μs 4.13ns 15.5ns 0.0126 0 0 936 B
#3066 ExecuteNonQuery net472 1.82μs 0.528ns 1.83ns 0.15 0.000913 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.4μs 0.551ns 2.06ns 0.0126 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.44μs 0.844ns 3.16ns 0.183 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.55μs 1.46ns 5.64ns 0.0147 0 0 1.1 KB
master CallElasticsearchAsync net472 2.66μs 0.498ns 1.87ns 0.205 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.56μs 0.336ns 1.26ns 0.0164 0 0 1.22 KB
#3066 CallElasticsearch net472 2.41μs 0.676ns 2.53ns 0.184 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.48μs 0.609ns 2.36ns 0.0148 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.66μs 0.914ns 3.54ns 0.205 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.57μs 0.429ns 1.61ns 0.0164 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.52μs 5.32ns 19.9ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.68μs 2.78ns 10.4ns 0.0186 0 0 1.34 KB
#3066 ExecuteAsync net472 2.58μs 8.11ns 31.4ns 0.224 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.67μs 4.03ns 15.6ns 0.018 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.67μs 13.8ns 53.4ns 0.438 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.62μs 9.19ns 34.4ns 0.0345 0 0 2.6 KB
#3066 SendAsync net472 5.59μs 10.1ns 36.6ns 0.439 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.62μs 9.22ns 34.5ns 0.0346 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 3.11μs 1.07ns 4.01ns 0.288 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.34μs 0.734ns 2.65ns 0.0246 0 0 1.85 KB
#3066 EnrichedLog net472 3.05μs 0.59ns 2.21ns 0.288 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.42μs 1.07ns 4ns 0.0242 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 150μs 158ns 611ns 0.68 0.227 0 4.65 KB
master EnrichedLog netcoreapp3.1 114μs 122ns 458ns 0.057 0 0 4.49 KB
#3066 EnrichedLog net472 150μs 97.5ns 378ns 0.678 0.226 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 115μs 152ns 587ns 0.0572 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.52μs 11.1ns 43ns 0.569 0.00278 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.41μs 10.5ns 40.8ns 0.0535 0 0 3.91 KB
#3066 EnrichedLog net472 5.35μs 10.4ns 39.1ns 0.568 0.00266 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.24μs 13.2ns 49.4ns 0.0531 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.26μs 0.56ns 2.1ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.74μs 0.587ns 2.2ns 0.0175 0 0 1.32 KB
#3066 SendReceive net472 2.19μs 0.835ns 3.13ns 0.218 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.77μs 0.604ns 2.34ns 0.0179 0 0 1.32 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 net472 5.17μs 1.76ns 6.83ns 0.354 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.18μs 1.73ns 6.69ns 0.023 0 0 1.8 KB
#3066 EnrichedLog net472 5.07μs 1.7ns 6.56ns 0.354 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.42μs 5.46ns 20.4ns 0.0245 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 1.18μs 0.426ns 1.65ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 908ns 1.18ns 4.41ns 0.0104 0 0 760 B
master StartFinishScope net472 1.35μs 0.611ns 2.29ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.11μs 0.523ns 1.89ns 0.0122 0 0 880 B
#3066 StartFinishSpan net472 1.12μs 0.502ns 1.88ns 0.129 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 873ns 0.806ns 3.02ns 0.01 0 0 760 B
#3066 StartFinishScope net472 1.38μs 1.6ns 6.2ns 0.141 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1.08μs 1.17ns 4.55ns 0.0119 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.48μs 0.483ns 1.81ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.11μs 0.571ns 2.21ns 0.0122 0 0 880 B
#3066 RunOnMethodBegin net472 1.42μs 1.63ns 6.31ns 0.141 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.17μs 1.15ns 4.44ns 0.0117 0 0 880 B

andrewlock avatar Aug 24 '22 09:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 730μs 359ns 1.39μs 0.361 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 452μs 1.11μs 4.31μs 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 728μs 226ns 877ns 0.363 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 463μs 312ns 1.21μs 0 0 0 2.58 KB
Benchmarks.Trace.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 net472 181ns 0.199ns 0.77ns 0.0676 9.21E-05 0 425 B
master AllCycleSimpleBody netcoreapp3.1 236ns 0.314ns 1.13ns 0.00583 0 0 424 B
master AllCycleMoreComplexBody net472 190ns 0.199ns 0.771ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.295ns 1.14ns 0.00538 0 0 400 B
master BodyExtractorSimpleBody net472 251ns 0.22ns 0.823ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 229ns 0.478ns 1.79ns 0.00366 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.1μs 12.5ns 46.8ns 1.21 0.015 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12μs 10.7ns 38.5ns 0.0902 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 184ns 0.103ns 0.386ns 0.0676 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 238ns 0.551ns 2.13ns 0.00585 0 0 424 B
#3066 AllCycleMoreComplexBody net472 182ns 0.146ns 0.564ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 234ns 0.256ns 0.99ns 0.00542 0 0 400 B
#3066 BodyExtractorSimpleBody net472 274ns 0.336ns 1.26ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 229ns 0.441ns 1.71ns 0.00365 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.4μs 8.37ns 32.4ns 1.21 0.0216 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 11.8μs 11.6ns 43.5ns 0.0894 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - 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 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 181μs 121ns 468ns 0.272 0 0 20.57 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 181μs 145ns 562ns 0.271 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.75μs 0.793ns 2.97ns 0.15 0.000895 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.41μs 4.13ns 15.5ns 0.0126 0 0 936 B
#3066 ExecuteNonQuery net472 1.81μs 0.814ns 3.15ns 0.15 0.00091 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.38μs 0.466ns 1.68ns 0.0124 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.44μs 0.844ns 3.16ns 0.183 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.55μs 1.46ns 5.64ns 0.0147 0 0 1.1 KB
master CallElasticsearchAsync net472 2.66μs 0.498ns 1.87ns 0.205 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.56μs 0.336ns 1.26ns 0.0164 0 0 1.22 KB
#3066 CallElasticsearch net472 2.4μs 0.804ns 3.01ns 0.183 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.52μs 0.721ns 2.79ns 0.0144 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.61μs 0.968ns 3.49ns 0.205 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.64μs 0.452ns 1.69ns 0.0164 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.52μs 5.32ns 19.9ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.68μs 2.78ns 10.4ns 0.0186 0 0 1.34 KB
#3066 ExecuteAsync net472 2.49μs 4.77ns 18.5ns 0.224 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.77μs 4.18ns 16.2ns 0.0182 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.67μs 13.8ns 53.4ns 0.438 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.62μs 9.19ns 34.4ns 0.0345 0 0 2.6 KB
#3066 SendAsync net472 5.8μs 19.3ns 74.6ns 0.438 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.62μs 12.5ns 46.8ns 0.0355 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 3.11μs 1.07ns 4.01ns 0.288 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.34μs 0.734ns 2.65ns 0.0246 0 0 1.85 KB
#3066 EnrichedLog net472 3.01μs 0.963ns 3.6ns 0.287 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.46μs 0.966ns 3.48ns 0.0245 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 150μs 158ns 611ns 0.68 0.227 0 4.65 KB
master EnrichedLog netcoreapp3.1 114μs 122ns 458ns 0.057 0 0 4.49 KB
#3066 EnrichedLog net472 149μs 61.5ns 238ns 0.737 0.221 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 115μs 209ns 725ns 0.0577 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.52μs 11.1ns 43ns 0.569 0.00278 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.41μs 10.5ns 40.8ns 0.0535 0 0 3.91 KB
#3066 EnrichedLog net472 5.66μs 18ns 69.7ns 0.57 0.00279 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.36μs 9.47ns 36.7ns 0.0539 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.26μs 0.56ns 2.1ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.74μs 0.587ns 2.2ns 0.0175 0 0 1.32 KB
#3066 SendReceive net472 2.36μs 0.548ns 2.05ns 0.218 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.76μs 0.61ns 2.36ns 0.0176 0 0 1.32 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 net472 5.17μs 1.76ns 6.83ns 0.354 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.18μs 1.73ns 6.69ns 0.023 0 0 1.8 KB
#3066 EnrichedLog net472 5.11μs 2.86ns 11.1ns 0.352 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.2μs 1.26ns 4.54ns 0.0231 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 1.18μs 0.426ns 1.65ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 908ns 1.18ns 4.41ns 0.0104 0 0 760 B
master StartFinishScope net472 1.35μs 0.611ns 2.29ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.11μs 0.523ns 1.89ns 0.0122 0 0 880 B
#3066 StartFinishSpan net472 1.14μs 0.323ns 1.25ns 0.129 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 898ns 0.504ns 1.75ns 0.0103 0 0 760 B
#3066 StartFinishScope net472 1.4μs 0.683ns 2.56ns 0.142 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1.12μs 0.268ns 1.04ns 0.0116 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.48μs 0.483ns 1.81ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.11μs 0.571ns 2.21ns 0.0122 0 0 880 B
#3066 RunOnMethodBegin net472 1.47μs 0.705ns 2.73ns 0.141 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.19μs 0.685ns 2.65ns 0.0118 0 0 880 B

andrewlock avatar Aug 24 '22 10:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 713μs 480ns 1.8μs 0.357 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 451μs 111ns 431ns 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 706μs 398ns 1.54μs 0.355 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 465μs 482ns 1.87μs 0 0 0 2.58 KB
Benchmarks.Trace.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 net472 185ns 0.167ns 0.646ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 237ns 0.351ns 1.36ns 0.00573 0 0 424 B
master AllCycleMoreComplexBody net472 183ns 0.128ns 0.479ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 239ns 0.259ns 0.969ns 0.00538 0 0 400 B
master BodyExtractorSimpleBody net472 254ns 0.255ns 0.987ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 230ns 0.442ns 1.71ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.2μs 17.3ns 66.8ns 1.21 0.0151 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 15.9ns 59.4ns 0.0925 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 187ns 0.224ns 0.866ns 0.0675 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 237ns 0.492ns 1.91ns 0.00581 0 0 424 B
#3066 AllCycleMoreComplexBody net472 183ns 0.225ns 0.871ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 234ns 0.227ns 0.879ns 0.00544 0 0 400 B
#3066 BodyExtractorSimpleBody net472 258ns 0.19ns 0.736ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 215ns 0.235ns 0.881ns 0.0036 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 15.1μs 11.7ns 43.7ns 1.2 0.015 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 11.9μs 12.3ns 42.7ns 0.0887 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 182μs 241ns 935ns 0.182 0 0 20.57 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 179μs 157ns 609ns 0.268 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.81μs 0.417ns 1.5ns 0.15 0.0009 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.38μs 0.388ns 1.4ns 0.0125 0 0 936 B
#3066 ExecuteNonQuery net472 1.85μs 0.643ns 2.49ns 0.15 0.000928 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.4μs 0.467ns 1.68ns 0.0127 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.48μs 1.38ns 5.35ns 0.183 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.817ns 3.17ns 0.0152 0 0 1.1 KB
master CallElasticsearchAsync net472 2.54μs 2.53ns 9.81ns 0.204 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.66μs 0.513ns 1.92ns 0.0167 0 0 1.22 KB
#3066 CallElasticsearch net472 2.5μs 1.04ns 4.02ns 0.183 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.52μs 0.4ns 1.55ns 0.0145 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.61μs 1.01ns 3.9ns 0.204 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.72μs 0.418ns 1.51ns 0.0164 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.59μs 10.5ns 40.7ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.78μs 4.58ns 17.7ns 0.0182 0 0 1.34 KB
#3066 ExecuteAsync net472 2.59μs 6.97ns 26.1ns 0.224 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.65μs 3.37ns 13.1ns 0.0184 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.75μs 16.3ns 63ns 0.439 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.47μs 5.31ns 19.9ns 0.0349 0 0 2.6 KB
#3066 SendAsync net472 5.69μs 16.1ns 62.2ns 0.439 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.68μs 8.86ns 34.3ns 0.0359 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 2.96μs 1.64ns 6.15ns 0.288 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.42μs 1ns 3.75ns 0.0251 0 0 1.85 KB
#3066 EnrichedLog net472 3.07μs 3.43ns 13.3ns 0.287 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.55μs 2.97ns 11.5ns 0.0256 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 150μs 152ns 567ns 0.687 0.229 0 4.65 KB
master EnrichedLog netcoreapp3.1 116μs 137ns 514ns 0.0576 0 0 4.49 KB
#3066 EnrichedLog net472 152μs 140ns 543ns 0.683 0.228 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 115μs 144ns 559ns 0 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.65μs 17ns 66ns 0.568 0.00276 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.36μs 8.03ns 31.1ns 0.054 0 0 3.91 KB
#3066 EnrichedLog net472 5.62μs 18.4ns 71.3ns 0.57 0.00277 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.48μs 7.91ns 29.6ns 0.0514 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.32μs 2.16ns 8.36ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.81μs 1.52ns 5.88ns 0.0181 0 0 1.32 KB
#3066 SendReceive net472 2.2μs 1.5ns 5.62ns 0.217 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.76μs 0.933ns 3.61ns 0.0176 0 0 1.32 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 net472 4.99μs 1.63ns 6.11ns 0.354 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.24μs 1.54ns 5.95ns 0.0233 0 0 1.8 KB
#3066 EnrichedLog net472 4.96μs 2.07ns 8.02ns 0.353 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.21μs 2.01ns 7.8ns 0.0231 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 1.18μs 0.49ns 1.9ns 0.129 0 0 810 B
master StartFinishSpan netcoreapp3.1 925ns 0.335ns 1.25ns 0.0106 0 0 760 B
master StartFinishScope net472 1.4μs 0.389ns 1.45ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.05μs 0.449ns 1.62ns 0.0116 0 0 880 B
#3066 StartFinishSpan net472 1.12μs 0.559ns 2.16ns 0.129 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 894ns 0.216ns 0.778ns 0.0103 0 0 760 B
#3066 StartFinishScope net472 1.35μs 0.64ns 2.48ns 0.141 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1.02μs 0.316ns 1.18ns 0.0122 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.53μs 0.618ns 2.39ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.1μs 0.533ns 2.06ns 0.012 0 0 880 B
#3066 RunOnMethodBegin net472 1.42μs 1.06ns 3.98ns 0.141 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.21μs 0.475ns 1.78ns 0.0121 0 0 880 B

andrewlock avatar Aug 24 '22 13:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 713μs 480ns 1.8μs 0.357 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 451μs 111ns 431ns 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 713μs 440ns 1.7μs 0.357 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 281ns 1.09μs 0 0 0 2.59 KB
Benchmarks.Trace.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 net472 185ns 0.167ns 0.646ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 237ns 0.351ns 1.36ns 0.00573 0 0 424 B
master AllCycleMoreComplexBody net472 183ns 0.128ns 0.479ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 239ns 0.259ns 0.969ns 0.00538 0 0 400 B
master BodyExtractorSimpleBody net472 254ns 0.255ns 0.987ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 230ns 0.442ns 1.71ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.2μs 17.3ns 66.8ns 1.21 0.0151 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 15.9ns 59.4ns 0.0925 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 184ns 0.0864ns 0.312ns 0.0675 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 233ns 0.284ns 1.1ns 0.00584 0 0 424 B
#3066 AllCycleMoreComplexBody net472 183ns 0.156ns 0.584ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 233ns 0.193ns 0.746ns 0.00555 0 0 400 B
#3066 BodyExtractorSimpleBody net472 258ns 0.133ns 0.48ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 225ns 0.404ns 1.51ns 0.00376 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.6μs 7.1ns 27.5ns 1.21 0.0218 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 7.84ns 30.4ns 0.0919 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - 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 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 182μs 241ns 935ns 0.182 0 0 20.57 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 182μs 172ns 620ns 0.182 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.81μs 0.417ns 1.5ns 0.15 0.0009 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.38μs 0.388ns 1.4ns 0.0125 0 0 936 B
#3066 ExecuteNonQuery net472 1.83μs 0.651ns 2.52ns 0.15 0.000918 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.43μs 0.336ns 1.26ns 0.0121 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.48μs 1.38ns 5.35ns 0.183 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.817ns 3.17ns 0.0152 0 0 1.1 KB
master CallElasticsearchAsync net472 2.54μs 2.53ns 9.81ns 0.204 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.66μs 0.513ns 1.92ns 0.0167 0 0 1.22 KB
#3066 CallElasticsearch net472 2.39μs 0.5ns 1.93ns 0.183 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.54μs 0.729ns 2.73ns 0.0147 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.68μs 0.681ns 2.64ns 0.205 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.53μs 0.871ns 3.26ns 0.0159 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.59μs 10.5ns 40.7ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.78μs 4.58ns 17.7ns 0.0182 0 0 1.34 KB
#3066 ExecuteAsync net472 2.7μs 8.71ns 33.7ns 0.224 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.67μs 2.64ns 9.88ns 0.0181 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.75μs 16.3ns 63ns 0.439 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.47μs 5.31ns 19.9ns 0.0349 0 0 2.6 KB
#3066 SendAsync net472 5.66μs 21ns 81.5ns 0.44 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.56μs 8.31ns 32.2ns 0.0351 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 2.96μs 1.64ns 6.15ns 0.288 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.42μs 1ns 3.75ns 0.0251 0 0 1.85 KB
#3066 EnrichedLog net472 3.21μs 3.59ns 13.9ns 0.287 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.54μs 1.31ns 5.08ns 0.0253 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 150μs 152ns 567ns 0.687 0.229 0 4.65 KB
master EnrichedLog netcoreapp3.1 116μs 137ns 514ns 0.0576 0 0 4.49 KB
#3066 EnrichedLog net472 152μs 141ns 526ns 0.69 0.23 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 117μs 301ns 1.16μs 0.0583 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.65μs 17ns 66ns 0.568 0.00276 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.36μs 8.03ns 31.1ns 0.054 0 0 3.91 KB
#3066 EnrichedLog net472 5.56μs 16.4ns 61.2ns 0.569 0.00276 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.36μs 4.47ns 16.1ns 0.0529 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.32μs 2.16ns 8.36ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.81μs 1.52ns 5.88ns 0.0181 0 0 1.32 KB
#3066 SendReceive net472 2.36μs 2.62ns 10.1ns 0.218 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.74μs 1.29ns 4.83ns 0.0184 0 0 1.32 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 net472 4.99μs 1.63ns 6.11ns 0.354 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.24μs 1.54ns 5.95ns 0.0233 0 0 1.8 KB
#3066 EnrichedLog net472 5.04μs 1.65ns 6.39ns 0.355 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.1μs 3.39ns 12.7ns 0.0244 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 1.18μs 0.49ns 1.9ns 0.129 0 0 810 B
master StartFinishSpan netcoreapp3.1 925ns 0.335ns 1.25ns 0.0106 0 0 760 B
master StartFinishScope net472 1.4μs 0.389ns 1.45ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.05μs 0.449ns 1.62ns 0.0116 0 0 880 B
#3066 StartFinishSpan net472 1.13μs 0.336ns 1.21ns 0.129 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 890ns 0.349ns 1.31ns 0.0102 0 0 760 B
#3066 StartFinishScope net472 1.32μs 0.656ns 2.54ns 0.141 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1.08μs 0.389ns 1.45ns 0.012 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.53μs 0.618ns 2.39ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.1μs 0.533ns 2.06ns 0.012 0 0 880 B
#3066 RunOnMethodBegin net472 1.47μs 0.549ns 2.13ns 0.141 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.18μs 0.442ns 1.71ns 0.0118 0 0 880 B

andrewlock avatar Aug 24 '22 16:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • 2 benchmarks are slower, with geometric mean 1.119
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 713μs 480ns 1.8μs 0.357 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 451μs 111ns 431ns 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 714μs 500ns 1.94μs 0.357 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 465μs 523ns 2.03μs 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3066

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 1.121 184.91 207.29
Benchmarks.Trace.AppSecBodyBenchmark.BodyExtractorSimpleBody‑net472 1.116 254.31 283.83

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 185ns 0.167ns 0.646ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 237ns 0.351ns 1.36ns 0.00573 0 0 424 B
master AllCycleMoreComplexBody net472 183ns 0.128ns 0.479ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 239ns 0.259ns 0.969ns 0.00538 0 0 400 B
master BodyExtractorSimpleBody net472 254ns 0.255ns 0.987ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 230ns 0.442ns 1.71ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.2μs 17.3ns 66.8ns 1.21 0.0151 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 15.9ns 59.4ns 0.0925 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 208ns 0.231ns 0.896ns 0.0676 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 238ns 0.266ns 0.994ns 0.00576 0 0 424 B
#3066 AllCycleMoreComplexBody net472 181ns 0.162ns 0.605ns 0.0638 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 235ns 0.344ns 1.33ns 0.00551 0 0 400 B
#3066 BodyExtractorSimpleBody net472 284ns 0.478ns 1.85ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 225ns 0.269ns 1.04ns 0.00364 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.7μs 5.68ns 20.5ns 1.21 0.0147 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.3μs 14ns 54.3ns 0.092 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 182μs 241ns 935ns 0.182 0 0 20.57 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 180μs 97.8ns 379ns 0.271 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.81μs 0.417ns 1.5ns 0.15 0.0009 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.38μs 0.388ns 1.4ns 0.0125 0 0 936 B
#3066 ExecuteNonQuery net472 1.88μs 0.772ns 2.78ns 0.15 0.000946 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.4μs 0.345ns 1.29ns 0.0126 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.48μs 1.38ns 5.35ns 0.183 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.817ns 3.17ns 0.0152 0 0 1.1 KB
master CallElasticsearchAsync net472 2.54μs 2.53ns 9.81ns 0.204 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.66μs 0.513ns 1.92ns 0.0167 0 0 1.22 KB
#3066 CallElasticsearch net472 2.46μs 0.487ns 1.89ns 0.183 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.58μs 0.607ns 2.35ns 0.015 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.64μs 0.84ns 2.91ns 0.205 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.62μs 0.739ns 2.67ns 0.0162 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.59μs 10.5ns 40.7ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.78μs 4.58ns 17.7ns 0.0182 0 0 1.34 KB
#3066 ExecuteAsync net472 2.68μs 3.32ns 12.4ns 0.224 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.68μs 2.15ns 8.04ns 0.0182 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.75μs 16.3ns 63ns 0.439 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.47μs 5.31ns 19.9ns 0.0349 0 0 2.6 KB
#3066 SendAsync net472 5.86μs 4.42ns 16.5ns 0.438 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.53μs 7.16ns 27.7ns 0.0353 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 2.96μs 1.64ns 6.15ns 0.288 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.42μs 1ns 3.75ns 0.0251 0 0 1.85 KB
#3066 EnrichedLog net472 3.13μs 2.96ns 11.1ns 0.287 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.54μs 2.09ns 7.81ns 0.0257 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 150μs 152ns 567ns 0.687 0.229 0 4.65 KB
master EnrichedLog netcoreapp3.1 116μs 137ns 514ns 0.0576 0 0 4.49 KB
#3066 EnrichedLog net472 151μs 240ns 929ns 0.685 0.228 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 115μs 230ns 893ns 0.0575 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.65μs 17ns 66ns 0.568 0.00276 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.36μs 8.03ns 31.1ns 0.054 0 0 3.91 KB
#3066 EnrichedLog net472 5.65μs 8.19ns 31.7ns 0.569 0.00283 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.4μs 7.25ns 27.1ns 0.0527 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.32μs 2.16ns 8.36ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.81μs 1.52ns 5.88ns 0.0181 0 0 1.32 KB
#3066 SendReceive net472 2.24μs 3.57ns 13.8ns 0.217 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.82μs 0.692ns 2.49ns 0.0172 0 0 1.32 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 net472 4.99μs 1.63ns 6.11ns 0.354 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.24μs 1.54ns 5.95ns 0.0233 0 0 1.8 KB
#3066 EnrichedLog net472 5.19μs 1.16ns 4.48ns 0.353 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.28μs 1.88ns 7.05ns 0.0235 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 1.18μs 0.49ns 1.9ns 0.129 0 0 810 B
master StartFinishSpan netcoreapp3.1 925ns 0.335ns 1.25ns 0.0106 0 0 760 B
master StartFinishScope net472 1.4μs 0.389ns 1.45ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.05μs 0.449ns 1.62ns 0.0116 0 0 880 B
#3066 StartFinishSpan net472 1.18μs 0.533ns 2ns 0.129 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 911ns 0.258ns 0.931ns 0.0101 0 0 760 B
#3066 StartFinishScope net472 1.36μs 0.338ns 1.26ns 0.141 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1μs 0.582ns 2.18ns 0.012 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.53μs 0.618ns 2.39ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.1μs 0.533ns 2.06ns 0.012 0 0 880 B
#3066 RunOnMethodBegin net472 1.43μs 0.529ns 1.98ns 0.141 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.14μs 0.884ns 3.19ns 0.0119 0 0 880 B

andrewlock avatar Aug 24 '22 16:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 712μs 623ns 2.41μs 0.355 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 467μs 74.1ns 257ns 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 716μs 494ns 1.91μs 0.359 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 460μs 178ns 641ns 0 0 0 2.58 KB
Benchmarks.Trace.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 net472 186ns 0.122ns 0.472ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 238ns 0.24ns 0.93ns 0.0059 0 0 424 B
master AllCycleMoreComplexBody net472 184ns 0.141ns 0.526ns 0.0638 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.274ns 1.06ns 0.00551 0 0 400 B
master BodyExtractorSimpleBody net472 256ns 0.257ns 0.963ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 222ns 0.269ns 1.01ns 0.00377 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.6μs 16.6ns 62.1ns 1.2 0.0218 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 12.7ns 49.2ns 0.0916 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 184ns 0.14ns 0.506ns 0.0676 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 233ns 0.186ns 0.696ns 0.00576 0 0 424 B
#3066 AllCycleMoreComplexBody net472 191ns 0.241ns 0.933ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 235ns 0.309ns 1.2ns 0.00554 0 0 400 B
#3066 BodyExtractorSimpleBody net472 266ns 0.259ns 1ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 222ns 0.276ns 1.07ns 0.00368 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.3μs 16.7ns 64.5ns 1.2 0.0215 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 9.98ns 36ns 0.0911 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 181μs 129ns 498ns 0.271 0 0 20.57 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 183μs 229ns 886ns 0.183 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.86μs 1.01ns 3.79ns 0.15 0.00092 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.46μs 0.6ns 2.33ns 0.0124 0 0 936 B
#3066 ExecuteNonQuery net472 1.87μs 0.482ns 1.8ns 0.15 0.000936 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.45μs 0.967ns 3.74ns 0.0124 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.57μs 1.12ns 4.32ns 0.183 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.5μs 0.393ns 1.47ns 0.015 0 0 1.1 KB
master CallElasticsearchAsync net472 2.77μs 0.645ns 2.41ns 0.204 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.69μs 0.39ns 1.46ns 0.0162 0 0 1.22 KB
#3066 CallElasticsearch net472 2.51μs 0.546ns 2.12ns 0.182 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.5μs 0.579ns 2.16ns 0.0149 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.66μs 0.562ns 2.18ns 0.205 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.68μs 0.489ns 1.83ns 0.016 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.49μs 8.5ns 32.9ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.67μs 3.62ns 14ns 0.0184 0 0 1.34 KB
#3066 ExecuteAsync net472 2.62μs 8.63ns 33.4ns 0.223 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.63μs 4.21ns 16.3ns 0.0182 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.63μs 16.8ns 65.1ns 0.439 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.61μs 9.47ns 36.7ns 0.0356 0 0 2.6 KB
#3066 SendAsync net472 5.67μs 19.7ns 76.4ns 0.438 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.76μs 19.3ns 86.3ns 0.0354 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 3.12μs 2.36ns 9.12ns 0.287 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.47μs 0.628ns 2.35ns 0.0247 0 0 1.85 KB
#3066 EnrichedLog net472 3.13μs 3.03ns 11.7ns 0.287 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.46μs 0.991ns 6.5ns 0.0251 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 151μs 311ns 1.12μs 0.679 0.226 0 4.65 KB
master EnrichedLog netcoreapp3.1 117μs 120ns 465ns 0.0586 0 0 4.49 KB
#3066 EnrichedLog net472 152μs 219ns 821ns 0.683 0.228 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 116μs 167ns 648ns 0.0585 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.49μs 19.9ns 77ns 0.57 0.00271 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.21μs 10.8ns 40.5ns 0.0533 0 0 3.91 KB
#3066 EnrichedLog net472 5.59μs 18.5ns 71.5ns 0.569 0.00279 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.31μs 6.25ns 23.4ns 0.0519 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.31μs 1.28ns 4.8ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.76μs 2.43ns 9.1ns 0.0185 0 0 1.32 KB
#3066 SendReceive net472 2.26μs 1.48ns 5.73ns 0.217 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.8μs 1.66ns 6.41ns 0.0181 0 0 1.32 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 net472 4.92μs 1.78ns 6.88ns 0.353 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.29μs 1.5ns 5.62ns 0.0235 0 0 1.8 KB
#3066 EnrichedLog net472 4.84μs 1.06ns 3.82ns 0.353 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.25μs 1.73ns 6.49ns 0.0233 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 1.16μs 0.289ns 1.08ns 0.129 0 0 810 B
master StartFinishSpan netcoreapp3.1 898ns 0.31ns 1.12ns 0.0104 0 0 760 B
master StartFinishScope net472 1.38μs 0.274ns 0.987ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.05μs 0.535ns 2ns 0.0121 0 0 880 B
#3066 StartFinishSpan net472 1.12μs 0.35ns 1.36ns 0.128 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 919ns 0.244ns 0.879ns 0.0101 0 0 760 B
#3066 StartFinishScope net472 1.35μs 0.36ns 1.39ns 0.141 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1.09μs 0.796ns 3.08ns 0.0121 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.55μs 0.327ns 1.22ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.13μs 0.457ns 1.71ns 0.0119 0 0 880 B
#3066 RunOnMethodBegin net472 1.5μs 0.531ns 2.05ns 0.142 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.2μs 0.628ns 2.43ns 0.0114 0 0 880 B

andrewlock avatar Aug 25 '22 13:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.140
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 712μs 623ns 2.41μs 0.355 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 467μs 74.1ns 257ns 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 710μs 198ns 715ns 0.355 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 458μs 279ns 968ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3066

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 1.140 185.71 211.74

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 186ns 0.122ns 0.472ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 238ns 0.24ns 0.93ns 0.0059 0 0 424 B
master AllCycleMoreComplexBody net472 184ns 0.141ns 0.526ns 0.0638 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.274ns 1.06ns 0.00551 0 0 400 B
master BodyExtractorSimpleBody net472 256ns 0.257ns 0.963ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 222ns 0.269ns 1.01ns 0.00377 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.6μs 16.6ns 62.1ns 1.2 0.0218 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 12.7ns 49.2ns 0.0916 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 212ns 0.275ns 1.06ns 0.0675 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 238ns 0.376ns 1.46ns 0.00577 0 0 424 B
#3066 AllCycleMoreComplexBody net472 184ns 0.1ns 0.376ns 0.0638 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 235ns 0.168ns 0.627ns 0.00551 0 0 400 B
#3066 BodyExtractorSimpleBody net472 258ns 0.272ns 1.05ns 0.0574 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 227ns 0.187ns 0.673ns 0.00375 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 15.1μs 7.79ns 29.1ns 1.21 0.0151 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 13.9ns 52ns 0.0924 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - 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 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 181μs 129ns 498ns 0.271 0 0 20.57 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 181μs 162ns 629ns 0.272 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.86μs 1.01ns 3.79ns 0.15 0.00092 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.46μs 0.6ns 2.33ns 0.0124 0 0 936 B
#3066 ExecuteNonQuery net472 1.9μs 0.823ns 3.19ns 0.15 0.00095 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.37μs 0.248ns 0.927ns 0.0124 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.57μs 1.12ns 4.32ns 0.183 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.5μs 0.393ns 1.47ns 0.015 0 0 1.1 KB
master CallElasticsearchAsync net472 2.77μs 0.645ns 2.41ns 0.204 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.69μs 0.39ns 1.46ns 0.0162 0 0 1.22 KB
#3066 CallElasticsearch net472 2.44μs 0.462ns 1.73ns 0.183 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.6μs 2.61ns 10.1ns 0.0145 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.67μs 0.597ns 2.23ns 0.204 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.63μs 1.11ns 4.16ns 0.0163 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.49μs 8.5ns 32.9ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.67μs 3.62ns 14ns 0.0184 0 0 1.34 KB
#3066 ExecuteAsync net472 2.56μs 4.85ns 18.8ns 0.224 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.62μs 4.39ns 17ns 0.0184 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.63μs 16.8ns 65.1ns 0.439 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.61μs 9.47ns 36.7ns 0.0356 0 0 2.6 KB
#3066 SendAsync net472 5.8μs 16.1ns 62.5ns 0.438 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.56μs 11.6ns 45ns 0.0356 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 3.12μs 2.36ns 9.12ns 0.287 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.47μs 0.628ns 2.35ns 0.0247 0 0 1.85 KB
#3066 EnrichedLog net472 3.26μs 2.18ns 8.45ns 0.287 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.51μs 1.88ns 7.28ns 0.0251 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 151μs 311ns 1.12μs 0.679 0.226 0 4.65 KB
master EnrichedLog netcoreapp3.1 117μs 120ns 465ns 0.0586 0 0 4.49 KB
#3066 EnrichedLog net472 152μs 126ns 473ns 0.682 0.227 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 116μs 204ns 791ns 0.0586 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.49μs 19.9ns 77ns 0.57 0.00271 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.21μs 10.8ns 40.5ns 0.0533 0 0 3.91 KB
#3066 EnrichedLog net472 5.6μs 17.6ns 65.9ns 0.567 0.00277 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.26μs 11.3ns 42.3ns 0.0526 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.31μs 1.28ns 4.8ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.76μs 2.43ns 9.1ns 0.0185 0 0 1.32 KB
#3066 SendReceive net472 2.22μs 1.42ns 5.51ns 0.218 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.77μs 0.556ns 2.15ns 0.0178 0 0 1.32 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 net472 4.92μs 1.78ns 6.88ns 0.353 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.29μs 1.5ns 5.62ns 0.0235 0 0 1.8 KB
#3066 EnrichedLog net472 5.05μs 1.33ns 5.15ns 0.352 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.29μs 2.55ns 9.86ns 0.0235 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 1.16μs 0.289ns 1.08ns 0.129 0 0 810 B
master StartFinishSpan netcoreapp3.1 898ns 0.31ns 1.12ns 0.0104 0 0 760 B
master StartFinishScope net472 1.38μs 0.274ns 0.987ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.05μs 0.535ns 2ns 0.0121 0 0 880 B
#3066 StartFinishSpan net472 1.08μs 0.594ns 2.3ns 0.129 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 903ns 0.295ns 1.14ns 0.0104 0 0 760 B
#3066 StartFinishScope net472 1.34μs 0.396ns 1.48ns 0.141 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1.06μs 3.08ns 11.9ns 0.012 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.55μs 0.327ns 1.22ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.13μs 0.457ns 1.71ns 0.0119 0 0 880 B
#3066 RunOnMethodBegin net472 1.45μs 0.593ns 2.22ns 0.141 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.09μs 0.355ns 1.38ns 0.0121 0 0 880 B

andrewlock avatar Aug 25 '22 15:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 712μs 623ns 2.41μs 0.355 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 467μs 74.1ns 257ns 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 712μs 568ns 2.2μs 0.355 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 453μs 354ns 1.28μs 0 0 0 2.59 KB
Benchmarks.Trace.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 net472 186ns 0.122ns 0.472ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 238ns 0.24ns 0.93ns 0.0059 0 0 424 B
master AllCycleMoreComplexBody net472 184ns 0.141ns 0.526ns 0.0638 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.274ns 1.06ns 0.00551 0 0 400 B
master BodyExtractorSimpleBody net472 256ns 0.257ns 0.963ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 222ns 0.269ns 1.01ns 0.00377 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.6μs 16.6ns 62.1ns 1.2 0.0218 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 12.7ns 49.2ns 0.0916 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 181ns 0.21ns 0.813ns 0.0676 9.18E-05 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 236ns 0.26ns 0.971ns 0.00582 0 0 424 B
#3066 AllCycleMoreComplexBody net472 186ns 0.192ns 0.745ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 234ns 0.16ns 0.578ns 0.00551 0 0 400 B
#3066 BodyExtractorSimpleBody net472 275ns 0.695ns 2.69ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 223ns 0.206ns 0.769ns 0.00371 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.4μs 19.3ns 74.8ns 1.2 0.0215 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.6μs 18.2ns 65.5ns 0.0885 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - 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 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 181μs 129ns 498ns 0.271 0 0 20.57 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 181μs 157ns 608ns 0.273 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.86μs 1.01ns 3.79ns 0.15 0.00092 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.46μs 0.6ns 2.33ns 0.0124 0 0 936 B
#3066 ExecuteNonQuery net472 1.83μs 0.572ns 2.06ns 0.15 0.00091 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.37μs 0.505ns 1.89ns 0.0124 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.57μs 1.12ns 4.32ns 0.183 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.5μs 0.393ns 1.47ns 0.015 0 0 1.1 KB
master CallElasticsearchAsync net472 2.77μs 0.645ns 2.41ns 0.204 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.69μs 0.39ns 1.46ns 0.0162 0 0 1.22 KB
#3066 CallElasticsearch net472 2.44μs 0.51ns 1.91ns 0.183 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.51μs 1.44ns 5.4ns 0.0145 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.57μs 0.886ns 3.31ns 0.205 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.58μs 0.787ns 2.94ns 0.0166 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.49μs 8.5ns 32.9ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.67μs 3.62ns 14ns 0.0184 0 0 1.34 KB
#3066 ExecuteAsync net472 2.64μs 4.38ns 16.4ns 0.224 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.69μs 5.61ns 21.7ns 0.0179 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.63μs 16.8ns 65.1ns 0.439 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.61μs 9.47ns 36.7ns 0.0356 0 0 2.6 KB
#3066 SendAsync net472 5.89μs 12.4ns 48ns 0.44 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.57μs 7.97ns 30.9ns 0.036 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 3.12μs 2.36ns 9.12ns 0.287 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.47μs 0.628ns 2.35ns 0.0247 0 0 1.85 KB
#3066 EnrichedLog net472 3.07μs 1.02ns 3.94ns 0.288 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.56μs 0.8ns 3.1ns 0.0243 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 151μs 311ns 1.12μs 0.679 0.226 0 4.65 KB
master EnrichedLog netcoreapp3.1 117μs 120ns 465ns 0.0586 0 0 4.49 KB
#3066 EnrichedLog net472 152μs 80.4ns 311ns 0.683 0.228 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 115μs 119ns 444ns 0 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.49μs 19.9ns 77ns 0.57 0.00271 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.21μs 10.8ns 40.5ns 0.0533 0 0 3.91 KB
#3066 EnrichedLog net472 5.6μs 16.9ns 65.3ns 0.569 0.00274 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.47μs 4.6ns 17.2ns 0.0517 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.31μs 1.28ns 4.8ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.76μs 2.43ns 9.1ns 0.0185 0 0 1.32 KB
#3066 SendReceive net472 2.26μs 1.74ns 6.73ns 0.217 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.82μs 0.562ns 2.18ns 0.0174 0 0 1.32 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 net472 4.92μs 1.78ns 6.88ns 0.353 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.29μs 1.5ns 5.62ns 0.0235 0 0 1.8 KB
#3066 EnrichedLog net472 4.96μs 0.959ns 3.71ns 0.354 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.31μs 3.52ns 13.2ns 0.0235 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 1.16μs 0.289ns 1.08ns 0.129 0 0 810 B
master StartFinishSpan netcoreapp3.1 898ns 0.31ns 1.12ns 0.0104 0 0 760 B
master StartFinishScope net472 1.38μs 0.274ns 0.987ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.05μs 0.535ns 2ns 0.0121 0 0 880 B
#3066 StartFinishSpan net472 1.11μs 0.839ns 3.14ns 0.129 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 952ns 0.304ns 1.18ns 0.0102 0 0 760 B
#3066 StartFinishScope net472 1.34μs 0.702ns 2.72ns 0.142 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1.05μs 0.339ns 1.22ns 0.0115 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.55μs 0.327ns 1.22ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.13μs 0.457ns 1.71ns 0.0119 0 0 880 B
#3066 RunOnMethodBegin net472 1.53μs 0.588ns 2.28ns 0.141 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.17μs 0.293ns 1.1ns 0.0117 0 0 880 B

andrewlock avatar Aug 25 '22 22:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 717μs 310ns 1.16μs 0.359 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 468μs 755ns 2.83μs 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 716μs 656ns 2.54μs 0.357 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 455μs 722ns 2.7μs 0 0 0 2.58 KB
Benchmarks.Trace.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 net472 185ns 0.129ns 0.5ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 238ns 0.323ns 1.21ns 0.00584 0 0 424 B
master AllCycleMoreComplexBody net472 181ns 0.159ns 0.616ns 0.0638 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 235ns 0.218ns 0.815ns 0.00542 0 0 400 B
master BodyExtractorSimpleBody net472 273ns 0.221ns 0.827ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 227ns 0.322ns 1.21ns 0.00365 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.6μs 8.46ns 30.5ns 1.21 0.0148 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.6μs 9.94ns 37.2ns 0.0879 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 181ns 0.115ns 0.445ns 0.0676 9.23E-05 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 236ns 0.226ns 0.875ns 0.00572 0 0 424 B
#3066 AllCycleMoreComplexBody net472 184ns 0.192ns 0.717ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 232ns 0.164ns 0.615ns 0.00549 0 0 400 B
#3066 BodyExtractorSimpleBody net472 277ns 0.407ns 1.58ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 228ns 0.109ns 0.407ns 0.00379 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.4μs 8.83ns 33.1ns 1.21 0.0215 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 14.2ns 51.2ns 0.0884 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - 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 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 180μs 170ns 659ns 0.268 0 0 20.57 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 182μs 110ns 425ns 0.272 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.78μs 1.18ns 4.4ns 0.15 0.000887 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.45μs 0.516ns 2ns 0.0124 0 0 936 B
#3066 ExecuteNonQuery net472 1.86μs 0.55ns 2.06ns 0.15 0.000934 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.38μs 0.382ns 1.48ns 0.0125 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.52μs 0.693ns 2.68ns 0.184 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.53μs 1.33ns 5.16ns 0.015 0 0 1.1 KB
master CallElasticsearchAsync net472 2.61μs 1.4ns 5.24ns 0.204 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.6μs 1.23ns 4.59ns 0.016 0 0 1.22 KB
#3066 CallElasticsearch net472 2.5μs 0.622ns 2.33ns 0.184 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.53μs 2.11ns 7.89ns 0.0145 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.56μs 1.75ns 6.53ns 0.205 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.57μs 1.4ns 5.24ns 0.0164 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.67μs 5.7ns 22.1ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.66μs 2.01ns 7.53ns 0.0186 0 0 1.34 KB
#3066 ExecuteAsync net472 2.71μs 9.11ns 34.1ns 0.224 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.64μs 4.12ns 15.4ns 0.0178 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.69μs 11ns 41.1ns 0.438 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.5μs 5.49ns 20.5ns 0.0353 0 0 2.6 KB
#3066 SendAsync net472 5.58μs 14.8ns 57.2ns 0.44 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.53μs 6.46ns 25ns 0.035 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 3.18μs 1.38ns 5.16ns 0.287 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.57μs 1.17ns 4.2ns 0.0244 0 0 1.85 KB
#3066 EnrichedLog net472 3.09μs 1.04ns 3.9ns 0.287 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.51μs 1.01ns 3.93ns 0.0249 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 148μs 74.5ns 279ns 0.672 0.224 0 4.65 KB
master EnrichedLog netcoreapp3.1 115μs 167ns 646ns 0 0 0 4.49 KB
#3066 EnrichedLog net472 150μs 76.7ns 287ns 0.682 0.227 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 115μs 118ns 458ns 0.0576 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.5μs 13.2ns 49.3ns 0.568 0.00272 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.29μs 12.3ns 47.7ns 0.054 0 0 3.91 KB
#3066 EnrichedLog net472 5.59μs 9.6ns 37.2ns 0.57 0.00278 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.28μs 8.32ns 32.2ns 0.0523 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.19μs 1.31ns 5.09ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.8μs 1.18ns 4.42ns 0.0181 0 0 1.32 KB
#3066 SendReceive net472 2.19μs 0.507ns 1.76ns 0.217 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.78μs 0.798ns 2.99ns 0.0177 0 0 1.32 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 net472 5.01μs 1.91ns 7.13ns 0.354 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.25μs 3.53ns 13.7ns 0.0234 0 0 1.8 KB
#3066 EnrichedLog net472 5.14μs 2.28ns 8.81ns 0.352 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.34μs 1.38ns 4.79ns 0.0241 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 1.12μs 0.901ns 3.37ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 895ns 0.448ns 1.74ns 0.0102 0 0 760 B
master StartFinishScope net472 1.38μs 0.87ns 3.37ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.05μs 0.909ns 3.52ns 0.012 0 0 880 B
#3066 StartFinishSpan net472 1.12μs 1.41ns 5.45ns 0.129 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 913ns 0.821ns 3.07ns 0.0101 0 0 760 B
#3066 StartFinishScope net472 1.42μs 1.06ns 3.98ns 0.141 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1.15μs 0.878ns 3.29ns 0.0115 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.52μs 0.914ns 3.54ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.15μs 0.502ns 1.88ns 0.0121 0 0 880 B
#3066 RunOnMethodBegin net472 1.45μs 0.741ns 2.87ns 0.141 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.16μs 1.77ns 6.85ns 0.0115 0 0 880 B

andrewlock avatar Aug 26 '22 09:08 andrewlock

Code Coverage Report :bar_chart:

:heavy_check_mark: Merging #3066 into master will not change line coverage :heavy_check_mark: Merging #3066 into master will not change branch coverage :no_entry: Merging #3066 into master will will increase complexity by 45

master #3066 Change
Lines 17176 / 23534 17153 / 23610
Lines % 73% 73% 0% :heavy_check_mark:
Branches 10212 / 14538 10190 / 14568
Branches % 70% 70% 0% :heavy_check_mark:
Complexity 15640 15685 45 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3066 Change
Lines % 73% 73% 0% :heavy_check_mark:
Branches % 70% 70% 0% :heavy_check_mark:
Complexity 15640 15685 45 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.ClrProfiler.AspNetCore.DefaultModelBindingContext_SetResult_Integration -100% :no_entry: -100% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.AppSec.BodyExtractor -57% :no_entry: -40% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.AppSec.Transports.Http.HttpTransport -51% :no_entry: -90% :no_entry: 11 :no_entry:
Datadog.Trace.AppSec.InstrumentationGateway -19% :no_entry: 0% :heavy_check_mark: 3 :no_entry:
Datadog.Trace.AppSec.Waf.Context -3% :warning: -9% :no_entry: -6 :heavy_check_mark:
Datadog.Trace.AppSec.SecuritySettings 2% :heavy_check_mark: 6% :heavy_check_mark: 8 :no_entry:
Datadog.Trace.Ci.CIVisibility 5% :heavy_check_mark: 6% :heavy_check_mark: 0 :heavy_check_mark:

The following classes were added in #3066:

File Line coverage Branch coverage Complexity
Datadog.Trace.AppSec.BlockException 0% 100% 4
Datadog.Trace.AppSec.InstrumentationGatewayBlockingEventArgs 50% 0% 5

View the full reports for further details:

andrewlock avatar Aug 26 '22 09:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 716μs 368ns 1.42μs 0.355 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 490μs 643ns 2.41μs 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 718μs 390ns 1.51μs 0.355 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 467μs 313ns 1.21μs 0 0 0 2.58 KB
Benchmarks.Trace.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 net472 188ns 0.569ns 2.21ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 240ns 0.579ns 2.24ns 0.00579 0 0 424 B
master AllCycleMoreComplexBody net472 202ns 0.771ns 2.99ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 237ns 0.502ns 1.81ns 0.0054 0 0 400 B
master BodyExtractorSimpleBody net472 260ns 0.595ns 2.23ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 236ns 0.395ns 1.48ns 0.00375 0 0 272 B
master BodyExtractorMoreComplexBody net472 16μs 47.8ns 185ns 1.21 0.0159 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 18.3ns 66.2ns 0.0927 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 200ns 0.43ns 1.67ns 0.0675 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 245ns 0.648ns 2.51ns 0.00584 0 0 424 B
#3066 AllCycleMoreComplexBody net472 187ns 0.457ns 1.77ns 0.0638 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 239ns 0.445ns 1.67ns 0.0054 0 0 400 B
#3066 BodyExtractorSimpleBody net472 266ns 0.813ns 3.04ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 229ns 0.637ns 2.47ns 0.00376 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 15.5μs 41.7ns 161ns 1.2 0.0154 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 28.2ns 109ns 0.0919 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - 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 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 183μs 175ns 677ns 0.183 0 0 20.57 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 181μs 96.8ns 375ns 0.27 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.8μs 0.883ns 3.31ns 0.15 0.000904 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.43μs 1.13ns 4.39ns 0.0121 0 0 936 B
#3066 ExecuteNonQuery net472 1.84μs 0.652ns 2.44ns 0.15 0.000922 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.48μs 0.421ns 1.63ns 0.0125 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.5μs 1ns 3.89ns 0.184 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.58μs 0.995ns 3.72ns 0.0143 0 0 1.1 KB
master CallElasticsearchAsync net472 2.61μs 0.817ns 3.06ns 0.205 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.64μs 0.623ns 2.25ns 0.0163 0 0 1.22 KB
#3066 CallElasticsearch net472 2.43μs 0.698ns 2.7ns 0.183 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.61μs 0.724ns 2.8ns 0.0145 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.71μs 1.74ns 6.75ns 0.205 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.61μs 0.619ns 2.31ns 0.0162 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.63μs 2.01ns 7.54ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.72μs 1.72ns 6.68ns 0.0181 0 0 1.34 KB
#3066 ExecuteAsync net472 2.64μs 7.34ns 28.4ns 0.223 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.71μs 5.52ns 21.4ns 0.0181 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.77μs 10.5ns 40.7ns 0.437 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.6μs 6.51ns 25.2ns 0.0344 0 0 2.6 KB
#3066 SendAsync net472 5.68μs 22.2ns 83.2ns 0.439 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.6μs 9.25ns 35.8ns 0.0357 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 3.17μs 0.924ns 3.58ns 0.288 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.41μs 0.735ns 2.65ns 0.0242 0 0 1.85 KB
#3066 EnrichedLog net472 3.16μs 0.857ns 3.32ns 0.287 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.52μs 8.16ns 31.6ns 0.0244 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 148μs 47ns 182ns 0.672 0.224 0 4.65 KB
master EnrichedLog netcoreapp3.1 116μs 206ns 797ns 0 0 0 4.49 KB
#3066 EnrichedLog net472 151μs 177ns 686ns 0.685 0.228 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 113μs 96.7ns 362ns 0 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.61μs 15.3ns 57.1ns 0.569 0.00272 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.47μs 5.78ns 22.4ns 0.0533 0 0 3.91 KB
#3066 EnrichedLog net472 5.54μs 12ns 45.1ns 0.568 0.00284 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.38μs 9.63ns 36ns 0.0528 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.31μs 0.578ns 2.16ns 0.217 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.83μs 0.769ns 2.88ns 0.0174 0 0 1.32 KB
#3066 SendReceive net472 2.29μs 1.03ns 3.99ns 0.217 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.8μs 0.826ns 3.09ns 0.018 0 0 1.32 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 net472 4.98μs 1.5ns 5.81ns 0.353 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.24μs 1.52ns 5.5ns 0.0234 0 0 1.8 KB
#3066 EnrichedLog net472 5.12μs 2.31ns 8.65ns 0.353 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.22μs 2.29ns 8.57ns 0.0237 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 1.1μs 0.971ns 3.63ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 902ns 0.773ns 2.89ns 0.0105 0 0 760 B
master StartFinishScope net472 1.46μs 1.19ns 4.59ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.06μs 1.14ns 4.26ns 0.0116 0 0 880 B
#3066 StartFinishSpan net472 1.17μs 0.562ns 2.18ns 0.128 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 895ns 0.407ns 1.58ns 0.0103 0 0 760 B
#3066 StartFinishScope net472 1.39μs 0.306ns 1.1ns 0.141 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1.07μs 0.391ns 1.51ns 0.0118 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.52μs 1.63ns 6.32ns 0.142 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.16μs 0.922ns 3.45ns 0.0116 0 0 880 B
#3066 RunOnMethodBegin net472 1.48μs 1.15ns 4.44ns 0.141 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.1μs 0.802ns 3ns 0.0116 0 0 880 B

andrewlock avatar Aug 29 '22 09:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 716μs 368ns 1.42μs 0.355 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 490μs 643ns 2.41μs 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 714μs 527ns 2.04μs 0.357 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 464μs 289ns 1.12μs 0 0 0 2.58 KB
Benchmarks.Trace.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 net472 188ns 0.569ns 2.21ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 240ns 0.579ns 2.24ns 0.00579 0 0 424 B
master AllCycleMoreComplexBody net472 202ns 0.771ns 2.99ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 237ns 0.502ns 1.81ns 0.0054 0 0 400 B
master BodyExtractorSimpleBody net472 260ns 0.595ns 2.23ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 236ns 0.395ns 1.48ns 0.00375 0 0 272 B
master BodyExtractorMoreComplexBody net472 16μs 47.8ns 185ns 1.21 0.0159 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 18.3ns 66.2ns 0.0927 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 192ns 0.634ns 2.45ns 0.0675 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 244ns 0.477ns 1.85ns 0.00582 0 0 424 B
#3066 AllCycleMoreComplexBody net472 186ns 0.509ns 1.9ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 239ns 0.526ns 2.04ns 0.00538 0 0 400 B
#3066 BodyExtractorSimpleBody net472 261ns 0.718ns 2.69ns 0.0574 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 229ns 0.535ns 2.07ns 0.00376 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.7μs 38.3ns 148ns 1.21 0.0147 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 20.8ns 78ns 0.0866 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 183μs 175ns 677ns 0.183 0 0 20.57 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 180μs 143ns 554ns 0.271 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.8μs 0.883ns 3.31ns 0.15 0.000904 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.43μs 1.13ns 4.39ns 0.0121 0 0 936 B
#3066 ExecuteNonQuery net472 1.82μs 0.622ns 2.41ns 0.15 0.000908 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.51μs 0.755ns 2.93ns 0.0121 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.5μs 1ns 3.89ns 0.184 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.58μs 0.995ns 3.72ns 0.0143 0 0 1.1 KB
master CallElasticsearchAsync net472 2.61μs 0.817ns 3.06ns 0.205 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.64μs 0.623ns 2.25ns 0.0163 0 0 1.22 KB
#3066 CallElasticsearch net472 2.57μs 0.673ns 2.52ns 0.182 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.5μs 0.538ns 2.01ns 0.0142 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.6μs 0.899ns 3.24ns 0.205 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.63μs 0.424ns 1.58ns 0.0163 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.63μs 2.01ns 7.54ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.72μs 1.72ns 6.68ns 0.0181 0 0 1.34 KB
#3066 ExecuteAsync net472 2.7μs 4.02ns 14.5ns 0.224 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.72μs 4.48ns 17.3ns 0.018 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.77μs 10.5ns 40.7ns 0.437 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.6μs 6.51ns 25.2ns 0.0344 0 0 2.6 KB
#3066 SendAsync net472 5.7μs 17ns 63.6ns 0.437 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.69μs 8.79ns 34ns 0.0348 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 3.17μs 0.924ns 3.58ns 0.288 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.41μs 0.735ns 2.65ns 0.0242 0 0 1.85 KB
#3066 EnrichedLog net472 3.1μs 0.99ns 3.57ns 0.287 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.44μs 1.01ns 3.79ns 0.0244 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 148μs 47ns 182ns 0.672 0.224 0 4.65 KB
master EnrichedLog netcoreapp3.1 116μs 206ns 797ns 0 0 0 4.49 KB
#3066 EnrichedLog net472 150μs 204ns 791ns 0.672 0.224 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 116μs 91.5ns 342ns 0.058 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.61μs 15.3ns 57.1ns 0.569 0.00272 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.47μs 5.78ns 22.4ns 0.0533 0 0 3.91 KB
#3066 EnrichedLog net472 5.52μs 9.52ns 34.3ns 0.568 0.00284 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.39μs 5.59ns 21.6ns 0.0529 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.31μs 0.578ns 2.16ns 0.217 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.83μs 0.769ns 2.88ns 0.0174 0 0 1.32 KB
#3066 SendReceive net472 2.25μs 0.781ns 3.03ns 0.218 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.88μs 0.437ns 1.63ns 0.0177 0 0 1.32 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 net472 4.98μs 1.5ns 5.81ns 0.353 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.24μs 1.52ns 5.5ns 0.0234 0 0 1.8 KB
#3066 EnrichedLog net472 5.09μs 1.92ns 7.45ns 0.354 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.43μs 1.49ns 5.77ns 0.0242 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 1.1μs 0.971ns 3.63ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 902ns 0.773ns 2.89ns 0.0105 0 0 760 B
master StartFinishScope net472 1.46μs 1.19ns 4.59ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.06μs 1.14ns 4.26ns 0.0116 0 0 880 B
#3066 StartFinishSpan net472 1.1μs 0.798ns 3.09ns 0.129 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 919ns 0.922ns 3.57ns 0.0101 0 0 760 B
#3066 StartFinishScope net472 1.32μs 0.903ns 3.38ns 0.141 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1.09μs 0.848ns 3.17ns 0.012 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.52μs 1.63ns 6.32ns 0.142 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.16μs 0.922ns 3.45ns 0.0116 0 0 880 B
#3066 RunOnMethodBegin net472 1.48μs 0.731ns 2.73ns 0.141 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.12μs 0.793ns 2.97ns 0.0123 0 0 880 B

andrewlock avatar Aug 29 '22 10:08 andrewlock

Code Coverage Report :bar_chart:

:heavy_check_mark: Merging #3066 into master will not change line coverage :heavy_check_mark: Merging #3066 into master will not change branch coverage :no_entry: Merging #3066 into master will will increase complexity by 45

master #3066 Change
Lines 17252 / 23598 17204 / 23674
Lines % 73% 73% 0% :heavy_check_mark:
Branches 10242 / 14566 10203 / 14596
Branches % 70% 70% 0% :heavy_check_mark:
Complexity 15673 15718 45 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3066 Change
Lines % 73% 73% 0% :heavy_check_mark:
Branches % 70% 70% 0% :heavy_check_mark:
Complexity 15673 15718 45 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.ClrProfiler.AspNetCore.DefaultModelBindingContext_SetResult_Integration -100% :no_entry: -100% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.AppSec.BodyExtractor -57% :no_entry: -40% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.AppSec.Transports.Http.HttpTransport -51% :no_entry: -90% :no_entry: 11 :no_entry:
Datadog.Trace.AppSec.InstrumentationGateway -19% :no_entry: 0% :heavy_check_mark: 3 :no_entry:
Datadog.Trace.Agent.Transports.HttpStreamRequestFactory -12% :no_entry: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Telemetry.Transports.JsonTelemetryTransport -8% :no_entry: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.AppSec.Waf.Context -3% :warning: -9% :no_entry: -6 :heavy_check_mark:
Datadog.Trace.AppSec.SecuritySettings 2% :heavy_check_mark: 6% :heavy_check_mark: 8 :no_entry:
Datadog.Trace.Ci.CIVisibility 5% :heavy_check_mark: 6% :heavy_check_mark: 0 :heavy_check_mark:

The following classes were added in #3066:

File Line coverage Branch coverage Complexity
Datadog.Trace.AppSec.BlockException 0% 100% 4
Datadog.Trace.AppSec.InstrumentationGatewayBlockingEventArgs 50% 0% 5

View the full reports for further details:

andrewlock avatar Aug 29 '22 13:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.144
  • 1 benchmarks are slower, with geometric mean 1.141
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 710μs 357ns 1.33μs 0.353 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 469μs 181ns 678ns 0 0 0 2.59 KB
#3066 WriteAndFlushEnrichedTraces net472 718μs 341ns 1.28μs 0.355 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 455μs 73.2ns 254ns 0 0 0 2.59 KB
Benchmarks.Trace.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 net472 190ns 0.678ns 2.62ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 241ns 0.629ns 2.44ns 0.00581 0 0 424 B
master AllCycleMoreComplexBody net472 187ns 0.498ns 1.93ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 244ns 0.632ns 2.45ns 0.00546 0 0 400 B
master BodyExtractorSimpleBody net472 258ns 0.726ns 2.72ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 235ns 0.651ns 2.52ns 0.00365 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.8μs 41.5ns 161ns 1.21 0.0148 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 20.5ns 76.8ns 0.0882 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 199ns 0.0464ns 0.167ns 0.0675 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 246ns 0.713ns 2.76ns 0.00567 0 0 424 B
#3066 AllCycleMoreComplexBody net472 195ns 0.0617ns 0.231ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 248ns 0.547ns 2.12ns 0.0054 0 0 400 B
#3066 BodyExtractorSimpleBody net472 270ns 0.117ns 0.438ns 0.0574 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 239ns 0.625ns 2.42ns 0.00379 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 15.4μs 33.3ns 129ns 1.21 0.0155 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 48.3ns 187ns 0.0871 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - 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 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 180μs 122ns 471ns 0.269 0 0 20.57 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 182μs 155ns 599ns 0.181 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.86μs 0.532ns 1.99ns 0.15 0.000923 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.38μs 0.701ns 2.72ns 0.0125 0 0 936 B
#3066 ExecuteNonQuery net472 1.94μs 0.346ns 1.3ns 0.15 0.000971 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.47μs 0.485ns 1.82ns 0.0125 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.58μs 0.877ns 3.28ns 0.184 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.54μs 0.539ns 2.02ns 0.0146 0 0 1.1 KB
master CallElasticsearchAsync net472 2.69μs 0.456ns 1.77ns 0.205 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.71μs 0.645ns 2.33ns 0.0162 0 0 1.22 KB
#3066 CallElasticsearch net472 2.44μs 0.475ns 1.78ns 0.183 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.53μs 0.792ns 2.97ns 0.0146 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.56μs 0.613ns 2.29ns 0.205 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.6μs 0.727ns 2.72ns 0.0168 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.59μs 6.85ns 25.6ns 0.223 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.67μs 1.09ns 3.77ns 0.0178 0 0 1.34 KB
#3066 ExecuteAsync net472 2.63μs 7.28ns 28.2ns 0.223 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.73μs 4.11ns 15.9ns 0.0185 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.67μs 12.1ns 46.7ns 0.438 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.62μs 9.97ns 38.6ns 0.0344 0 0 2.6 KB
#3066 SendAsync net472 5.76μs 16.1ns 62.5ns 0.438 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.61μs 13.4ns 51.8ns 0.0348 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 3.16μs 1.3ns 5.03ns 0.287 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.53μs 0.923ns 3.45ns 0.0253 0 0 1.85 KB
#3066 EnrichedLog net472 3.29μs 2.84ns 11ns 0.287 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.64μs 1.05ns 4.05ns 0.0252 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 150μs 56.1ns 210ns 0.674 0.225 0 4.65 KB
master EnrichedLog netcoreapp3.1 115μs 198ns 765ns 0.0571 0 0 4.49 KB
#3066 EnrichedLog net472 151μs 126ns 486ns 0.687 0.229 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 115μs 176ns 683ns 0.0574 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.51μs 10.3ns 38.5ns 0.567 0.00273 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.43μs 4.97ns 18.6ns 0.0535 0 0 3.91 KB
#3066 EnrichedLog net472 5.61μs 15.8ns 61.2ns 0.569 0.00274 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.35μs 11.1ns 42.8ns 0.0534 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.31μs 0.914ns 3.54ns 0.217 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.91μs 0.589ns 2.28ns 0.0181 0 0 1.32 KB
#3066 SendReceive net472 2.31μs 1.24ns 4.8ns 0.218 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.86μs 1.04ns 4.04ns 0.0178 0 0 1.32 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 net472 5.07μs 1.49ns 5.77ns 0.354 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.27μs 2.4ns 8.97ns 0.0232 0 0 1.8 KB
#3066 EnrichedLog net472 5.08μs 1.66ns 6.44ns 0.353 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.36μs 1.57ns 5.67ns 0.024 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3066

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.141 1,009.43 1,151.72

Faster :tada: in #3066

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.144 1,037.85 907.52

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.13μs 0.944ns 3.66ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 1.04μs 0.712ns 2.66ns 0.00993 0 0 760 B
master StartFinishScope net472 1.41μs 0.923ns 3.58ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.01μs 0.695ns 2.51ns 0.0121 0 0 880 B
#3066 StartFinishSpan net472 1.09μs 1.78ns 6.64ns 0.128 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 907ns 0.683ns 2.64ns 0.00997 0 0 760 B
#3066 StartFinishScope net472 1.36μs 0.652ns 2.35ns 0.141 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1.15μs 0.446ns 1.73ns 0.0115 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.49μs 1.17ns 4.54ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.11μs 0.545ns 2.11ns 0.0118 0 0 880 B
#3066 RunOnMethodBegin net472 1.46μs 0.427ns 1.6ns 0.141 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.21μs 0.387ns 1.45ns 0.0119 0 0 880 B

andrewlock avatar Aug 29 '22 16:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 716μs 388ns 1.45μs 0.355 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 454μs 272ns 1.02μs 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 718μs 447ns 1.73μs 0.359 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 174ns 653ns 0 0 0 2.58 KB
Benchmarks.Trace.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 net472 188ns 0.508ns 1.97ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 241ns 0.664ns 2.39ns 0.00571 0 0 424 B
master AllCycleMoreComplexBody net472 199ns 0.772ns 2.99ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 244ns 0.552ns 2.14ns 0.0055 0 0 400 B
master BodyExtractorSimpleBody net472 264ns 0.885ns 3.43ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 238ns 0.654ns 2.53ns 0.00362 0 0 272 B
master BodyExtractorMoreComplexBody net472 15μs 53ns 205ns 1.21 0.0219 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13μs 40.7ns 157ns 0.0903 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 192ns 0.785ns 2.94ns 0.0676 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 241ns 0.407ns 1.52ns 0.00576 0 0 424 B
#3066 AllCycleMoreComplexBody net472 206ns 0.949ns 3.67ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 241ns 0.797ns 3.09ns 0.0055 0 0 400 B
#3066 BodyExtractorSimpleBody net472 274ns 0.965ns 3.74ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 236ns 0.629ns 2.43ns 0.00366 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 14.7μs 45.3ns 176ns 1.21 0.0147 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 39.5ns 153ns 0.0889 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 180μs 96.9ns 375ns 0.179 0 0 20.57 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 182μs 204ns 789ns 0.271 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.75μs 0.738ns 2.86ns 0.15 0.000872 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.41μs 0.459ns 1.72ns 0.0128 0 0 936 B
#3066 ExecuteNonQuery net472 1.87μs 0.611ns 2.37ns 0.15 0.000932 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.43μs 0.691ns 2.68ns 0.0129 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.61μs 1.17ns 4.54ns 0.184 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.645ns 2.33ns 0.0144 0 0 1.1 KB
master CallElasticsearchAsync net472 2.58μs 0.52ns 2.02ns 0.204 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.55μs 0.613ns 2.37ns 0.0163 0 0 1.22 KB
#3066 CallElasticsearch net472 2.52μs 0.59ns 2.21ns 0.183 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.58μs 0.426ns 1.59ns 0.0142 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.64μs 0.556ns 2.16ns 0.204 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.6μs 0.354ns 1.32ns 0.0161 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.66μs 6.32ns 24.5ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.72μs 3.26ns 12.2ns 0.0181 0 0 1.34 KB
#3066 ExecuteAsync net472 2.64μs 6.55ns 25.4ns 0.223 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.8μs 3.24ns 12.6ns 0.0182 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.89μs 7.88ns 30.5ns 0.438 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.56μs 7.87ns 30.5ns 0.0342 0 0 2.6 KB
#3066 SendAsync net472 5.75μs 10.3ns 39.9ns 0.438 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.61μs 3.98ns 15.4ns 0.0359 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 3.11μs 2.44ns 9.46ns 0.288 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.41μs 1.21ns 4.53ns 0.0255 0 0 1.85 KB
#3066 EnrichedLog net472 3.19μs 3.11ns 12.1ns 0.287 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.53μs 0.987ns 3.69ns 0.0251 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 152μs 228ns 885ns 0.683 0.228 0 4.65 KB
master EnrichedLog netcoreapp3.1 118μs 174ns 627ns 0.058 0 0 4.49 KB
#3066 EnrichedLog net472 151μs 163ns 611ns 0.683 0.228 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 119μs 197ns 764ns 0.0591 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.64μs 6.11ns 22ns 0.569 0.00283 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.32μs 9.36ns 35ns 0.0521 0 0 3.91 KB
#3066 EnrichedLog net472 5.64μs 11.7ns 45.4ns 0.568 0.00277 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.36μs 8.27ns 32ns 0.0526 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.31μs 1.49ns 5.76ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.89μs 0.897ns 3.47ns 0.0181 0 0 1.32 KB
#3066 SendReceive net472 2.35μs 4.22ns 16.3ns 0.217 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.85μs 0.974ns 3.77ns 0.0175 0 0 1.32 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 net472 5.07μs 1.89ns 7.31ns 0.353 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.21μs 1.72ns 6.45ns 0.0231 0 0 1.8 KB
#3066 EnrichedLog net472 5.02μs 2.48ns 9.61ns 0.354 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.27μs 1.97ns 7.63ns 0.0235 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 1.1μs 0.462ns 1.79ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 1.03μs 0.339ns 1.27ns 0.0102 0 0 760 B
master StartFinishScope net472 1.35μs 0.495ns 1.92ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.09μs 0.382ns 1.43ns 0.0119 0 0 880 B
#3066 StartFinishSpan net472 1.1μs 0.418ns 1.56ns 0.129 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 926ns 4.06ns 15.7ns 0.0101 0 0 760 B
#3066 StartFinishScope net472 1.32μs 0.408ns 1.58ns 0.142 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1.1μs 0.399ns 1.44ns 0.0121 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.5μs 0.599ns 2.32ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.23μs 0.55ns 1.98ns 0.0119 0 0 880 B
#3066 RunOnMethodBegin net472 1.45μs 0.45ns 1.74ns 0.141 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.17μs 0.286ns 1.07ns 0.0118 0 0 880 B

andrewlock avatar Aug 30 '22 15:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3066 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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.AgentWriterBenchmark - 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 WriteAndFlushEnrichedTraces net472 712μs 241ns 932ns 0.374 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 451μs 177ns 662ns 0 0 0 2.58 KB
#3066 WriteAndFlushEnrichedTraces net472 716μs 447ns 1.73μs 0.353 0 0 3.18 KB
#3066 WriteAndFlushEnrichedTraces netcoreapp3.1 468μs 198ns 741ns 0 0 0 2.58 KB
Benchmarks.Trace.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 net472 198ns 0.881ns 3.41ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 248ns 0.762ns 2.95ns 0.0058 0 0 424 B
master AllCycleMoreComplexBody net472 193ns 0.788ns 3.05ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 241ns 0.848ns 3.29ns 0.00539 0 0 400 B
master BodyExtractorSimpleBody net472 274ns 1.26ns 4.89ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 242ns 0.776ns 3.01ns 0.00366 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.7μs 53.5ns 207ns 1.2 0.0219 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.6μs 55.6ns 215ns 0.0923 0 0 6.75 KB
#3066 AllCycleSimpleBody net472 191ns 0.645ns 2.5ns 0.0675 0 0 425 B
#3066 AllCycleSimpleBody netcoreapp3.1 246ns 0.849ns 3.29ns 0.00573 0 0 424 B
#3066 AllCycleMoreComplexBody net472 194ns 0.857ns 3.32ns 0.0637 0 0 401 B
#3066 AllCycleMoreComplexBody netcoreapp3.1 239ns 0.807ns 3.12ns 0.00541 0 0 400 B
#3066 BodyExtractorSimpleBody net472 265ns 1.07ns 4.13ns 0.0573 0 0 361 B
#3066 BodyExtractorSimpleBody netcoreapp3.1 225ns 0.645ns 2.5ns 0.00366 0 0 272 B
#3066 BodyExtractorMoreComplexBody net472 15μs 54.7ns 212ns 1.21 0.0149 0 7.62 KB
#3066 BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 46.6ns 180ns 0.0941 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - 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 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 181μs 182ns 705ns 0.271 0 0 20.57 KB
#3066 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3066 SendRequest netcoreapp3.1 180μs 115ns 447ns 0.181 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - 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 ExecuteNonQuery net472 1.83μs 0.401ns 1.5ns 0.15 0.000916 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.45μs 0.768ns 2.98ns 0.0123 0 0 936 B
#3066 ExecuteNonQuery net472 1.86μs 0.812ns 3.04ns 0.15 0.00093 0 947 B
#3066 ExecuteNonQuery netcoreapp3.1 1.5μs 11.4ns 107ns 0.0127 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net472 2.49μs 1.05ns 3.94ns 0.184 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.49μs 0.428ns 1.6ns 0.0149 0 0 1.1 KB
master CallElasticsearchAsync net472 2.67μs 0.832ns 3.22ns 0.205 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.62μs 0.442ns 1.65ns 0.0162 0 0 1.22 KB
#3066 CallElasticsearch net472 2.59μs 0.846ns 3.28ns 0.183 0 0 1.16 KB
#3066 CallElasticsearch netcoreapp3.1 1.57μs 0.55ns 2.13ns 0.0148 0 0 1.1 KB
#3066 CallElasticsearchAsync net472 2.61μs 0.636ns 2.46ns 0.205 0 0 1.29 KB
#3066 CallElasticsearchAsync netcoreapp3.1 1.64μs 2.09ns 8.09ns 0.016 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - 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 ExecuteAsync net472 2.65μs 4.98ns 19.3ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.62μs 2.5ns 9.67ns 0.0181 0 0 1.34 KB
#3066 ExecuteAsync net472 2.63μs 6.24ns 24.2ns 0.224 0 0 1.41 KB
#3066 ExecuteAsync netcoreapp3.1 1.68μs 2.52ns 9.78ns 0.0187 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - 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 SendAsync net472 5.66μs 8.67ns 32.4ns 0.439 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.57μs 7.69ns 29.8ns 0.0348 0 0 2.6 KB
#3066 SendAsync net472 5.67μs 17.3ns 67.1ns 0.438 0 0 2.77 KB
#3066 SendAsync netcoreapp3.1 3.63μs 8.65ns 33.5ns 0.0342 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - 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 net472 3.21μs 2.06ns 7.72ns 0.287 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.46μs 1.34ns 4.83ns 0.0245 0 0 1.85 KB
#3066 EnrichedLog net472 3.05μs 3.12ns 11.7ns 0.287 0 0 1.81 KB
#3066 EnrichedLog netcoreapp3.1 2.65μs 0.817ns 3.06ns 0.0253 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - 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 net472 149μs 91.4ns 354ns 0.671 0.224 0 4.65 KB
master EnrichedLog netcoreapp3.1 115μs 124ns 481ns 0 0 0 4.49 KB
#3066 EnrichedLog net472 151μs 110ns 427ns 0.683 0.228 0 4.65 KB
#3066 EnrichedLog netcoreapp3.1 116μs 209ns 808ns 0.0579 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - 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 net472 5.6μs 12.4ns 47.9ns 0.569 0.00279 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.37μs 12.8ns 49.6ns 0.0541 0 0 3.91 KB
#3066 EnrichedLog net472 5.49μs 8.94ns 32.2ns 0.568 0.00278 0 3.59 KB
#3066 EnrichedLog netcoreapp3.1 4.37μs 11.2ns 43.5ns 0.052 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - 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 SendReceive net472 2.31μs 1.13ns 4.21ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.82μs 0.519ns 1.94ns 0.0182 0 0 1.32 KB
#3066 SendReceive net472 2.22μs 1.05ns 3.64ns 0.218 0 0 1.37 KB
#3066 SendReceive netcoreapp3.1 1.85μs 0.687ns 2.48ns 0.0177 0 0 1.32 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 net472 5.04μs 1.76ns 6.83ns 0.353 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.28μs 1.83ns 6.83ns 0.0234 0 0 1.8 KB
#3066 EnrichedLog net472 5.03μs 1.57ns 5.87ns 0.352 0 0 2.23 KB
#3066 EnrichedLog netcoreapp3.1 4.38μs 1.01ns 3.9ns 0.0241 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net472 1.11μs 0.332ns 1.28ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 893ns 0.371ns 1.39ns 0.0103 0 0 760 B
master StartFinishScope net472 1.35μs 0.91ns 3.4ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.06μs 1.13ns 4.39ns 0.0121 0 0 880 B
#3066 StartFinishSpan net472 1.2μs 0.445ns 1.72ns 0.129 0 0 810 B
#3066 StartFinishSpan netcoreapp3.1 957ns 0.46ns 1.72ns 0.01 0 0 760 B
#3066 StartFinishScope net472 1.37μs 0.965ns 3.61ns 0.141 0 0 891 B
#3066 StartFinishScope netcoreapp3.1 1.13μs 0.499ns 1.93ns 0.0119 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - 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 RunOnMethodBegin net472 1.48μs 0.658ns 2.55ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.17μs 0.726ns 2.72ns 0.0118 0 0 880 B
#3066 RunOnMethodBegin net472 1.45μs 0.896ns 3.47ns 0.141 0 0 891 B
#3066 RunOnMethodBegin netcoreapp3.1 1.15μs 0.302ns 1.13ns 0.0116 0 0 880 B

andrewlock avatar Aug 31 '22 09:08 andrewlock

Code Coverage Report :bar_chart:

:heavy_check_mark: Merging #3066 into master will not change line coverage :heavy_check_mark: Merging #3066 into master will not change branch coverage :no_entry: Merging #3066 into master will will increase complexity by 45

master #3066 Change
Lines 17259 / 23585 17344 / 23659
Lines % 73% 73% 0% :heavy_check_mark:
Branches 10242 / 14548 10288 / 14578
Branches % 70% 71% 0% :heavy_check_mark:
Complexity 15670 15715 45 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3066 Change
Lines % 73% 73% 0% :heavy_check_mark:
Branches % 70% 71% 0% :heavy_check_mark:
Complexity 15670 15715 45 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.AppSec.SecuritySettings 2% :heavy_check_mark: 6% :heavy_check_mark: 8 :no_entry:
Datadog.Trace.Ci.CIVisibility 5% :heavy_check_mark: 6% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.AppSec.Transports.Http.HttpTransport 7% :heavy_check_mark: -30% :no_entry: 11 :no_entry:
Datadog.Trace.DiagnosticListeners.DiagnosticObserver 7% :heavy_check_mark: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Telemetry.Transports.JsonTelemetryTransport 9% :heavy_check_mark: 17% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Agent.Transports.HttpStreamRequestFactory 12% :heavy_check_mark: 0% :heavy_check_mark: 0 :heavy_check_mark:

The following classes were added in #3066:

File Line coverage Branch coverage Complexity
Datadog.Trace.AppSec.BlockException 25% 100% 4
Datadog.Trace.AppSec.InstrumentationGatewayBlockingEventArgs 100% 100% 5

View the full reports for further details:

andrewlock avatar Aug 31 '22 10:08 andrewlock