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

Support Remote Configuration Management

Open shurivich opened this issue 3 years ago • 4 comments

Summary of changes

Add support for Support Remote Configuration management

shurivich avatar Aug 14 '22 14:08 shurivich

Benchmarks Report :snail:

Benchmarks for #3077 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 727μs 478ns 1.85μs 0.363 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 464μs 190ns 736ns 0 0 0 2.58 KB
#3077 WriteAndFlushEnrichedTraces net472 720μs 255ns 920ns 0.359 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 467μs 264ns 988ns 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 183ns 0.138ns 0.497ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 242ns 0.307ns 1.19ns 0.00584 0 0 424 B
master AllCycleMoreComplexBody net472 186ns 0.993ns 4.86ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.253ns 0.948ns 0.00557 0 0 400 B
master BodyExtractorSimpleBody net472 257ns 0.2ns 0.776ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 219ns 0.222ns 0.831ns 0.00374 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.3μs 8.28ns 29.9ns 1.2 0.0214 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 10.7ns 41.2ns 0.0914 0 0 6.75 KB
#3077 AllCycleSimpleBody net472 182ns 0.185ns 0.691ns 0.0675 0 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 242ns 0.344ns 1.29ns 0.00585 0 0 424 B
#3077 AllCycleMoreComplexBody net472 184ns 0.128ns 0.478ns 0.0637 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 245ns 0.353ns 1.37ns 0.00537 0 0 400 B
#3077 BodyExtractorSimpleBody net472 269ns 0.292ns 1.13ns 0.0573 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 226ns 0.32ns 1.24ns 0.00365 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.3μs 12.2ns 45.8ns 1.21 0.0214 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 16ns 57.6ns 0.0914 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 179μs 149ns 576ns 0.268 0 0 20.33 KB
#3077 SendRequest net472 0.00436ns 0.00196ns 0.00761ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 178μs 153ns 591ns 0.265 0 0 20.33 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.58μs 0.528ns 1.98ns 0.126 0.000785 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.3μs 0.329ns 1.23ns 0.011 0 0 824 B
#3077 ExecuteNonQuery net472 1.45μs 0.236ns 0.852ns 0.126 0.000725 0 794 B
#3077 ExecuteNonQuery netcoreapp3.1 1.2μs 0.406ns 1.46ns 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.05μs 0.45ns 1.68ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.39μs 0.707ns 2.65ns 0.0132 0 0 984 B
master CallElasticsearchAsync net472 2.35μs 0.63ns 2.36ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.42μs 0.59ns 2.21ns 0.0149 0 0 1.1 KB
#3077 CallElasticsearch net472 2.21μs 0.807ns 3.02ns 0.159 0 0 1 KB
#3077 CallElasticsearch netcoreapp3.1 1.38μs 0.725ns 2.81ns 0.0131 0 0 984 B
#3077 CallElasticsearchAsync net472 2.24μs 0.716ns 2.68ns 0.18 0 0 1.14 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.43μs 0.656ns 2.45ns 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 4.98ns 19.3ns 0.199 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.53μs 3.04ns 11.8ns 0.0169 0 0 1.22 KB
#3077 ExecuteAsync net472 2.3μs 5.59ns 21.7ns 0.2 0 0 1.26 KB
#3077 ExecuteAsync netcoreapp3.1 1.55μs 2.4ns 8.98ns 0.0162 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.88μs 9.66ns 37.4ns 0.393 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.15μs 7.82ns 29.3ns 0.032 0 0 2.36 KB
#3077 SendAsync net472 4.87μs 9.66ns 37.4ns 0.394 0 0 2.48 KB
#3077 SendAsync netcoreapp3.1 3.14μs 5.05ns 18.9ns 0.0316 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.81μs 0.661ns 2.56ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.42μs 0.764ns 2.86ns 0.0229 0 0 1.73 KB
#3077 EnrichedLog net472 2.84μs 0.968ns 3.62ns 0.263 0 0 1.66 KB
#3077 EnrichedLog netcoreapp3.1 2.3μs 0.515ns 1.99ns 0.0231 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 150μs 116ns 433ns 0.665 0.222 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 230ns 893ns 0 0 0 4.38 KB
#3077 EnrichedLog net472 150μs 158ns 611ns 0.679 0.226 0 4.5 KB
#3077 EnrichedLog netcoreapp3.1 115μs 226ns 847ns 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.36μs 11.8ns 45.7ns 0.544 0.00265 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.13μs 4.23ns 15.8ns 0.0522 0 0 3.8 KB
#3077 EnrichedLog net472 5.42μs 16.7ns 64.8ns 0.545 0.00266 0 3.43 KB
#3077 EnrichedLog netcoreapp3.1 4.07μs 9.5ns 35.5ns 0.0504 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 0.712ns 2.76ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.7μs 0.415ns 1.5ns 0.0162 0 0 1.21 KB
#3077 SendReceive net472 1.97μs 0.533ns 2.06ns 0.193 0 0 1.22 KB
#3077 SendReceive netcoreapp3.1 1.68μs 0.843ns 3.16ns 0.0159 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.81μs 1.34ns 5.18ns 0.328 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.18μs 3.64ns 14.1ns 0.0229 0 0 1.69 KB
#3077 EnrichedLog net472 4.63μs 1.66ns 6.42ns 0.33 0 0 2.08 KB
#3077 EnrichedLog netcoreapp3.1 4.16μs 1.47ns 5.7ns 0.0229 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 812ns 0.828ns 3.21ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 771ns 0.652ns 2.52ns 0.00883 0 0 648 B
master StartFinishScope net472 1.1μs 1.41ns 5.28ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 931ns 1.21ns 4.54ns 0.0101 0 0 768 B
#3077 StartFinishSpan net472 859ns 1.06ns 4.11ns 0.104 0 0 658 B
#3077 StartFinishSpan netcoreapp3.1 745ns 0.837ns 3.13ns 0.0086 0 0 648 B
#3077 StartFinishScope net472 1.07μs 1.14ns 4.43ns 0.117 0 0 738 B
#3077 StartFinishScope netcoreapp3.1 888ns 0.326ns 1.18ns 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.2μs 1.4ns 5.44ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.03μs 6.85ns 63.9ns 0.0103 0 0 768 B
#3077 RunOnMethodBegin net472 1.18μs 1.61ns 6.04ns 0.117 0 0 738 B
#3077 RunOnMethodBegin netcoreapp3.1 1.01μs 0.574ns 2.15ns 0.0101 0 0 768 B

andrewlock avatar Aug 15 '22 07:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 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 727μs 478ns 1.85μs 0.363 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 464μs 190ns 736ns 0 0 0 2.58 KB
#3077 WriteAndFlushEnrichedTraces net472 715μs 455ns 1.76μs 0.359 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 467μs 145ns 521ns 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 183ns 0.138ns 0.497ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 242ns 0.307ns 1.19ns 0.00584 0 0 424 B
master AllCycleMoreComplexBody net472 186ns 0.993ns 4.86ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.253ns 0.948ns 0.00557 0 0 400 B
master BodyExtractorSimpleBody net472 257ns 0.2ns 0.776ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 219ns 0.222ns 0.831ns 0.00374 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.3μs 8.28ns 29.9ns 1.2 0.0214 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 10.7ns 41.2ns 0.0914 0 0 6.75 KB
#3077 AllCycleSimpleBody net472 183ns 0.122ns 0.438ns 0.0676 9.16E-05 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 242ns 0.253ns 0.947ns 0.00584 0 0 424 B
#3077 AllCycleMoreComplexBody net472 182ns 0.0865ns 0.312ns 0.0638 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 235ns 0.212ns 0.822ns 0.00555 0 0 400 B
#3077 BodyExtractorSimpleBody net472 255ns 0.361ns 1.4ns 0.0573 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 227ns 0.327ns 1.22ns 0.00375 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.4μs 9.93ns 37.2ns 1.2 0.0215 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 14.2ns 53ns 0.0901 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 179μs 149ns 576ns 0.268 0 0 20.33 KB
#3077 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 180μs 132ns 511ns 0.27 0 0 20.33 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.58μs 0.528ns 1.98ns 0.126 0.000785 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.3μs 0.329ns 1.23ns 0.011 0 0 824 B
#3077 ExecuteNonQuery net472 1.56μs 0.671ns 2.51ns 0.126 0.000769 0 794 B
#3077 ExecuteNonQuery netcoreapp3.1 1.27μs 0.321ns 1.2ns 0.0114 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.05μs 0.45ns 1.68ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.39μs 0.707ns 2.65ns 0.0132 0 0 984 B
master CallElasticsearchAsync net472 2.35μs 0.63ns 2.36ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.42μs 0.59ns 2.21ns 0.0149 0 0 1.1 KB
#3077 CallElasticsearch net472 2.16μs 0.902ns 3.49ns 0.158 0 0 1 KB
#3077 CallElasticsearch netcoreapp3.1 1.46μs 2.59ns 10ns 0.013 0 0 984 B
#3077 CallElasticsearchAsync net472 2.38μs 0.958ns 3.71ns 0.181 0 0 1.14 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.47μs 0.516ns 1.93ns 0.0147 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 4.98ns 19.3ns 0.199 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.53μs 3.04ns 11.8ns 0.0169 0 0 1.22 KB
#3077 ExecuteAsync net472 2.31μs 5.79ns 22.4ns 0.199 0 0 1.26 KB
#3077 ExecuteAsync netcoreapp3.1 1.55μs 4.27ns 16.5ns 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.88μs 9.66ns 37.4ns 0.393 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.15μs 7.82ns 29.3ns 0.032 0 0 2.36 KB
#3077 SendAsync net472 4.88μs 9.47ns 35.4ns 0.393 0 0 2.48 KB
#3077 SendAsync netcoreapp3.1 3.14μs 8.35ns 32.3ns 0.0315 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.81μs 0.661ns 2.56ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.42μs 0.764ns 2.86ns 0.0229 0 0 1.73 KB
#3077 EnrichedLog net472 2.86μs 3.41ns 13.2ns 0.263 0 0 1.66 KB
#3077 EnrichedLog netcoreapp3.1 2.4μs 0.686ns 2.57ns 0.0228 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 150μs 116ns 433ns 0.665 0.222 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 230ns 893ns 0 0 0 4.38 KB
#3077 EnrichedLog net472 149μs 250ns 970ns 0.679 0.226 0 4.5 KB
#3077 EnrichedLog netcoreapp3.1 114μs 264ns 1.02μs 0.057 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.36μs 11.8ns 45.7ns 0.544 0.00265 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.13μs 4.23ns 15.8ns 0.0522 0 0 3.8 KB
#3077 EnrichedLog net472 5.25μs 10.8ns 41.7ns 0.544 0.00264 0 3.43 KB
#3077 EnrichedLog netcoreapp3.1 4.08μs 9.74ns 37.7ns 0.0509 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 0.712ns 2.76ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.7μs 0.415ns 1.5ns 0.0162 0 0 1.21 KB
#3077 SendReceive net472 1.95μs 0.334ns 1.25ns 0.194 0 0 1.22 KB
#3077 SendReceive netcoreapp3.1 1.68μs 0.338ns 1.27ns 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.81μs 1.34ns 5.18ns 0.328 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.18μs 3.64ns 14.1ns 0.0229 0 0 1.69 KB
#3077 EnrichedLog net472 4.7μs 0.618ns 2.31ns 0.329 0 0 2.08 KB
#3077 EnrichedLog netcoreapp3.1 4.1μs 2.25ns 8.72ns 0.0225 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 812ns 0.828ns 3.21ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 771ns 0.652ns 2.52ns 0.00883 0 0 648 B
master StartFinishScope net472 1.1μs 1.41ns 5.28ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 931ns 1.21ns 4.54ns 0.0101 0 0 768 B
#3077 StartFinishSpan net472 815ns 0.859ns 3.33ns 0.104 0 0 658 B
#3077 StartFinishSpan netcoreapp3.1 732ns 0.646ns 2.5ns 0.00878 0 0 648 B
#3077 StartFinishScope net472 991ns 0.942ns 3.65ns 0.117 0 0 738 B
#3077 StartFinishScope netcoreapp3.1 953ns 1.09ns 4.23ns 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.2μs 1.4ns 5.44ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.03μs 6.85ns 63.9ns 0.0103 0 0 768 B
#3077 RunOnMethodBegin net472 1.19μs 1.09ns 4.23ns 0.117 0 0 738 B
#3077 RunOnMethodBegin netcoreapp3.1 1μs 0.87ns 3.26ns 0.0105 0 0 768 B

andrewlock avatar Aug 15 '22 08:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 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 727μs 478ns 1.85μs 0.363 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 464μs 190ns 736ns 0 0 0 2.58 KB
#3077 WriteAndFlushEnrichedTraces net472 724μs 336ns 1.3μs 0.359 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 397ns 1.54μ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 183ns 0.138ns 0.497ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 242ns 0.307ns 1.19ns 0.00584 0 0 424 B
master AllCycleMoreComplexBody net472 186ns 0.993ns 4.86ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.253ns 0.948ns 0.00557 0 0 400 B
master BodyExtractorSimpleBody net472 257ns 0.2ns 0.776ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 219ns 0.222ns 0.831ns 0.00374 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.3μs 8.28ns 29.9ns 1.2 0.0214 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 10.7ns 41.2ns 0.0914 0 0 6.75 KB
#3077 AllCycleSimpleBody net472 193ns 0.186ns 0.72ns 0.0675 0 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 240ns 0.244ns 0.879ns 0.00582 0 0 424 B
#3077 AllCycleMoreComplexBody net472 205ns 0.164ns 0.567ns 0.0637 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 234ns 0.276ns 1.07ns 0.0054 0 0 400 B
#3077 BodyExtractorSimpleBody net472 249ns 0.124ns 0.482ns 0.0573 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 218ns 0.254ns 0.951ns 0.00373 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.4μs 12.1ns 47ns 1.21 0.0216 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 18.4ns 71.1ns 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 179μs 149ns 576ns 0.268 0 0 20.33 KB
#3077 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 179μs 171ns 662ns 0.179 0 0 20.33 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.58μs 0.528ns 1.98ns 0.126 0.000785 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.3μs 0.329ns 1.23ns 0.011 0 0 824 B
#3077 ExecuteNonQuery net472 1.43μs 0.34ns 1.32ns 0.126 0.000717 0 794 B
#3077 ExecuteNonQuery netcoreapp3.1 1.26μs 0.787ns 2.94ns 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.05μs 0.45ns 1.68ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.39μs 0.707ns 2.65ns 0.0132 0 0 984 B
master CallElasticsearchAsync net472 2.35μs 0.63ns 2.36ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.42μs 0.59ns 2.21ns 0.0149 0 0 1.1 KB
#3077 CallElasticsearch net472 2.15μs 0.759ns 2.63ns 0.158 0 0 1 KB
#3077 CallElasticsearch netcoreapp3.1 1.38μs 0.747ns 2.8ns 0.0132 0 0 984 B
#3077 CallElasticsearchAsync net472 2.35μs 0.529ns 1.91ns 0.181 0 0 1.14 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.43μs 0.505ns 1.89ns 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 4.98ns 19.3ns 0.199 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.53μs 3.04ns 11.8ns 0.0169 0 0 1.22 KB
#3077 ExecuteAsync net472 2.33μs 5.77ns 22.3ns 0.199 0 0 1.26 KB
#3077 ExecuteAsync netcoreapp3.1 1.56μs 3.9ns 15.1ns 0.0162 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.88μs 9.66ns 37.4ns 0.393 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.15μs 7.82ns 29.3ns 0.032 0 0 2.36 KB
#3077 SendAsync net472 4.97μs 18.8ns 72.8ns 0.392 0 0 2.48 KB
#3077 SendAsync netcoreapp3.1 3.16μs 6.15ns 23.8ns 0.0314 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.81μs 0.661ns 2.56ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.42μs 0.764ns 2.86ns 0.0229 0 0 1.73 KB
#3077 EnrichedLog net472 2.75μs 0.688ns 2.48ns 0.264 0 0 1.66 KB
#3077 EnrichedLog netcoreapp3.1 2.48μs 0.603ns 2.09ns 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 150μs 116ns 433ns 0.665 0.222 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 230ns 893ns 0 0 0 4.38 KB
#3077 EnrichedLog net472 150μs 400ns 1.55μs 0.663 0.221 0 4.5 KB
#3077 EnrichedLog netcoreapp3.1 113μs 165ns 641ns 0.0574 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.36μs 11.8ns 45.7ns 0.544 0.00265 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.13μs 4.23ns 15.8ns 0.0522 0 0 3.8 KB
#3077 EnrichedLog net472 5.39μs 10.1ns 39ns 0.545 0.00272 0 3.43 KB
#3077 EnrichedLog netcoreapp3.1 4.13μs 9.97ns 38.6ns 0.0513 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 0.712ns 2.76ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.7μs 0.415ns 1.5ns 0.0162 0 0 1.21 KB
#3077 SendReceive net472 1.98μs 0.725ns 2.81ns 0.193 0 0 1.22 KB
#3077 SendReceive netcoreapp3.1 1.66μs 0.742ns 2.77ns 0.0165 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.81μs 1.34ns 5.18ns 0.328 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.18μs 3.64ns 14.1ns 0.0229 0 0 1.69 KB
#3077 EnrichedLog net472 4.82μs 2.81ns 10.9ns 0.329 0 0 2.08 KB
#3077 EnrichedLog netcoreapp3.1 4.01μs 2.26ns 8.46ns 0.0221 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 812ns 0.828ns 3.21ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 771ns 0.652ns 2.52ns 0.00883 0 0 648 B
master StartFinishScope net472 1.1μs 1.41ns 5.28ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 931ns 1.21ns 4.54ns 0.0101 0 0 768 B
#3077 StartFinishSpan net472 861ns 0.309ns 1.2ns 0.104 0 0 658 B
#3077 StartFinishSpan netcoreapp3.1 733ns 0.483ns 1.81ns 0.0087 0 0 648 B
#3077 StartFinishScope net472 1.09μs 0.449ns 1.74ns 0.117 0 0 738 B
#3077 StartFinishScope netcoreapp3.1 902ns 0.544ns 1.96ns 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.2μs 1.4ns 5.44ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.03μs 6.85ns 63.9ns 0.0103 0 0 768 B
#3077 RunOnMethodBegin net472 1.25μs 0.45ns 1.74ns 0.117 0 0 738 B
#3077 RunOnMethodBegin netcoreapp3.1 958ns 0.314ns 1.13ns 0.0105 0 0 768 B

andrewlock avatar Aug 15 '22 09:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 compared to master:

  • 2 benchmarks are slower, with geometric mean 1.197
  • 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 727μs 478ns 1.85μs 0.363 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 464μs 190ns 736ns 0 0 0 2.58 KB
#3077 WriteAndFlushEnrichedTraces net472 716μs 528ns 2.05μs 0.357 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 481μs 392ns 1.47μs 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3077

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 1.285 182.61 234.60

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 183ns 0.138ns 0.497ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 242ns 0.307ns 1.19ns 0.00584 0 0 424 B
master AllCycleMoreComplexBody net472 186ns 0.993ns 4.86ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.253ns 0.948ns 0.00557 0 0 400 B
master BodyExtractorSimpleBody net472 257ns 0.2ns 0.776ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 219ns 0.222ns 0.831ns 0.00374 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.3μs 8.28ns 29.9ns 1.2 0.0214 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 10.7ns 41.2ns 0.0914 0 0 6.75 KB
#3077 AllCycleSimpleBody net472 235ns 0.305ns 1.18ns 0.0675 0 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 246ns 0.431ns 1.67ns 0.00581 0 0 424 B
#3077 AllCycleMoreComplexBody net472 187ns 0.166ns 0.643ns 0.0637 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 235ns 0.266ns 1.03ns 0.00531 0 0 400 B
#3077 BodyExtractorSimpleBody net472 250ns 0.299ns 1.16ns 0.0573 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 214ns 0.307ns 1.19ns 0.00371 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.3μs 15.6ns 58.3ns 1.21 0.0213 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 17.9ns 67.1ns 0.0921 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 179μs 149ns 576ns 0.268 0 0 20.33 KB
#3077 SendRequest net472 0.00731ns 0.0024ns 0.0093ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 180μs 112ns 433ns 0.269 0 0 20.33 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.58μs 0.528ns 1.98ns 0.126 0.000785 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.3μs 0.329ns 1.23ns 0.011 0 0 824 B
#3077 ExecuteNonQuery net472 1.59μs 0.537ns 2.08ns 0.126 0.000792 0 794 B
#3077 ExecuteNonQuery netcoreapp3.1 1.27μs 0.403ns 1.51ns 0.0108 0 0 824 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3077

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.115 2,052.99 2,289.81

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.05μs 0.45ns 1.68ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.39μs 0.707ns 2.65ns 0.0132 0 0 984 B
master CallElasticsearchAsync net472 2.35μs 0.63ns 2.36ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.42μs 0.59ns 2.21ns 0.0149 0 0 1.1 KB
#3077 CallElasticsearch net472 2.29μs 0.55ns 2.06ns 0.159 0 0 1 KB
#3077 CallElasticsearch netcoreapp3.1 1.38μs 0.774ns 2.79ns 0.0131 0 0 984 B
#3077 CallElasticsearchAsync net472 2.29μs 0.585ns 2.19ns 0.18 0 0 1.14 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.48μs 0.943ns 3.53ns 0.0147 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 4.98ns 19.3ns 0.199 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.53μs 3.04ns 11.8ns 0.0169 0 0 1.22 KB
#3077 ExecuteAsync net472 2.35μs 3.66ns 14.2ns 0.199 0 0 1.26 KB
#3077 ExecuteAsync netcoreapp3.1 1.56μs 3.89ns 15ns 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 4.88μs 9.66ns 37.4ns 0.393 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.15μs 7.82ns 29.3ns 0.032 0 0 2.36 KB
#3077 SendAsync net472 5.01μs 17.3ns 67ns 0.394 0 0 2.48 KB
#3077 SendAsync netcoreapp3.1 3.12μs 7.79ns 30.2ns 0.0315 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.81μs 0.661ns 2.56ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.42μs 0.764ns 2.86ns 0.0229 0 0 1.73 KB
#3077 EnrichedLog net472 2.91μs 3.08ns 11.9ns 0.263 0 0 1.66 KB
#3077 EnrichedLog netcoreapp3.1 2.46μs 0.775ns 2.9ns 0.0234 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 150μs 116ns 433ns 0.665 0.222 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 230ns 893ns 0 0 0 4.38 KB
#3077 EnrichedLog net472 150μs 187ns 698ns 0.67 0.223 0 4.5 KB
#3077 EnrichedLog netcoreapp3.1 115μs 173ns 601ns 0.0571 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.36μs 11.8ns 45.7ns 0.544 0.00265 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.13μs 4.23ns 15.8ns 0.0522 0 0 3.8 KB
#3077 EnrichedLog net472 5.22μs 11.6ns 43.4ns 0.545 0.00257 0 3.43 KB
#3077 EnrichedLog netcoreapp3.1 4.16μs 10.4ns 40.3ns 0.0524 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 0.712ns 2.76ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.7μs 0.415ns 1.5ns 0.0162 0 0 1.21 KB
#3077 SendReceive net472 2.11μs 2.72ns 10.5ns 0.194 0 0 1.22 KB
#3077 SendReceive netcoreapp3.1 1.64μs 1.3ns 5.04ns 0.0166 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.81μs 1.34ns 5.18ns 0.328 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.18μs 3.64ns 14.1ns 0.0229 0 0 1.69 KB
#3077 EnrichedLog net472 4.82μs 1.38ns 5.17ns 0.329 0 0 2.08 KB
#3077 EnrichedLog netcoreapp3.1 4.13μs 2.37ns 9.18ns 0.0226 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 812ns 0.828ns 3.21ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 771ns 0.652ns 2.52ns 0.00883 0 0 648 B
master StartFinishScope net472 1.1μs 1.41ns 5.28ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 931ns 1.21ns 4.54ns 0.0101 0 0 768 B
#3077 StartFinishSpan net472 879ns 0.286ns 1.07ns 0.104 0 0 658 B
#3077 StartFinishSpan netcoreapp3.1 787ns 0.346ns 1.25ns 0.00866 0 0 648 B
#3077 StartFinishScope net472 1.04μs 0.324ns 1.26ns 0.117 0 0 738 B
#3077 StartFinishScope netcoreapp3.1 947ns 0.258ns 0.998ns 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.2μs 1.4ns 5.44ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.03μs 6.85ns 63.9ns 0.0103 0 0 768 B
#3077 RunOnMethodBegin net472 1.2μs 0.471ns 1.82ns 0.117 0 0 738 B
#3077 RunOnMethodBegin netcoreapp3.1 996ns 0.379ns 1.42ns 0.0104 0 0 768 B

andrewlock avatar Aug 15 '22 18:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 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 727μs 259ns 970ns 0.363 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 475μs 749ns 2.59μs 0 0 0 2.58 KB
#3077 WriteAndFlushEnrichedTraces net472 721μs 444ns 1.72μs 0.359 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 471μs 241ns 869ns 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.224ns 0.839ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 236ns 0.282ns 1.09ns 0.00588 0 0 424 B
master AllCycleMoreComplexBody net472 184ns 0.509ns 1.97ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 243ns 0.274ns 0.987ns 0.00541 0 0 400 B
master BodyExtractorSimpleBody net472 272ns 0.36ns 1.39ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 216ns 0.2ns 0.774ns 0.00367 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.3μs 14.3ns 55.3ns 1.21 0.0215 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 14.2ns 55.1ns 0.0904 0 0 6.75 KB
#3077 AllCycleSimpleBody net472 181ns 0.201ns 0.777ns 0.0676 9.17E-05 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 243ns 0.257ns 0.997ns 0.00584 0 0 424 B
#3077 AllCycleMoreComplexBody net472 182ns 0.156ns 0.603ns 0.0637 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 242ns 0.234ns 0.905ns 0.00537 0 0 400 B
#3077 BodyExtractorSimpleBody net472 262ns 0.56ns 2.17ns 0.0573 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 216ns 0.328ns 1.27ns 0.00368 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.6μs 9.56ns 37ns 1.21 0.0218 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 11.6ns 43.3ns 0.0857 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 164ns 615ns 0.181 0 0 20.33 KB
#3077 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 179μs 387ns 1.5μs 0.178 0 0 20.33 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.54μs 0.423ns 1.58ns 0.126 0.000773 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.32μs 0.395ns 1.53ns 0.0113 0 0 824 B
#3077 ExecuteNonQuery net472 1.56μs 0.339ns 1.31ns 0.126 0.000779 0 794 B
#3077 ExecuteNonQuery netcoreapp3.1 1.27μs 0.308ns 1.11ns 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.11μs 0.614ns 2.38ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 2.43ns 9.4ns 0.0132 0 0 984 B
master CallElasticsearchAsync net472 2.43μs 1.2ns 4.63ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.41μs 0.52ns 2.01ns 0.0147 0 0 1.1 KB
#3077 CallElasticsearch net472 2.22μs 0.987ns 3.56ns 0.158 0 0 1 KB
#3077 CallElasticsearch netcoreapp3.1 1.4μs 0.864ns 3.34ns 0.0132 0 0 984 B
#3077 CallElasticsearchAsync net472 2.28μs 0.953ns 3.69ns 0.18 0 0 1.14 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.45μs 0.978ns 3.66ns 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.37μs 9.46ns 36.6ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.48μs 1.42ns 4.93ns 0.0166 0 0 1.22 KB
#3077 ExecuteAsync net472 2.41μs 5.41ns 21ns 0.199 0 0 1.26 KB
#3077 ExecuteAsync netcoreapp3.1 1.59μs 5.49ns 21.3ns 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.85μs 14.5ns 56.2ns 0.394 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.18μs 6.53ns 25.3ns 0.032 0 0 2.36 KB
#3077 SendAsync net472 5μs 11.5ns 44.4ns 0.392 0 0 2.48 KB
#3077 SendAsync netcoreapp3.1 3.17μs 9.8ns 38ns 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.79μs 1.05ns 3.94ns 0.264 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.3μs 0.877ns 3.4ns 0.023 0 0 1.73 KB
#3077 EnrichedLog net472 2.8μs 0.58ns 2.09ns 0.263 0 0 1.66 KB
#3077 EnrichedLog netcoreapp3.1 2.33μs 0.801ns 3.1ns 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 150μs 168ns 652ns 0.674 0.225 0 4.5 KB
master EnrichedLog netcoreapp3.1 116μs 155ns 599ns 0 0 0 4.38 KB
#3077 EnrichedLog net472 150μs 323ns 1.25μs 0.665 0.222 0 4.5 KB
#3077 EnrichedLog netcoreapp3.1 115μs 94.1ns 352ns 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.28μs 9.7ns 36.3ns 0.545 0.00266 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.18μs 8.2ns 29.6ns 0.0519 0 0 3.8 KB
#3077 EnrichedLog net472 5.15μs 17ns 63.7ns 0.545 0.00253 0 3.43 KB
#3077 EnrichedLog netcoreapp3.1 4.16μs 9.12ns 35.3ns 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.03μs 0.517ns 2ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.6μs 0.884ns 3.42ns 0.0161 0 0 1.21 KB
#3077 SendReceive net472 1.93μs 1.36ns 5.08ns 0.193 0 0 1.22 KB
#3077 SendReceive netcoreapp3.1 1.67μs 0.949ns 3.68ns 0.0159 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.48ns 5.73ns 0.328 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.08μs 2.71ns 10.5ns 0.0224 0 0 1.69 KB
#3077 EnrichedLog net472 4.83μs 1.34ns 5.17ns 0.329 0 0 2.08 KB
#3077 EnrichedLog netcoreapp3.1 4.05μs 2.47ns 9.58ns 0.0221 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 855ns 0.547ns 2.12ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 764ns 0.713ns 2.76ns 0.00874 0 0 648 B
master StartFinishScope net472 1.08μs 0.865ns 3.35ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 882ns 0.549ns 2.13ns 0.0101 0 0 768 B
#3077 StartFinishSpan net472 797ns 0.771ns 2.99ns 0.104 0 0 658 B
#3077 StartFinishSpan netcoreapp3.1 742ns 0.508ns 1.97ns 0.00885 0 0 648 B
#3077 StartFinishScope net472 1.1μs 1.01ns 3.89ns 0.117 0 0 738 B
#3077 StartFinishScope netcoreapp3.1 927ns 0.608ns 2.27ns 0.0106 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.811ns 3.14ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.02μs 0.626ns 2.42ns 0.0103 0 0 768 B
#3077 RunOnMethodBegin net472 1.25μs 1.47ns 5.52ns 0.117 0 0 738 B
#3077 RunOnMethodBegin netcoreapp3.1 1.03μs 1.06ns 3.83ns 0.0106 0 0 768 B

andrewlock avatar Aug 17 '22 10:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 compared to master:

  • 2 benchmarks are slower, with geometric mean 1.278
  • 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 727μs 259ns 970ns 0.363 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 475μs 749ns 2.59μs 0 0 0 2.58 KB
#3077 WriteAndFlushEnrichedTraces net472 721μs 438ns 1.7μs 0.359 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 468μs 308ns 1.19μs 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3077

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 1.301 180.94 235.49
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net472 1.256 183.49 230.42

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 181ns 0.224ns 0.839ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 236ns 0.282ns 1.09ns 0.00588 0 0 424 B
master AllCycleMoreComplexBody net472 184ns 0.509ns 1.97ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 243ns 0.274ns 0.987ns 0.00541 0 0 400 B
master BodyExtractorSimpleBody net472 272ns 0.36ns 1.39ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 216ns 0.2ns 0.774ns 0.00367 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.3μs 14.3ns 55.3ns 1.21 0.0215 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 14.2ns 55.1ns 0.0904 0 0 6.75 KB
#3077 AllCycleSimpleBody net472 236ns 0.23ns 0.89ns 0.0676 0 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 244ns 0.475ns 1.71ns 0.00586 0 0 424 B
#3077 AllCycleMoreComplexBody net472 231ns 0.628ns 2.35ns 0.0637 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 242ns 0.284ns 1.06ns 0.00541 0 0 400 B
#3077 BodyExtractorSimpleBody net472 256ns 0.168ns 0.651ns 0.0574 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 228ns 0.168ns 0.65ns 0.00377 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.4μs 8.8ns 34.1ns 1.21 0.0216 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 16.3ns 62.9ns 0.0901 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 164ns 615ns 0.181 0 0 20.33 KB
#3077 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 179μs 81.5ns 316ns 0.179 0 0 20.33 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.54μs 0.423ns 1.58ns 0.126 0.000773 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.32μs 0.395ns 1.53ns 0.0113 0 0 824 B
#3077 ExecuteNonQuery net472 1.56μs 0.648ns 2.51ns 0.126 0.000771 0 794 B
#3077 ExecuteNonQuery netcoreapp3.1 1.33μs 2.7ns 10.4ns 0.0112 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.11μs 0.614ns 2.38ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 2.43ns 9.4ns 0.0132 0 0 984 B
master CallElasticsearchAsync net472 2.43μs 1.2ns 4.63ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.41μs 0.52ns 2.01ns 0.0147 0 0 1.1 KB
#3077 CallElasticsearch net472 2.23μs 0.903ns 3.38ns 0.159 0 0 1 KB
#3077 CallElasticsearch netcoreapp3.1 1.46μs 0.417ns 1.56ns 0.0132 0 0 984 B
#3077 CallElasticsearchAsync net472 2.35μs 7.33ns 27.4ns 0.181 0 0 1.14 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.46μs 0.454ns 1.7ns 0.0153 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 9.46ns 36.6ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.48μs 1.42ns 4.93ns 0.0166 0 0 1.22 KB
#3077 ExecuteAsync net472 2.4μs 7.45ns 28.9ns 0.199 0 0 1.26 KB
#3077 ExecuteAsync netcoreapp3.1 1.56μs 4.19ns 16.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 4.85μs 14.5ns 56.2ns 0.394 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.18μs 6.53ns 25.3ns 0.032 0 0 2.36 KB
#3077 SendAsync net472 4.89μs 15.7ns 60.7ns 0.392 0 0 2.48 KB
#3077 SendAsync netcoreapp3.1 3.23μs 6.69ns 25.9ns 0.0326 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.79μs 1.05ns 3.94ns 0.264 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.3μs 0.877ns 3.4ns 0.023 0 0 1.73 KB
#3077 EnrichedLog net472 2.97μs 1.57ns 5.87ns 0.263 0 0 1.66 KB
#3077 EnrichedLog netcoreapp3.1 2.48μs 0.336ns 1.21ns 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 150μs 168ns 652ns 0.674 0.225 0 4.5 KB
master EnrichedLog netcoreapp3.1 116μs 155ns 599ns 0 0 0 4.38 KB
#3077 EnrichedLog net472 150μs 135ns 522ns 0.67 0.223 0 4.5 KB
#3077 EnrichedLog netcoreapp3.1 115μs 123ns 461ns 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.28μs 9.7ns 36.3ns 0.545 0.00266 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.18μs 8.2ns 29.6ns 0.0519 0 0 3.8 KB
#3077 EnrichedLog net472 5.2μs 15.2ns 59ns 0.545 0.0026 0 3.43 KB
#3077 EnrichedLog netcoreapp3.1 4.22μs 9.93ns 38.5ns 0.0524 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.03μs 0.517ns 2ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.6μs 0.884ns 3.42ns 0.0161 0 0 1.21 KB
#3077 SendReceive net472 1.99μs 1.49ns 5.75ns 0.194 0 0 1.22 KB
#3077 SendReceive netcoreapp3.1 1.64μs 0.495ns 1.85ns 0.0165 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.48ns 5.73ns 0.328 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.08μs 2.71ns 10.5ns 0.0224 0 0 1.69 KB
#3077 EnrichedLog net472 4.73μs 1.11ns 4.14ns 0.328 0 0 2.08 KB
#3077 EnrichedLog netcoreapp3.1 4.18μs 5.49ns 21.3ns 0.0209 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 855ns 0.547ns 2.12ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 764ns 0.713ns 2.76ns 0.00874 0 0 648 B
master StartFinishScope net472 1.08μs 0.865ns 3.35ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 882ns 0.549ns 2.13ns 0.0101 0 0 768 B
#3077 StartFinishSpan net472 775ns 0.688ns 2.66ns 0.104 0 0 658 B
#3077 StartFinishSpan netcoreapp3.1 723ns 0.493ns 1.91ns 0.00867 0 0 648 B
#3077 StartFinishScope net472 1.06μs 0.893ns 3.34ns 0.117 0 0 738 B
#3077 StartFinishScope netcoreapp3.1 823ns 0.47ns 1.69ns 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.29μs 0.811ns 3.14ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.02μs 0.626ns 2.42ns 0.0103 0 0 768 B
#3077 RunOnMethodBegin net472 1.19μs 0.947ns 3.67ns 0.117 0 0 738 B
#3077 RunOnMethodBegin netcoreapp3.1 1μs 1ns 3.88ns 0.0106 0 0 768 B

andrewlock avatar Aug 17 '22 11:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 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 726μs 445ns 1.72μs 0.361 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 466μs 326ns 1.26μs 0 0 0 2.58 KB
#3077 WriteAndFlushEnrichedTraces net472 710μs 1.46μs 5.67μs 0.357 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 671ns 2.6μ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 182ns 0.205ns 0.794ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 235ns 0.267ns 1ns 0.00577 0 0 424 B
master AllCycleMoreComplexBody net472 186ns 0.112ns 0.419ns 0.0638 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 234ns 0.311ns 1.21ns 0.00547 0 0 400 B
master BodyExtractorSimpleBody net472 258ns 0.264ns 0.952ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 238ns 0.393ns 1.52ns 0.0036 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.2μs 8.07ns 30.2ns 1.21 0.0214 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 9.02ns 34.9ns 0.0919 0 0 6.75 KB
#3077 AllCycleSimpleBody net472 183ns 0.164ns 0.635ns 0.0675 9.24E-05 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 244ns 0.287ns 1.07ns 0.00585 0 0 424 B
#3077 AllCycleMoreComplexBody net472 200ns 0.246ns 0.885ns 0.0637 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 243ns 0.146ns 0.548ns 0.00545 0 0 400 B
#3077 BodyExtractorSimpleBody net472 252ns 0.15ns 0.58ns 0.0573 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 219ns 0.263ns 0.984ns 0.00374 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.6μs 5.98ns 21.6ns 1.2 0.0219 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 12.3ns 46.2ns 0.0853 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 137ns 532ns 0.269 0 0 20.33 KB
#3077 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 177μs 239ns 924ns 0.262 0 0 20.33 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 0.897ns 3.47ns 0.126 0.000795 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.34μs 0.387ns 1.4ns 0.0106 0 0 824 B
#3077 ExecuteNonQuery net472 1.5μs 3.02ns 11.7ns 0.126 0.000759 0 794 B
#3077 ExecuteNonQuery netcoreapp3.1 1.27μs 1.27ns 4.58ns 0.0113 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.16μs 0.676ns 2.62ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.34μs 2.04ns 7.88ns 0.0127 0 0 984 B
master CallElasticsearchAsync net472 2.36μs 0.794ns 3.07ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.45μs 1.16ns 4.49ns 0.0146 0 0 1.1 KB
#3077 CallElasticsearch net472 2.27μs 0.815ns 3.16ns 0.159 0 0 1 KB
#3077 CallElasticsearch netcoreapp3.1 1.42μs 0.782ns 3.03ns 0.0135 0 0 984 B
#3077 CallElasticsearchAsync net472 2.33μs 2.15ns 8.32ns 0.181 0 0 1.14 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.47μs 0.396ns 1.43ns 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.39μs 5.49ns 21.3ns 0.199 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.55μs 4.46ns 17.3ns 0.0165 0 0 1.22 KB
#3077 ExecuteAsync net472 2.42μs 4.87ns 18.9ns 0.2 0 0 1.26 KB
#3077 ExecuteAsync netcoreapp3.1 1.62μs 3.58ns 13.9ns 0.0169 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.87μs 14.5ns 56.2ns 0.393 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.17μs 4.91ns 19ns 0.0319 0 0 2.36 KB
#3077 SendAsync net472 4.91μs 5.91ns 22.1ns 0.392 0 0 2.48 KB
#3077 SendAsync netcoreapp3.1 3.15μs 6.24ns 24.2ns 0.0312 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.84μs 0.978ns 3.79ns 0.264 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.32μs 0.958ns 3.59ns 0.0232 0 0 1.73 KB
#3077 EnrichedLog net472 2.86μs 0.835ns 3.24ns 0.263 0 0 1.66 KB
#3077 EnrichedLog netcoreapp3.1 2.34μs 0.953ns 3.69ns 0.0234 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 150μs 277ns 1.07μs 0.673 0.224 0 4.5 KB
master EnrichedLog netcoreapp3.1 115μs 213ns 824ns 0.0572 0 0 4.38 KB
#3077 EnrichedLog net472 146μs 115ns 430ns 0.664 0.221 0 4.5 KB
#3077 EnrichedLog netcoreapp3.1 114μs 145ns 560ns 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 7.97ns 29.8ns 0.544 0.00256 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.28μs 10.1ns 39.1ns 0.05 0 0 3.8 KB
#3077 EnrichedLog net472 5.26μs 11.4ns 44ns 0.543 0.00259 0 3.43 KB
#3077 EnrichedLog netcoreapp3.1 4.34μs 12.7ns 49.2ns 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.05μs 0.514ns 1.99ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.6μs 0.478ns 1.85ns 0.0168 0 0 1.21 KB
#3077 SendReceive net472 2.06μs 0.813ns 2.93ns 0.193 0 0 1.22 KB
#3077 SendReceive netcoreapp3.1 1.64μs 0.414ns 1.6ns 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.83μs 2.48ns 9.62ns 0.328 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.17μs 3.26ns 12.6ns 0.0229 0 0 1.69 KB
#3077 EnrichedLog net472 4.69μs 1.61ns 6.22ns 0.328 0 0 2.08 KB
#3077 EnrichedLog netcoreapp3.1 4.18μs 1.36ns 5.27ns 0.0211 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 833ns 0.394ns 1.52ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 755ns 0.344ns 1.33ns 0.00865 0 0 648 B
master StartFinishScope net472 1.1μs 0.796ns 3.08ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 921ns 0.908ns 3.4ns 0.0106 0 0 768 B
#3077 StartFinishSpan net472 773ns 0.649ns 2.52ns 0.105 0 0 658 B
#3077 StartFinishSpan netcoreapp3.1 714ns 0.834ns 3.23ns 0.00892 0 0 648 B
#3077 StartFinishScope net472 1.08μs 1.19ns 4.6ns 0.117 0 0 738 B
#3077 StartFinishScope netcoreapp3.1 925ns 0.8ns 2.99ns 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.23μs 1.6ns 6.2ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.01μs 0.924ns 3.46ns 0.0101 0 0 768 B
#3077 RunOnMethodBegin net472 1.23μs 1.72ns 6.67ns 0.117 0 0 738 B
#3077 RunOnMethodBegin netcoreapp3.1 983ns 0.979ns 3.79ns 0.0103 0 0 768 B

andrewlock avatar Aug 18 '22 08:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.133
  • 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 725μs 795ns 3.08μs 0.365 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 462μs 753ns 2.92μs 0 0 0 2.58 KB
#3077 WriteAndFlushEnrichedTraces net472 708μs 640ns 2.31μs 0.357 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 450μs 470ns 1.69μs 0 0 0 2.59 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3077

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net472 1.133 182.51 206.70

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 183ns 0.181ns 0.676ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 243ns 0.288ns 1.12ns 0.0058 0 0 424 B
master AllCycleMoreComplexBody net472 183ns 0.234ns 0.905ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 235ns 0.258ns 0.932ns 0.00553 0 0 400 B
master BodyExtractorSimpleBody net472 256ns 0.352ns 1.32ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 215ns 0.244ns 0.944ns 0.00357 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.7μs 14.2ns 54.8ns 1.21 0.0147 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 12ns 46.6ns 0.0908 0 0 6.75 KB
#3077 AllCycleSimpleBody net472 180ns 0.0936ns 0.337ns 0.0676 9.13E-05 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 243ns 0.217ns 0.812ns 0.00578 0 0 424 B
#3077 AllCycleMoreComplexBody net472 207ns 0.162ns 0.607ns 0.0637 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 244ns 0.32ns 1.2ns 0.00549 0 0 400 B
#3077 BodyExtractorSimpleBody net472 257ns 0.195ns 0.757ns 0.0573 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 225ns 0.234ns 0.908ns 0.0037 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.4μs 7.2ns 27.9ns 1.21 0.0215 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 12.4ns 46.5ns 0.0872 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.00378ns 0.00206ns 0.00797ns 0 0 0 0 b
master SendRequest netcoreapp3.1 178μs 287ns 1.11μs 0.178 0 0 20.33 KB
#3077 SendRequest net472 0.00247ns 0.00134ns 0.0052ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 178μs 275ns 1.06μs 0.267 0 0 20.33 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.52μs 2.25ns 8.73ns 0.126 0.000755 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.19μs 1.15ns 4.46ns 0.0111 0 0 824 B
#3077 ExecuteNonQuery net472 1.58μs 2.41ns 9.34ns 0.126 0.000761 0 794 B
#3077 ExecuteNonQuery netcoreapp3.1 1.25μs 1.55ns 5.79ns 0.0113 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.19μs 0.668ns 2.59ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.31μs 0.862ns 3.22ns 0.0136 0 0 984 B
master CallElasticsearchAsync net472 2.35μs 0.877ns 3.39ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.44μs 0.815ns 3.16ns 0.015 0 0 1.1 KB
#3077 CallElasticsearch net472 2.15μs 0.566ns 2.19ns 0.159 0 0 1 KB
#3077 CallElasticsearch netcoreapp3.1 1.35μs 0.644ns 2.5ns 0.0135 0 0 984 B
#3077 CallElasticsearchAsync net472 2.32μs 0.462ns 1.73ns 0.18 0 0 1.14 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.55μs 0.664ns 2.57ns 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.37μs 8.45ns 32.7ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.55μs 3.56ns 13.8ns 0.0166 0 0 1.22 KB
#3077 ExecuteAsync net472 2.3μs 4.92ns 17.7ns 0.199 0 0 1.26 KB
#3077 ExecuteAsync netcoreapp3.1 1.55μs 3.1ns 11.6ns 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 5.01μs 11.7ns 45.4ns 0.394 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.32μs 8.16ns 30.5ns 0.0324 0 0 2.36 KB
#3077 SendAsync net472 4.92μs 14.9ns 57.6ns 0.394 0 0 2.48 KB
#3077 SendAsync netcoreapp3.1 3.11μs 9.27ns 35.9ns 0.0313 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.94μs 4.39ns 17ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.45μs 0.898ns 3.36ns 0.0232 0 0 1.73 KB
#3077 EnrichedLog net472 2.91μs 2.37ns 8.88ns 0.263 0 0 1.66 KB
#3077 EnrichedLog netcoreapp3.1 2.48μs 1.35ns 5.22ns 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 150μs 113ns 436ns 0.678 0.226 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 137ns 531ns 0.0572 0 0 4.38 KB
#3077 EnrichedLog net472 150μs 274ns 1.06μs 0.681 0.227 0 4.5 KB
#3077 EnrichedLog netcoreapp3.1 114μs 249ns 933ns 0.0573 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.46μs 17.6ns 68.1ns 0.543 0.00269 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.25μs 9.83ns 38.1ns 0.0527 0 0 3.8 KB
#3077 EnrichedLog net472 5.38μs 16.4ns 63.3ns 0.546 0.00274 0 3.43 KB
#3077 EnrichedLog netcoreapp3.1 4.14μs 11.9ns 46.1ns 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 2μs 0.971ns 3.76ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.66μs 0.624ns 2.33ns 0.0166 0 0 1.21 KB
#3077 SendReceive net472 2.09μs 2.03ns 7.85ns 0.193 0 0 1.22 KB
#3077 SendReceive netcoreapp3.1 1.66μs 0.727ns 2.81ns 0.0167 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.85μs 1.95ns 7.3ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.19μs 2ns 7.74ns 0.0229 0 0 1.69 KB
#3077 EnrichedLog net472 4.75μs 1.06ns 3.95ns 0.329 0 0 2.08 KB
#3077 EnrichedLog netcoreapp3.1 3.96μs 2.16ns 7.78ns 0.0217 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.611ns 2.36ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 779ns 0.29ns 1.08ns 0.00852 0 0 648 B
master StartFinishScope net472 1.07μs 0.815ns 3.16ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 850ns 0.687ns 2.66ns 0.0102 0 0 768 B
#3077 StartFinishSpan net472 842ns 0.235ns 0.909ns 0.105 0 0 658 B
#3077 StartFinishSpan netcoreapp3.1 742ns 0.4ns 1.55ns 0.00889 0 0 648 B
#3077 StartFinishScope net472 1.04μs 0.379ns 1.47ns 0.117 0 0 738 B
#3077 StartFinishScope netcoreapp3.1 875ns 0.585ns 2.19ns 0.0105 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.25μs 0.767ns 2.97ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.03μs 0.665ns 2.49ns 0.0103 0 0 768 B
#3077 RunOnMethodBegin net472 1.26μs 0.37ns 1.43ns 0.117 0 0 738 B
#3077 RunOnMethodBegin netcoreapp3.1 1.05μs 0.449ns 1.74ns 0.0104 0 0 768 B

andrewlock avatar Aug 18 '22 13:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 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 733μs 330ns 1.28μs 0.363 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 466μs 245ns 947ns 0 0 0 2.59 KB
#3077 WriteAndFlushEnrichedTraces net472 727μs 309ns 1.16μs 0.359 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 462μs 220ns 851ns 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.133ns 0.514ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 236ns 0.244ns 0.945ns 0.00582 0 0 424 B
master AllCycleMoreComplexBody net472 182ns 0.149ns 0.579ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 240ns 0.326ns 1.26ns 0.00552 0 0 400 B
master BodyExtractorSimpleBody net472 256ns 0.17ns 0.658ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 223ns 0.306ns 1.15ns 0.00372 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.4μs 10.3ns 39.9ns 1.2 0.0218 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 11.9μs 13.3ns 49.6ns 0.0891 0 0 6.75 KB
#3077 AllCycleSimpleBody net472 183ns 0.182ns 0.705ns 0.0676 9.14E-05 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 237ns 0.418ns 1.62ns 0.00573 0 0 424 B
#3077 AllCycleMoreComplexBody net472 199ns 0.221ns 0.826ns 0.0637 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 242ns 0.212ns 0.822ns 0.00539 0 0 400 B
#3077 BodyExtractorSimpleBody net472 261ns 0.314ns 1.17ns 0.0573 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 218ns 0.166ns 0.621ns 0.00364 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.5μs 12.6ns 49ns 1.2 0.0216 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12μs 14.1ns 52.8ns 0.0903 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 287ns 1.11μs 0.182 0 0 20.33 KB
#3077 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 179μs 124ns 482ns 0.268 0 0 20.33 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.6μs 0.571ns 2.21ns 0.126 0.000796 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.26μs 1.05ns 3.92ns 0.0113 0 0 824 B
#3077 ExecuteNonQuery net472 1.6μs 0.53ns 1.91ns 0.126 0.000799 0 794 B
#3077 ExecuteNonQuery netcoreapp3.1 1.28μs 0.506ns 1.89ns 0.0109 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.779ns 3.02ns 0.158 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.42μs 0.709ns 2.75ns 0.0136 0 0 984 B
master CallElasticsearchAsync net472 2.34μs 0.637ns 2.38ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.45μs 0.606ns 2.35ns 0.0146 0 0 1.1 KB
#3077 CallElasticsearch net472 2.15μs 0.759ns 2.74ns 0.159 0 0 1 KB
#3077 CallElasticsearch netcoreapp3.1 1.48μs 1.21ns 4.68ns 0.0133 0 0 984 B
#3077 CallElasticsearchAsync net472 2.3μs 1.02ns 3.97ns 0.181 0 0 1.14 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.41μs 0.524ns 1.96ns 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.36μs 4.87ns 18.9ns 0.199 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.53μs 2.04ns 7.91ns 0.0168 0 0 1.22 KB
#3077 ExecuteAsync net472 2.4μs 4.48ns 17.4ns 0.2 0 0 1.26 KB
#3077 ExecuteAsync netcoreapp3.1 1.59μs 1.72ns 6.65ns 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.97μs 13.2ns 51ns 0.394 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.12μs 5.32ns 19.9ns 0.0327 0 0 2.36 KB
#3077 SendAsync net472 4.98μs 4.36ns 16.3ns 0.393 0 0 2.48 KB
#3077 SendAsync netcoreapp3.1 3.21μs 4.35ns 16.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.78μs 0.694ns 2.5ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.31μs 0.73ns 2.83ns 0.0243 0 0 1.73 KB
#3077 EnrichedLog net472 2.86μs 0.98ns 3.79ns 0.264 0 0 1.66 KB
#3077 EnrichedLog netcoreapp3.1 2.32μs 1.12ns 4.33ns 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 150μs 106ns 412ns 0.678 0.226 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 85ns 329ns 0.0565 0 0 4.38 KB
#3077 EnrichedLog net472 151μs 51ns 191ns 0.674 0.225 0 4.5 KB
#3077 EnrichedLog netcoreapp3.1 114μs 172ns 665ns 0.057 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.18μs 10ns 38.8ns 0.544 0.00259 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.16μs 10ns 37.6ns 0.0513 0 0 3.8 KB
#3077 EnrichedLog net472 5.44μs 6.98ns 27ns 0.544 0.00272 0 3.43 KB
#3077 EnrichedLog netcoreapp3.1 4.2μs 7.18ns 27.8ns 0.052 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.96μs 0.365ns 1.36ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.61μs 0.767ns 2.77ns 0.0161 0 0 1.21 KB
#3077 SendReceive net472 1.97μs 0.435ns 1.63ns 0.193 0 0 1.22 KB
#3077 SendReceive netcoreapp3.1 1.62μs 0.61ns 2.28ns 0.0165 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.62μs 1.86ns 7.19ns 0.328 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.07μs 4.18ns 15.6ns 0.0223 0 0 1.69 KB
#3077 EnrichedLog net472 4.91μs 2.69ns 10.4ns 0.329 0 0 2.08 KB
#3077 EnrichedLog netcoreapp3.1 4.22μs 0.902ns 3.37ns 0.0211 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 874ns 0.554ns 2.14ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 757ns 0.973ns 3.77ns 0.00869 0 0 648 B
master StartFinishScope net472 1.11μs 0.73ns 2.83ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 884ns 0.48ns 1.86ns 0.0103 0 0 768 B
#3077 StartFinishSpan net472 839ns 0.505ns 1.96ns 0.105 0 0 658 B
#3077 StartFinishSpan netcoreapp3.1 773ns 0.35ns 1.31ns 0.00854 0 0 648 B
#3077 StartFinishScope net472 1.01μs 0.527ns 2.04ns 0.117 0 0 738 B
#3077 StartFinishScope netcoreapp3.1 858ns 0.42ns 1.57ns 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.15μs 0.529ns 2.05ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 992ns 0.974ns 3.51ns 0.0103 0 0 768 B
#3077 RunOnMethodBegin net472 1.2μs 1.09ns 4.21ns 0.117 0 0 738 B
#3077 RunOnMethodBegin netcoreapp3.1 1.01μs 0.414ns 1.55ns 0.0106 0 0 768 B

andrewlock avatar Aug 21 '22 18:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 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 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
#3077 WriteAndFlushEnrichedTraces net472 719μs 542ns 2.1μs 0.361 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 455μs 298ns 1.11μ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 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
#3077 AllCycleSimpleBody net472 187ns 0.121ns 0.469ns 0.0675 0 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 237ns 0.246ns 0.954ns 0.00583 0 0 424 B
#3077 AllCycleMoreComplexBody net472 210ns 0.275ns 1.06ns 0.0637 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 238ns 0.326ns 1.26ns 0.00547 0 0 400 B
#3077 BodyExtractorSimpleBody net472 254ns 0.237ns 0.919ns 0.0573 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 231ns 0.2ns 0.749ns 0.00379 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.9μs 15ns 58.1ns 1.2 0.0149 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 11.8μs 14.9ns 53.6ns 0.0885 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 103ns 400ns 0.18 0 0 20.33 KB
#3077 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 179μs 105ns 405ns 0.267 0 0 20.33 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
#3077 ExecuteNonQuery net472 1.64μs 1.14ns 4.4ns 0.126 0.00089 0 794 B
#3077 ExecuteNonQuery netcoreapp3.1 1.28μs 0.58ns 2.25ns 0.0109 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
#3077 CallElasticsearch net472 2.17μs 1.26ns 4.88ns 0.158 0 0 1 KB
#3077 CallElasticsearch netcoreapp3.1 1.35μs 1.41ns 5.46ns 0.0134 0 0 984 B
#3077 CallElasticsearchAsync net472 2.38μs 6.34ns 24.6ns 0.18 0 0 1.14 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.54μs 0.503ns 1.88ns 0.0147 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
#3077 ExecuteAsync net472 2.38μs 8.02ns 31.1ns 0.2 0 0 1.26 KB
#3077 ExecuteAsync netcoreapp3.1 1.51μs 4.6ns 17.8ns 0.0162 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
#3077 SendAsync net472 5.06μs 10.6ns 41ns 0.393 0 0 2.48 KB
#3077 SendAsync netcoreapp3.1 3.14μs 4.13ns 14.9ns 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.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
#3077 EnrichedLog net472 2.85μs 1.47ns 5.7ns 0.263 0 0 1.66 KB
#3077 EnrichedLog netcoreapp3.1 2.34μs 1.04ns 3.89ns 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 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
#3077 EnrichedLog net472 149μs 176ns 683ns 0.67 0.223 0 4.5 KB
#3077 EnrichedLog netcoreapp3.1 114μs 75.1ns 281ns 0.057 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
#3077 EnrichedLog net472 5.35μs 17.4ns 67.3ns 0.545 0.00269 0 3.43 KB
#3077 EnrichedLog netcoreapp3.1 4.29μs 10.4ns 40.3ns 0.0533 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
#3077 SendReceive net472 1.98μs 1.04ns 4.01ns 0.194 0 0 1.22 KB
#3077 SendReceive netcoreapp3.1 1.66μs 0.515ns 2ns 0.0166 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
#3077 EnrichedLog net472 4.71μs 1.83ns 7.07ns 0.329 0 0 2.08 KB
#3077 EnrichedLog netcoreapp3.1 4.18μs 2.72ns 10.5ns 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
#3077 StartFinishSpan net472 797ns 0.427ns 1.65ns 0.104 0 0 658 B
#3077 StartFinishSpan netcoreapp3.1 737ns 0.512ns 1.98ns 0.00892 0 0 648 B
#3077 StartFinishScope net472 1.02μs 0.873ns 3.38ns 0.117 0 0 738 B
#3077 StartFinishScope netcoreapp3.1 849ns 0.419ns 1.57ns 0.0101 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
#3077 RunOnMethodBegin net472 1.31μs 0.914ns 3.54ns 0.117 0 0 738 B
#3077 RunOnMethodBegin netcoreapp3.1 1.05μs 0.686ns 2.66ns 0.0104 0 0 768 B

andrewlock avatar Aug 22 '22 11:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 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
#3077 WriteAndFlushEnrichedTraces net472 727μs 612ns 2.37μs 0.361 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 455μs 205ns 794ns 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
#3077 AllCycleSimpleBody net472 185ns 0.182ns 0.704ns 0.0676 0 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 237ns 0.32ns 1.24ns 0.00581 0 0 424 B
#3077 AllCycleMoreComplexBody net472 185ns 0.14ns 0.505ns 0.0637 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 240ns 0.509ns 1.97ns 0.00534 0 0 400 B
#3077 BodyExtractorSimpleBody net472 252ns 0.25ns 0.97ns 0.0573 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 220ns 0.189ns 0.732ns 0.00376 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.9μs 11.8ns 45.7ns 1.21 0.0148 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 11.2ns 41.9ns 0.0909 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
#3077 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 180μs 184ns 714ns 0.18 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.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
#3077 ExecuteNonQuery net472 1.55μs 0.601ns 2.25ns 0.126 0.000772 0 794 B
#3077 ExecuteNonQuery netcoreapp3.1 1.29μs 0.624ns 2.33ns 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
#3077 CallElasticsearch net472 2.17μs 0.714ns 2.76ns 0.159 0 0 1 KB
#3077 CallElasticsearch netcoreapp3.1 1.35μs 0.664ns 2.48ns 0.0129 0 0 984 B
#3077 CallElasticsearchAsync net472 2.25μs 1.14ns 4.4ns 0.18 0 0 1.14 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.56μs 0.622ns 2.33ns 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.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
#3077 ExecuteAsync net472 2.38μs 2.86ns 11.1ns 0.2 0 0 1.26 KB
#3077 ExecuteAsync netcoreapp3.1 1.57μs 1.97ns 7.37ns 0.0162 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
#3077 SendAsync net472 4.92μs 5.85ns 22.7ns 0.393 0 0 2.48 KB
#3077 SendAsync netcoreapp3.1 3.13μs 4.45ns 17.2ns 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.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
#3077 EnrichedLog net472 2.86μs 2.87ns 11.1ns 0.263 0 0 1.66 KB
#3077 EnrichedLog netcoreapp3.1 2.33μs 2.04ns 7.64ns 0.023 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
#3077 EnrichedLog net472 151μs 273ns 1.06μs 0.669 0.223 0 4.5 KB
#3077 EnrichedLog netcoreapp3.1 115μs 200ns 748ns 0.0582 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
#3077 EnrichedLog net472 5.22μs 9.25ns 35.8ns 0.544 0.00262 0 3.43 KB
#3077 EnrichedLog netcoreapp3.1 4.18μs 4.23ns 15.8ns 0.0524 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
#3077 SendReceive net472 2.02μs 2.13ns 8.25ns 0.193 0 0 1.22 KB
#3077 SendReceive netcoreapp3.1 1.65μs 0.935ns 3.5ns 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.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
#3077 EnrichedLog net472 4.78μs 2.3ns 8.93ns 0.328 0 0 2.08 KB
#3077 EnrichedLog netcoreapp3.1 4.14μs 1.78ns 6.66ns 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 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
#3077 StartFinishSpan net472 816ns 0.267ns 1ns 0.104 0 0 658 B
#3077 StartFinishSpan netcoreapp3.1 771ns 1.37ns 5.31ns 0.00872 0 0 648 B
#3077 StartFinishScope net472 1.07μs 0.334ns 1.16ns 0.117 0 0 738 B
#3077 StartFinishScope netcoreapp3.1 868ns 0.42ns 1.63ns 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
#3077 RunOnMethodBegin net472 1.25μs 1.29ns 5ns 0.117 0 0 738 B
#3077 RunOnMethodBegin netcoreapp3.1 979ns 0.489ns 1.89ns 0.0103 0 0 768 B

andrewlock avatar Aug 22 '22 15:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 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
#3077 WriteAndFlushEnrichedTraces net472 725μs 191ns 689ns 0.359 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 470μs 163ns 611ns 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
#3077 AllCycleSimpleBody net472 184ns 0.18ns 0.696ns 0.0676 0 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 238ns 0.282ns 1.05ns 0.00583 0 0 424 B
#3077 AllCycleMoreComplexBody net472 180ns 0.102ns 0.38ns 0.0637 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 238ns 0.135ns 0.504ns 0.00543 0 0 400 B
#3077 BodyExtractorSimpleBody net472 255ns 0.276ns 1.07ns 0.0574 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 224ns 0.219ns 0.819ns 0.0037 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.6μs 8.77ns 34ns 1.2 0.0219 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 12.7ns 49.4ns 0.0922 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
#3077 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 177μs 90.4ns 338ns 0.264 0 0 20.33 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
#3077 ExecuteNonQuery net472 1.57μs 0.453ns 1.69ns 0.126 0.000781 0 794 B
#3077 ExecuteNonQuery netcoreapp3.1 1.31μs 0.987ns 3.82ns 0.0105 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
#3077 CallElasticsearch net472 2.23μs 0.59ns 2.29ns 0.158 0 0 1 KB
#3077 CallElasticsearch netcoreapp3.1 1.36μs 0.665ns 2.49ns 0.0136 0 0 984 B
#3077 CallElasticsearchAsync net472 2.37μs 0.719ns 2.79ns 0.181 0 0 1.14 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.5μs 0.464ns 1.74ns 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.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
#3077 ExecuteAsync net472 2.4μs 7.06ns 27.3ns 0.2 0 0 1.26 KB
#3077 ExecuteAsync netcoreapp3.1 1.61μs 1.99ns 7.71ns 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
#3077 SendAsync net472 4.93μs 9.49ns 36.8ns 0.393 0 0 2.48 KB
#3077 SendAsync netcoreapp3.1 3.09μs 7.01ns 27.1ns 0.0314 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
#3077 EnrichedLog net472 2.88μs 2.22ns 7.68ns 0.263 0 0 1.66 KB
#3077 EnrichedLog netcoreapp3.1 2.27μs 0.764ns 2.76ns 0.0237 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
#3077 EnrichedLog net472 148μs 207ns 801ns 0.668 0.223 0 4.5 KB
#3077 EnrichedLog netcoreapp3.1 115μs 227ns 879ns 0.0567 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
#3077 EnrichedLog net472 5.42μs 11.8ns 45.7ns 0.544 0.00263 0 3.43 KB
#3077 EnrichedLog netcoreapp3.1 4.35μs 7.98ns 30.9ns 0.0515 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
#3077 SendReceive net472 2.05μs 0.917ns 3.31ns 0.193 0 0 1.22 KB
#3077 SendReceive netcoreapp3.1 1.59μs 1.02ns 3.95ns 0.0167 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
#3077 EnrichedLog net472 4.81μs 1.05ns 4.08ns 0.328 0 0 2.08 KB
#3077 EnrichedLog netcoreapp3.1 4.21μs 1.75ns 6.53ns 0.021 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
#3077 StartFinishSpan net472 820ns 0.458ns 1.71ns 0.104 0 0 658 B
#3077 StartFinishSpan netcoreapp3.1 740ns 0.223ns 0.806ns 0.00891 0 0 648 B
#3077 StartFinishScope net472 1.12μs 0.403ns 1.56ns 0.117 0 0 738 B
#3077 StartFinishScope netcoreapp3.1 886ns 0.871ns 3.26ns 0.0101 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
#3077 RunOnMethodBegin net472 1.27μs 0.271ns 1.05ns 0.117 0 0 738 B
#3077 RunOnMethodBegin netcoreapp3.1 997ns 0.313ns 1.17ns 0.0101 0 0 768 B

andrewlock avatar Aug 22 '22 17:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 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 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
#3077 WriteAndFlushEnrichedTraces net472 717μs 218ns 817ns 0.359 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 464μs 176ns 636ns 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 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
#3077 AllCycleSimpleBody net472 183ns 0.143ns 0.552ns 0.0676 0 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 238ns 0.223ns 0.865ns 0.00579 0 0 424 B
#3077 AllCycleMoreComplexBody net472 182ns 0.172ns 0.645ns 0.0637 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 243ns 0.132ns 0.495ns 0.00551 0 0 400 B
#3077 BodyExtractorSimpleBody net472 252ns 0.317ns 1.19ns 0.0574 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 226ns 0.394ns 1.53ns 0.00372 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.5μs 7.82ns 29.3ns 1.21 0.0218 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12.3μs 9.9ns 38.3ns 0.092 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 179μs 111ns 431ns 0.267 0 0 20.33 KB
#3077 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 179μs 150ns 580ns 0.269 0 0 20.33 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
#3077 ExecuteNonQuery net472 1.53μs 0.533ns 2.06ns 0.126 0.00076 0 794 B
#3077 ExecuteNonQuery netcoreapp3.1 1.29μs 1.78ns 6.9ns 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.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
#3077 CallElasticsearch net472 2.23μs 0.785ns 3.04ns 0.159 0 0 1 KB
#3077 CallElasticsearch netcoreapp3.1 1.4μs 0.39ns 1.41ns 0.0132 0 0 984 B
#3077 CallElasticsearchAsync net472 2.35μs 0.605ns 2.18ns 0.18 0 0 1.14 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.42μs 0.509ns 1.83ns 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.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
#3077 ExecuteAsync net472 2.37μs 2.93ns 11ns 0.2 0 0 1.26 KB
#3077 ExecuteAsync netcoreapp3.1 1.57μs 3.95ns 15.3ns 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 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
#3077 SendAsync net472 4.85μs 7.11ns 27.6ns 0.393 0 0 2.48 KB
#3077 SendAsync netcoreapp3.1 3.14μs 8.49ns 32.9ns 0.0311 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
#3077 EnrichedLog net472 2.81μs 1.06ns 3.96ns 0.263 0 0 1.66 KB
#3077 EnrichedLog netcoreapp3.1 2.35μs 0.762ns 2.85ns 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 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
#3077 EnrichedLog net472 146μs 113ns 437ns 0.662 0.221 0 4.5 KB
#3077 EnrichedLog netcoreapp3.1 112μs 88.8ns 332ns 0.0562 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
#3077 EnrichedLog net472 5.24μs 9.59ns 35.9ns 0.544 0.00259 0 3.43 KB
#3077 EnrichedLog netcoreapp3.1 4.2μs 11.1ns 41.4ns 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
#3077 SendReceive net472 2μs 0.374ns 1.45ns 0.193 0 0 1.22 KB
#3077 SendReceive netcoreapp3.1 1.68μs 0.89ns 3.45ns 0.0167 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
#3077 EnrichedLog net472 4.72μs 1.18ns 4.27ns 0.329 0 0 2.08 KB
#3077 EnrichedLog netcoreapp3.1 4.13μs 1.28ns 4.96ns 0.0226 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
#3077 StartFinishSpan net472 832ns 0.284ns 1.06ns 0.104 0 0 658 B
#3077 StartFinishSpan netcoreapp3.1 803ns 0.191ns 0.741ns 0.00887 0 0 648 B
#3077 StartFinishScope net472 1.16μs 0.637ns 2.47ns 0.117 0 0 738 B
#3077 StartFinishScope netcoreapp3.1 888ns 0.38ns 1.47ns 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
#3077 RunOnMethodBegin net472 1.2μs 0.404ns 1.57ns 0.117 0 0 738 B
#3077 RunOnMethodBegin netcoreapp3.1 1.07μs 0.255ns 0.955ns 0.0102 0 0 768 B

andrewlock avatar Aug 23 '22 05:08 andrewlock

Code Coverage Report :bar_chart:

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

master #3077 Change
Lines 16940 / 23281 17018 / 23436
Lines % 73% 73% 0% :heavy_check_mark:
Branches 10106 / 14362 10116 / 14430
Branches % 70% 70% 0% :heavy_check_mark:
Complexity 15458 15527 69 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3077 Change
Lines % 73% 73% 0% :heavy_check_mark:
Branches % 70% 70% 0% :heavy_check_mark:
Complexity 15458 15527 69 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Ci.GitInfo -17% :no_entry: -11% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Activity.DiagnosticSourceEventListener -6% :no_entry: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Debugger.Configurations.Models.Where 0% :heavy_check_mark: -6% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Ci.CIVisibility 5% :heavy_check_mark: 6% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Debugger.Helpers.StringExtensions 100% :heavy_check_mark: 0% :heavy_check_mark: 0 :heavy_check_mark:

The following classes were added in #3077:

File Line coverage Branch coverage Complexity
Datadog.Trace.Debugger.LiveDebuggerFactory 100% 100% 2
Datadog.Trace.Debugger.LiveDebuggerProduct 100% 50% 5
Datadog.Trace.RemoteConfigurationManagement.Json.TufRootBase64Converter 88% 50% 5
Datadog.Trace.RemoteConfigurationManagement.Product 91% 75% 6
Datadog.Trace.RemoteConfigurationManagement.ProductConfigChangedEventArgs 100% 100% 3
...And 15 more

6 classes were removed from Datadog.Trace in #3077

View the full reports for further details:

andrewlock avatar Aug 23 '22 06:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 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
#3077 WriteAndFlushEnrichedTraces net472 715μs 203ns 761ns 0.357 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 1.18μs 4.59μ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
#3077 AllCycleSimpleBody net472 193ns 0.269ns 1.01ns 0.0675 0 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 241ns 1.14ns 4.56ns 0.00573 0 0 424 B
#3077 AllCycleMoreComplexBody net472 185ns 0.148ns 0.575ns 0.0637 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 238ns 0.169ns 0.608ns 0.00548 0 0 400 B
#3077 BodyExtractorSimpleBody net472 262ns 0.237ns 0.917ns 0.0574 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 232ns 0.248ns 0.93ns 0.00372 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.4μs 8.5ns 32.9ns 1.2 0.0215 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 9.51ns 36.8ns 0.0924 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 121ns 468ns 0.272 0 0 20.57 KB
#3077 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 181μs 134ns 518ns 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
#3077 ExecuteNonQuery net472 1.89μs 0.55ns 2.06ns 0.15 0.000944 0 947 B
#3077 ExecuteNonQuery netcoreapp3.1 1.4μs 0.36ns 1.3ns 0.012 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
#3077 CallElasticsearch net472 2.56μs 0.561ns 2.17ns 0.183 0 0 1.16 KB
#3077 CallElasticsearch netcoreapp3.1 1.45μs 0.591ns 2.29ns 0.0145 0 0 1.1 KB
#3077 CallElasticsearchAsync net472 2.62μs 0.666ns 2.58ns 0.205 0 0 1.29 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.6μs 0.419ns 1.62ns 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.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
#3077 ExecuteAsync net472 2.54μs 9.22ns 35.7ns 0.224 0 0 1.41 KB
#3077 ExecuteAsync netcoreapp3.1 1.66μs 4.62ns 17.9ns 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.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
#3077 SendAsync net472 5.74μs 13.6ns 52.5ns 0.438 0 0 2.77 KB
#3077 SendAsync netcoreapp3.1 3.66μs 10ns 38.9ns 0.0361 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
#3077 EnrichedLog net472 2.92μs 1.3ns 4.7ns 0.288 0 0 1.81 KB
#3077 EnrichedLog netcoreapp3.1 2.43μs 0.812ns 3.15ns 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 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
#3077 EnrichedLog net472 148μs 79.4ns 307ns 0.666 0.222 0 4.65 KB
#3077 EnrichedLog netcoreapp3.1 115μs 181ns 701ns 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.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
#3077 EnrichedLog net472 5.63μs 14.1ns 52.8ns 0.57 0.00275 0 3.59 KB
#3077 EnrichedLog netcoreapp3.1 4.27μs 9.48ns 36.7ns 0.053 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
#3077 SendReceive net472 2.29μs 0.967ns 3.74ns 0.217 0 0 1.37 KB
#3077 SendReceive netcoreapp3.1 1.73μs 0.795ns 3.08ns 0.0182 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
#3077 EnrichedLog net472 5μs 1.09ns 3.94ns 0.353 0 0 2.23 KB
#3077 EnrichedLog netcoreapp3.1 4.37μs 1.73ns 6.45ns 0.0236 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
#3077 StartFinishSpan net472 1.11μs 0.521ns 2.02ns 0.129 0 0 810 B
#3077 StartFinishSpan netcoreapp3.1 901ns 0.501ns 1.94ns 0.0104 0 0 760 B
#3077 StartFinishScope net472 1.38μs 0.375ns 1.45ns 0.141 0 0 891 B
#3077 StartFinishScope netcoreapp3.1 1.12μs 0.512ns 1.91ns 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
#3077 RunOnMethodBegin net472 1.46μs 0.736ns 2.85ns 0.142 0 0 891 B
#3077 RunOnMethodBegin netcoreapp3.1 1.15μs 0.427ns 1.6ns 0.0121 0 0 880 B

andrewlock avatar Aug 24 '22 07:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 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
#3077 WriteAndFlushEnrichedTraces net472 714μs 438ns 1.7μs 0.355 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 466μs 381ns 1.48μ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
#3077 AllCycleSimpleBody net472 184ns 0.123ns 0.459ns 0.0676 0 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 240ns 0.296ns 1.14ns 0.00587 0 0 424 B
#3077 AllCycleMoreComplexBody net472 185ns 0.126ns 0.472ns 0.0637 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 236ns 0.488ns 1.76ns 0.0055 0 0 400 B
#3077 BodyExtractorSimpleBody net472 255ns 0.141ns 0.526ns 0.0573 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 225ns 0.375ns 1.45ns 0.0037 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 15μs 10.4ns 40.1ns 1.2 0.015 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12.3μs 22.4ns 86.8ns 0.0916 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
#3077 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 182μs 198ns 765ns 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.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
#3077 ExecuteNonQuery net472 1.93μs 0.642ns 2.4ns 0.15 0.00097 0 947 B
#3077 ExecuteNonQuery netcoreapp3.1 1.43μs 0.681ns 2.55ns 0.0128 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
#3077 CallElasticsearch net472 2.61μs 0.76ns 2.94ns 0.183 0 0 1.16 KB
#3077 CallElasticsearch netcoreapp3.1 1.51μs 0.52ns 2.01ns 0.0144 0 0 1.1 KB
#3077 CallElasticsearchAsync net472 2.63μs 0.555ns 2.08ns 0.205 0 0 1.29 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.57μs 0.553ns 2.14ns 0.0157 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
#3077 ExecuteAsync net472 2.53μs 6.52ns 25.3ns 0.224 0 0 1.41 KB
#3077 ExecuteAsync netcoreapp3.1 1.64μs 3.66ns 14.2ns 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.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
#3077 SendAsync net472 5.71μs 17.1ns 66.4ns 0.44 0 0 2.77 KB
#3077 SendAsync netcoreapp3.1 3.57μs 7.28ns 28.2ns 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.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
#3077 EnrichedLog net472 3.07μs 1.22ns 4.72ns 0.287 0 0 1.81 KB
#3077 EnrichedLog netcoreapp3.1 2.38μs 0.828ns 3.21ns 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 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
#3077 EnrichedLog net472 148μs 73.2ns 284ns 0.673 0.224 0 4.65 KB
#3077 EnrichedLog netcoreapp3.1 113μs 72.1ns 270ns 0.0564 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
#3077 EnrichedLog net472 5.4μs 11.1ns 43ns 0.569 0.0027 0 3.59 KB
#3077 EnrichedLog netcoreapp3.1 4.3μs 11.4ns 44.3ns 0.0541 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
#3077 SendReceive net472 2.35μs 1.12ns 4.03ns 0.218 0 0 1.37 KB
#3077 SendReceive netcoreapp3.1 1.76μs 0.726ns 2.62ns 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
#3077 EnrichedLog net472 4.91μs 1.32ns 5.12ns 0.354 0 0 2.23 KB
#3077 EnrichedLog netcoreapp3.1 4.24μs 2.16ns 8.38ns 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.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
#3077 StartFinishSpan net472 1.15μs 1.04ns 4.03ns 0.129 0 0 810 B
#3077 StartFinishSpan netcoreapp3.1 894ns 0.665ns 2.49ns 0.00999 0 0 760 B
#3077 StartFinishScope net472 1.47μs 1.07ns 4.14ns 0.141 0 0 891 B
#3077 StartFinishScope netcoreapp3.1 1.11μs 0.708ns 2.74ns 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
#3077 RunOnMethodBegin net472 1.45μs 1.58ns 6.13ns 0.141 0 0 891 B
#3077 RunOnMethodBegin netcoreapp3.1 1.16μs 2.07ns 8.02ns 0.012 0 0 880 B

andrewlock avatar Aug 24 '22 08:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3077 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
#3077 WriteAndFlushEnrichedTraces net472 711μs 475ns 1.84μs 0.355 0 0 3.18 KB
#3077 WriteAndFlushEnrichedTraces netcoreapp3.1 461μs 203ns 788ns 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
#3077 AllCycleSimpleBody net472 185ns 0.112ns 0.433ns 0.0675 0 0 425 B
#3077 AllCycleSimpleBody netcoreapp3.1 242ns 0.337ns 1.26ns 0.00584 0 0 424 B
#3077 AllCycleMoreComplexBody net472 185ns 0.139ns 0.521ns 0.0638 0 0 401 B
#3077 AllCycleMoreComplexBody netcoreapp3.1 237ns 0.385ns 1.49ns 0.00535 0 0 400 B
#3077 BodyExtractorSimpleBody net472 251ns 0.258ns 0.965ns 0.0574 0 0 361 B
#3077 BodyExtractorSimpleBody netcoreapp3.1 230ns 0.247ns 0.956ns 0.00368 0 0 272 B
#3077 BodyExtractorMoreComplexBody net472 14.6μs 13ns 50.3ns 1.21 0.0218 0 7.62 KB
#3077 BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 15.3ns 57.3ns 0.0869 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 121ns 468ns 0.272 0 0 20.57 KB
#3077 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3077 SendRequest netcoreapp3.1 180μs 140ns 543ns 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
#3077 ExecuteNonQuery net472 1.79μs 0.448ns 1.74ns 0.15 0.000898 0 947 B
#3077 ExecuteNonQuery netcoreapp3.1 1.36μs 0.267ns 0.999ns 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.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
#3077 CallElasticsearch net472 2.34μs 0.701ns 2.62ns 0.183 0 0 1.16 KB
#3077 CallElasticsearch netcoreapp3.1 1.51μs 1.2ns 4.64ns 0.0143 0 0 1.1 KB
#3077 CallElasticsearchAsync net472 2.57μs 0.701ns 2.71ns 0.205 0 0 1.29 KB
#3077 CallElasticsearchAsync netcoreapp3.1 1.6μs 0.748ns 2.8ns 0.0167 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
#3077 ExecuteAsync net472 2.61μs 10.9ns 42.2ns 0.224 0 0 1.41 KB
#3077 ExecuteAsync netcoreapp3.1 1.66μs 4.66ns 17.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.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
#3077 SendAsync net472 5.65μs 15.9ns 61.7ns 0.438 0 0 2.77 KB
#3077 SendAsync netcoreapp3.1 3.54μs 11.2ns 43.5ns 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.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
#3077 EnrichedLog net472 3.03μs 3.06ns 11ns 0.287 0 0 1.81 KB
#3077 EnrichedLog netcoreapp3.1 2.46μs 1.79ns 6.68ns 0.0259 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
#3077 EnrichedLog net472 151μs 166ns 623ns 0.69 0.23 0 4.65 KB
#3077 EnrichedLog netcoreapp3.1 117μs 161ns 624ns 0.0581 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
#3077 EnrichedLog net472 5.46μs 14.4ns 55.6ns 0.567 0.0027 0 3.59 KB
#3077 EnrichedLog netcoreapp3.1 4.5μs 12.4ns 47.9ns 0.0532 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
#3077 SendReceive net472 2.23μs 1.14ns 4.26ns 0.217 0 0 1.37 KB
#3077 SendReceive netcoreapp3.1 1.73μs 1.09ns 4.24ns 0.0182 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
#3077 EnrichedLog net472 4.97μs 2.62ns 10.2ns 0.352 0 0 2.23 KB
#3077 EnrichedLog netcoreapp3.1 4.37μs 1.67ns 6.48ns 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.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
#3077 StartFinishSpan net472 1.08μs 0.571ns 2.21ns 0.128 0 0 810 B
#3077 StartFinishSpan netcoreapp3.1 925ns 0.36ns 1.39ns 0.0101 0 0 760 B
#3077 StartFinishScope net472 1.38μs 0.299ns 1.08ns 0.141 0 0 891 B
#3077 StartFinishScope netcoreapp3.1 1.11μs 0.547ns 2.12ns 0.0117 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
#3077 RunOnMethodBegin net472 1.55μs 0.308ns 1.19ns 0.141 0 0 891 B
#3077 RunOnMethodBegin netcoreapp3.1 1.11μs 1.56ns 5.82ns 0.0116 0 0 880 B

andrewlock avatar Aug 24 '22 10:08 andrewlock

Code Coverage Report :bar_chart:

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

master #3077 Change
Lines 17023 / 23379 17160 / 23534
Lines % 73% 73% 0% :heavy_check_mark:
Branches 10161 / 14458 10219 / 14538
Branches % 70% 70% 0% :heavy_check_mark:
Complexity 15565 15640 75 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3077 Change
Lines % 73% 73% 0% :heavy_check_mark:
Branches % 70% 70% 0% :heavy_check_mark:
Complexity 15565 15640 75 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Ci.GitInfo -17% :no_entry: -11% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Agent.DiscoveryService.DiscoveryService -10% :no_entry: 0% :heavy_check_mark: 5 :no_entry:
Datadog.Trace.Debugger.Configurations.Models.Where 0% :heavy_check_mark: -6% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Ci.CIVisibility 5% :heavy_check_mark: 6% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Debugger.Helpers.StringExtensions 100% :heavy_check_mark: 0% :heavy_check_mark: 0 :heavy_check_mark:

The following classes were added in #3077:

File Line coverage Branch coverage Complexity
Datadog.Trace.Debugger.LiveDebuggerFactory 100% 100% 2
Datadog.Trace.Debugger.LiveDebuggerProduct 100% 50% 5
Datadog.Trace.RemoteConfigurationManagement.Json.TufRootBase64Converter 86% 50% 5
Datadog.Trace.RemoteConfigurationManagement.Product 90% 90% 12
Datadog.Trace.RemoteConfigurationManagement.ProductConfigChangedEventArgs 100% 100% 3
...And 15 more

6 classes were removed from Datadog.Trace in #3077

View the full reports for further details:

andrewlock avatar Aug 24 '22 12:08 andrewlock