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

Implement endpoint profiling

Open kevingosse opened this issue 2 years ago • 1 comments

This PR depends on https://github.com/DataDog/libdatadog/pull/33

Summary of changes

Decorate the profiler samples with the endpoint of the active trace, if any.

Implementation details

The tracer sends the resource name to the profiler when closing a root span of type web. When that happens, the profiler calls libdatadog to associate the id of root span to the given resource name.

Test coverage

WIP

kevingosse avatar Jul 27 '22 13:07 kevingosse

Benchmarks Report :snail:

Benchmarks for #3015 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.AgentWriterBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 715μs 870ns 3.37μs 0.355 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 460μs 252ns 975ns 0 0 0 2.58 KB
#3015 WriteAndFlushEnrichedTraces net472 712μs 620ns 2.4μs 0.355 0 0 3.18 KB
#3015 WriteAndFlushEnrichedTraces netcoreapp3.1 461μs 505ns 1.95μs 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.7μs 1.38ns 5.33ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.82μs 1.88ns 7.3ns 0.0189 0 0 1.37 KB
master AllCycleMoreComplexBody net472 16.7μs 9.06ns 33.9ns 1.39 0.025 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.1μs 17.5ns 67.7ns 0.106 0 0 7.85 KB
master BodyExtractorSimpleBody net472 256ns 1.12ns 4.35ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 223ns 0.187ns 0.673ns 0.00371 0 0 272 B
master BodyExtractorMoreComplexBody net472 15μs 14.9ns 57.7ns 1.21 0.0151 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 11.9μs 15.3ns 59.3ns 0.0889 0 0 6.75 KB
#3015 AllCycleSimpleBody net472 1.75μs 3.12ns 11.3ns 0.237 0 0 1.49 KB
#3015 AllCycleSimpleBody netcoreapp3.1 1.87μs 4.32ns 16.2ns 0.0184 0 0 1.37 KB
#3015 AllCycleMoreComplexBody net472 16.9μs 44.3ns 172ns 1.39 0.0176 0 8.75 KB
#3015 AllCycleMoreComplexBody netcoreapp3.1 14.4μs 33.8ns 131ns 0.106 0 0 7.85 KB
#3015 BodyExtractorSimpleBody net472 253ns 0.615ns 2.38ns 0.0573 0 0 361 B
#3015 BodyExtractorSimpleBody netcoreapp3.1 232ns 0.625ns 2.42ns 0.00374 0 0 272 B
#3015 BodyExtractorMoreComplexBody net472 15.2μs 23.6ns 88.2ns 1.21 0.0149 0 7.62 KB
#3015 BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 39ns 151ns 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 180μs 220ns 793ns 0.271 0 0 20.37 KB
#3015 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3015 SendRequest netcoreapp3.1 180μs 115ns 444ns 0.18 0 0 20.37 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 0.502ns 1.88ns 0.126 0.000768 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.22μs 0.385ns 1.39ns 0.011 0 0 824 B
#3015 ExecuteNonQuery net472 1.62μs 0.547ns 2.12ns 0.126 0.000817 0 794 B
#3015 ExecuteNonQuery netcoreapp3.1 1.28μs 0.365ns 1.32ns 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.22μs 0.574ns 2.22ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.37μs 0.952ns 3.56ns 0.0137 0 0 984 B
master CallElasticsearchAsync net472 2.29μs 1ns 3.88ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.47μs 0.433ns 1.62ns 0.0147 0 0 1.1 KB
#3015 CallElasticsearch net472 2.26μs 0.754ns 2.92ns 0.159 0 0 1 KB
#3015 CallElasticsearch netcoreapp3.1 1.34μs 0.36ns 1.39ns 0.0135 0 0 984 B
#3015 CallElasticsearchAsync net472 2.28μs 0.92ns 3.44ns 0.181 0 0 1.14 KB
#3015 CallElasticsearchAsync netcoreapp3.1 1.46μs 1.66ns 6.44ns 0.0146 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.42μs 8.88ns 34.4ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.61μs 3.4ns 13.2ns 0.0164 0 0 1.22 KB
#3015 ExecuteAsync net472 2.41μs 5.21ns 20.2ns 0.2 0 0 1.26 KB
#3015 ExecuteAsync netcoreapp3.1 1.6μs 0.738ns 2.66ns 0.0167 0 0 1.22 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 4.84μs 11.7ns 45.3ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.4μs 8.09ns 31.4ns 0.0321 0 0 2.4 KB
#3015 SendAsync net472 5.14μs 1.91ns 7.42ns 0.393 0 0 2.48 KB
#3015 SendAsync netcoreapp3.1 3.43μs 1.17ns 4.37ns 0.0325 0 0 2.4 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.786ns 3.04ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.36μs 0.808ns 3.02ns 0.0237 0 0 1.73 KB
#3015 EnrichedLog net472 2.79μs 1.15ns 4.15ns 0.263 0 0 1.66 KB
#3015 EnrichedLog netcoreapp3.1 2.41μs 0.878ns 3.04ns 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 146μs 91ns 340ns 0.663 0.221 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 90.9ns 340ns 0 0 0 4.38 KB
#3015 EnrichedLog net472 146μs 91.1ns 341ns 0.661 0.22 0 4.5 KB
#3015 EnrichedLog netcoreapp3.1 111μs 160ns 618ns 0.0554 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.29μs 10.7ns 41.3ns 0.544 0.00264 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.32μs 10.1ns 39ns 0.0513 0 0 3.8 KB
#3015 EnrichedLog net472 5.58μs 1.16ns 4.49ns 0.544 0.00279 0 3.43 KB
#3015 EnrichedLog netcoreapp3.1 4.32μs 1.52ns 5.48ns 0.0518 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 1.16ns 4.48ns 0.193 0 0 1.21 KB
master SendReceive netcoreapp3.1 1.65μs 0.704ns 2.63ns 0.0164 0 0 1.2 KB
#3015 SendReceive net472 1.97μs 0.488ns 1.83ns 0.192 0 0 1.21 KB
#3015 SendReceive netcoreapp3.1 1.65μs 0.712ns 2.76ns 0.0165 0 0 1.2 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.61μs 2.04ns 7.91ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.08μs 1.12ns 4.35ns 0.0225 0 0 1.69 KB
#3015 EnrichedLog net472 4.72μs 2.04ns 7.9ns 0.329 0 0 2.08 KB
#3015 EnrichedLog netcoreapp3.1 4.21μs 2.6ns 9.73ns 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 841ns 0.338ns 1.26ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 735ns 0.227ns 0.851ns 0.00853 0 0 648 B
master StartFinishScope net472 1.1μs 0.309ns 1.2ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 878ns 1.06ns 4.09ns 0.0102 0 0 768 B
#3015 StartFinishSpan net472 871ns 0.218ns 0.844ns 0.104 0 0 658 B
#3015 StartFinishSpan netcoreapp3.1 786ns 0.209ns 0.781ns 0.00864 0 0 648 B
#3015 StartFinishScope net472 1.08μs 0.353ns 1.37ns 0.117 0 0 738 B
#3015 StartFinishScope netcoreapp3.1 910ns 0.394ns 1.53ns 0.00999 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.19μs 0.661ns 2.56ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 979ns 0.342ns 1.28ns 0.0105 0 0 768 B
#3015 RunOnMethodBegin net472 1.32μs 0.462ns 1.73ns 0.117 0 0 738 B
#3015 RunOnMethodBegin netcoreapp3.1 986ns 1.15ns 4.44ns 0.01 0 0 768 B

andrewlock avatar Jul 27 '22 13:07 andrewlock

Benchmarks Report :snail:

Benchmarks for #3015 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
#3015 WriteAndFlushEnrichedTraces net472 743μs 216ns 836ns 0.37 0 0 3.18 KB
#3015 WriteAndFlushEnrichedTraces netcoreapp3.1 454μs 248ns 928ns 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
#3015 AllCycleSimpleBody net472 181ns 0.166ns 0.623ns 0.0676 0 0 425 B
#3015 AllCycleSimpleBody netcoreapp3.1 235ns 0.2ns 0.749ns 0.00583 0 0 424 B
#3015 AllCycleMoreComplexBody net472 181ns 0.231ns 0.896ns 0.0637 0 0 401 B
#3015 AllCycleMoreComplexBody netcoreapp3.1 241ns 0.274ns 1.02ns 0.00545 0 0 400 B
#3015 BodyExtractorSimpleBody net472 262ns 0.249ns 0.932ns 0.0573 0 0 361 B
#3015 BodyExtractorSimpleBody netcoreapp3.1 234ns 0.311ns 1.17ns 0.0036 0 0 272 B
#3015 BodyExtractorMoreComplexBody net472 14.3μs 16.4ns 63.4ns 1.21 0.0214 0 7.62 KB
#3015 BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 16.7ns 62.4ns 0.0902 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
#3015 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3015 SendRequest netcoreapp3.1 179μs 143ns 555ns 0.18 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
#3015 ExecuteNonQuery net472 1.65μs 0.77ns 2.88ns 0.126 0.000821 0 794 B
#3015 ExecuteNonQuery netcoreapp3.1 1.35μs 0.818ns 2.95ns 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.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
#3015 CallElasticsearch net472 2.17μs 0.602ns 2.25ns 0.159 0 0 1 KB
#3015 CallElasticsearch netcoreapp3.1 1.47μs 0.686ns 2.57ns 0.0133 0 0 984 B
#3015 CallElasticsearchAsync net472 2.37μs 1.62ns 6.28ns 0.18 0 0 1.14 KB
#3015 CallElasticsearchAsync netcoreapp3.1 1.48μs 0.572ns 2.14ns 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.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
#3015 ExecuteAsync net472 2.34μs 6.94ns 26.9ns 0.199 0 0 1.26 KB
#3015 ExecuteAsync netcoreapp3.1 1.5μs 2.57ns 9.94ns 0.0165 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
#3015 SendAsync net472 4.95μs 11.9ns 46.2ns 0.392 0 0 2.48 KB
#3015 SendAsync netcoreapp3.1 3.25μs 13.1ns 50.8ns 0.0331 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
#3015 EnrichedLog net472 2.85μs 1.48ns 5.75ns 0.263 0 0 1.66 KB
#3015 EnrichedLog netcoreapp3.1 2.52μs 1.22ns 4.4ns 0.0227 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
#3015 EnrichedLog net472 149μs 127ns 492ns 0.675 0.225 0 4.5 KB
#3015 EnrichedLog netcoreapp3.1 113μs 121ns 452ns 0.0565 0 0 4.38 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.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
#3015 EnrichedLog net472 5.39μs 18.8ns 72.8ns 0.544 0.00267 0 3.43 KB
#3015 EnrichedLog netcoreapp3.1 4.19μs 12.5ns 48.4ns 0.0514 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
#3015 SendReceive net472 1.94μs 0.41ns 1.48ns 0.194 0 0 1.22 KB
#3015 SendReceive netcoreapp3.1 1.66μs 0.589ns 2.04ns 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.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
#3015 EnrichedLog net472 4.78μs 1.78ns 6.68ns 0.33 0 0 2.08 KB
#3015 EnrichedLog netcoreapp3.1 4.21μs 1.6ns 5.99ns 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 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
#3015 StartFinishSpan net472 885ns 0.306ns 1.19ns 0.104 0 0 658 B
#3015 StartFinishSpan netcoreapp3.1 790ns 0.706ns 2.73ns 0.00874 0 0 648 B
#3015 StartFinishScope net472 1.11μs 0.668ns 2.59ns 0.117 0 0 738 B
#3015 StartFinishScope netcoreapp3.1 929ns 0.43ns 1.66ns 0.0102 0 0 768 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.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
#3015 RunOnMethodBegin net472 1.24μs 1.2ns 4.64ns 0.117 0 0 738 B
#3015 RunOnMethodBegin netcoreapp3.1 983ns 0.46ns 1.72ns 0.0103 0 0 768 B

andrewlock avatar Aug 23 '22 09:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3015 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.262
  • 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
#3015 WriteAndFlushEnrichedTraces net472 741μs 262ns 1.01μs 0.37 0 0 3.18 KB
#3015 WriteAndFlushEnrichedTraces netcoreapp3.1 461μs 183ns 708ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3015

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 1.262 182.31 230.02

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
#3015 AllCycleSimpleBody net472 230ns 0.198ns 0.74ns 0.0676 0 0 425 B
#3015 AllCycleSimpleBody netcoreapp3.1 240ns 0.28ns 1.08ns 0.00582 0 0 424 B
#3015 AllCycleMoreComplexBody net472 180ns 0.198ns 0.766ns 0.0637 0 0 401 B
#3015 AllCycleMoreComplexBody netcoreapp3.1 235ns 0.263ns 1.02ns 0.0053 0 0 400 B
#3015 BodyExtractorSimpleBody net472 255ns 0.298ns 1.15ns 0.0573 0 0 361 B
#3015 BodyExtractorSimpleBody netcoreapp3.1 234ns 0.332ns 1.24ns 0.00371 0 0 272 B
#3015 BodyExtractorMoreComplexBody net472 14.3μs 11.1ns 43.1ns 1.21 0.0214 0 7.62 KB
#3015 BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 13.6ns 52.7ns 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 111ns 431ns 0.267 0 0 20.33 KB
#3015 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3015 SendRequest netcoreapp3.1 180μs 107ns 399ns 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
#3015 ExecuteNonQuery net472 1.63μs 0.57ns 2.13ns 0.126 0.000816 0 794 B
#3015 ExecuteNonQuery netcoreapp3.1 1.24μs 0.31ns 1.16ns 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.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
#3015 CallElasticsearch net472 2.21μs 0.656ns 2.36ns 0.159 0 0 1 KB
#3015 CallElasticsearch netcoreapp3.1 1.43μs 1.07ns 4ns 0.0128 0 0 984 B
#3015 CallElasticsearchAsync net472 2.33μs 0.796ns 3.08ns 0.181 0 0 1.14 KB
#3015 CallElasticsearchAsync netcoreapp3.1 1.46μs 0.766ns 2.97ns 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.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
#3015 ExecuteAsync net472 2.28μs 4.31ns 15.5ns 0.2 0 0 1.26 KB
#3015 ExecuteAsync netcoreapp3.1 1.57μs 3.83ns 14.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
#3015 SendAsync net472 5.03μs 11.7ns 43.9ns 0.394 0 0 2.48 KB
#3015 SendAsync netcoreapp3.1 3.21μs 8.45ns 31.6ns 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.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
#3015 EnrichedLog net472 2.84μs 2.34ns 9.06ns 0.263 0 0 1.66 KB
#3015 EnrichedLog netcoreapp3.1 2.45μs 0.971ns 3.63ns 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 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
#3015 EnrichedLog net472 150μs 175ns 676ns 0.67 0.223 0 4.5 KB
#3015 EnrichedLog netcoreapp3.1 118μs 181ns 701ns 0.059 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
#3015 EnrichedLog net472 5.32μs 15ns 58.2ns 0.546 0.00266 0 3.43 KB
#3015 EnrichedLog netcoreapp3.1 4.13μs 16.1ns 62.4ns 0.0518 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
#3015 SendReceive net472 2.07μs 1.97ns 7.38ns 0.194 0 0 1.22 KB
#3015 SendReceive netcoreapp3.1 1.69μs 1.14ns 4.43ns 0.0168 0 0 1.21 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.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
#3015 EnrichedLog net472 4.81μs 1.41ns 5.46ns 0.328 0 0 2.08 KB
#3015 EnrichedLog netcoreapp3.1 4.27μs 2.78ns 10.4ns 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 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
#3015 StartFinishSpan net472 806ns 0.319ns 1.19ns 0.104 0 0 658 B
#3015 StartFinishSpan netcoreapp3.1 782ns 0.301ns 1.17ns 0.00855 0 0 648 B
#3015 StartFinishScope net472 1.16μs 0.533ns 2.06ns 0.117 0 0 738 B
#3015 StartFinishScope netcoreapp3.1 891ns 0.294ns 1.1ns 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.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
#3015 RunOnMethodBegin net472 1.19μs 0.263ns 0.912ns 0.117 0 0 738 B
#3015 RunOnMethodBegin netcoreapp3.1 998ns 0.449ns 1.62ns 0.0105 0 0 768 B

andrewlock avatar Aug 23 '22 13:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3015 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.259
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.AgentWriterBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 717μs 310ns 1.16μs 0.359 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 468μs 755ns 2.83μs 0 0 0 2.58 KB
#3015 WriteAndFlushEnrichedTraces net472 707μs 583ns 2.1μs 0.355 0 0 3.18 KB
#3015 WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 580ns 2.25μs 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3015

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net472 1.259 181.29 228.24

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 185ns 0.129ns 0.5ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 238ns 0.323ns 1.21ns 0.00584 0 0 424 B
master AllCycleMoreComplexBody net472 181ns 0.159ns 0.616ns 0.0638 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 235ns 0.218ns 0.815ns 0.00542 0 0 400 B
master BodyExtractorSimpleBody net472 273ns 0.221ns 0.827ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 227ns 0.322ns 1.21ns 0.00365 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.6μs 8.46ns 30.5ns 1.21 0.0148 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.6μs 9.94ns 37.2ns 0.0879 0 0 6.75 KB
#3015 AllCycleSimpleBody net472 201ns 0.199ns 0.772ns 0.0676 0 0 425 B
#3015 AllCycleSimpleBody netcoreapp3.1 249ns 0.601ns 2.33ns 0.00581 0 0 424 B
#3015 AllCycleMoreComplexBody net472 228ns 0.17ns 0.659ns 0.0637 0 0 401 B
#3015 AllCycleMoreComplexBody netcoreapp3.1 235ns 0.32ns 1.24ns 0.00545 0 0 400 B
#3015 BodyExtractorSimpleBody net472 260ns 0.214ns 0.771ns 0.0573 0 0 361 B
#3015 BodyExtractorSimpleBody netcoreapp3.1 235ns 0.281ns 1.09ns 0.00372 0 0 272 B
#3015 BodyExtractorMoreComplexBody net472 14.5μs 9.91ns 38.4ns 1.21 0.0217 0 7.62 KB
#3015 BodyExtractorMoreComplexBody netcoreapp3.1 11.8μs 11.3ns 40.8ns 0.0889 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 180μs 170ns 659ns 0.268 0 0 20.57 KB
#3015 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3015 SendRequest netcoreapp3.1 183μs 175ns 654ns 0.184 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.78μs 1.18ns 4.4ns 0.15 0.000887 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.45μs 0.516ns 2ns 0.0124 0 0 936 B
#3015 ExecuteNonQuery net472 1.87μs 0.453ns 1.69ns 0.15 0.000933 0 947 B
#3015 ExecuteNonQuery netcoreapp3.1 1.42μs 0.492ns 1.78ns 0.0127 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.52μs 0.693ns 2.68ns 0.184 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.53μs 1.33ns 5.16ns 0.015 0 0 1.1 KB
master CallElasticsearchAsync net472 2.61μs 1.4ns 5.24ns 0.204 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.6μs 1.23ns 4.59ns 0.016 0 0 1.22 KB
#3015 CallElasticsearch net472 2.58μs 0.531ns 1.99ns 0.183 0 0 1.16 KB
#3015 CallElasticsearch netcoreapp3.1 1.52μs 0.944ns 3.66ns 0.0144 0 0 1.1 KB
#3015 CallElasticsearchAsync net472 2.67μs 0.806ns 3.12ns 0.204 0 0 1.29 KB
#3015 CallElasticsearchAsync netcoreapp3.1 1.64μs 0.426ns 1.54ns 0.0164 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.67μs 5.7ns 22.1ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.66μs 2.01ns 7.53ns 0.0186 0 0 1.34 KB
#3015 ExecuteAsync net472 2.63μs 8.38ns 32.5ns 0.224 0 0 1.41 KB
#3015 ExecuteAsync netcoreapp3.1 1.68μs 5.85ns 22.6ns 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.69μs 11ns 41.1ns 0.438 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.5μs 5.49ns 20.5ns 0.0353 0 0 2.6 KB
#3015 SendAsync net472 5.74μs 16.7ns 62.6ns 0.44 0 0 2.77 KB
#3015 SendAsync netcoreapp3.1 3.66μs 10.8ns 41.9ns 0.036 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.18μs 1.38ns 5.16ns 0.287 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.57μs 1.17ns 4.2ns 0.0244 0 0 1.85 KB
#3015 EnrichedLog net472 3.21μs 2.53ns 9.81ns 0.287 0 0 1.81 KB
#3015 EnrichedLog netcoreapp3.1 2.56μs 2.34ns 8.77ns 0.0238 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 148μs 74.5ns 279ns 0.672 0.224 0 4.65 KB
master EnrichedLog netcoreapp3.1 115μs 167ns 646ns 0 0 0 4.49 KB
#3015 EnrichedLog net472 153μs 168ns 649ns 0.685 0.228 0 4.65 KB
#3015 EnrichedLog netcoreapp3.1 116μs 130ns 470ns 0.0572 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.5μs 13.2ns 49.3ns 0.568 0.00272 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.29μs 12.3ns 47.7ns 0.054 0 0 3.91 KB
#3015 EnrichedLog net472 5.59μs 16.5ns 61.8ns 0.567 0.00278 0 3.59 KB
#3015 EnrichedLog netcoreapp3.1 4.28μs 9.38ns 35.1ns 0.054 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.19μs 1.31ns 5.09ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.8μs 1.18ns 4.42ns 0.0181 0 0 1.32 KB
#3015 SendReceive net472 2.36μs 1.41ns 5.07ns 0.218 0 0 1.37 KB
#3015 SendReceive netcoreapp3.1 1.84μs 0.969ns 3.63ns 0.0175 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.01μs 1.91ns 7.13ns 0.354 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.25μs 3.53ns 13.7ns 0.0234 0 0 1.8 KB
#3015 EnrichedLog net472 5.06μs 1.97ns 7.62ns 0.353 0 0 2.23 KB
#3015 EnrichedLog netcoreapp3.1 4.4μs 2.62ns 9.79ns 0.0239 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.12μs 0.901ns 3.37ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 895ns 0.448ns 1.74ns 0.0102 0 0 760 B
master StartFinishScope net472 1.38μs 0.87ns 3.37ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.05μs 0.909ns 3.52ns 0.012 0 0 880 B
#3015 StartFinishSpan net472 1.17μs 0.444ns 1.72ns 0.128 0 0 810 B
#3015 StartFinishSpan netcoreapp3.1 954ns 0.141ns 0.509ns 0.0101 0 0 760 B
#3015 StartFinishScope net472 1.4μs 0.389ns 1.51ns 0.141 0 0 891 B
#3015 StartFinishScope netcoreapp3.1 1.12μs 0.502ns 1.88ns 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.52μs 0.914ns 3.54ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.15μs 0.502ns 1.88ns 0.0121 0 0 880 B
#3015 RunOnMethodBegin net472 1.52μs 0.361ns 1.4ns 0.141 0 0 891 B
#3015 RunOnMethodBegin netcoreapp3.1 1.15μs 0.567ns 1.97ns 0.012 0 0 880 B

andrewlock avatar Aug 26 '22 12:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3015 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.AgentWriterBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 716μs 471ns 1.76μs 0.355 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 467μs 338ns 1.26μs 0 0 0 2.59 KB
#3015 WriteAndFlushEnrichedTraces net472 710μs 625ns 2.42μs 0.355 0 0 3.17 KB
#3015 WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 185ns 715ns 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 187ns 0.146ns 0.566ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 241ns 0.332ns 1.2ns 0.0058 0 0 424 B
master AllCycleMoreComplexBody net472 185ns 0.144ns 0.559ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 235ns 0.371ns 1.44ns 0.0054 0 0 400 B
master BodyExtractorSimpleBody net472 253ns 0.2ns 0.775ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 230ns 0.265ns 0.99ns 0.00373 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.5μs 19.7ns 73.7ns 1.21 0.0216 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.3μs 17.3ns 67ns 0.0863 0 0 6.75 KB
#3015 AllCycleSimpleBody net472 185ns 0.127ns 0.459ns 0.0675 9.21E-05 0 425 B
#3015 AllCycleSimpleBody netcoreapp3.1 238ns 0.292ns 1.09ns 0.00574 0 0 424 B
#3015 AllCycleMoreComplexBody net472 199ns 0.234ns 0.907ns 0.0637 0 0 401 B
#3015 AllCycleMoreComplexBody netcoreapp3.1 237ns 0.131ns 0.471ns 0.0054 0 0 400 B
#3015 BodyExtractorSimpleBody net472 257ns 0.313ns 1.21ns 0.0574 0 0 361 B
#3015 BodyExtractorSimpleBody netcoreapp3.1 239ns 0.165ns 0.616ns 0.00369 0 0 272 B
#3015 BodyExtractorMoreComplexBody net472 14.6μs 8.28ns 31ns 1.21 0.0216 0 7.62 KB
#3015 BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 14.1ns 52.9ns 0.0908 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 182μs 201ns 780ns 0.273 0 0 20.57 KB
#3015 SendRequest net472 0.0056ns 0.00382ns 0.0148ns 0 0 0 0 b
#3015 SendRequest netcoreapp3.1 183μs 237ns 918ns 0.274 0 0 20.58 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.82μs 0.707ns 2.65ns 0.15 0.000908 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.38μs 0.452ns 1.75ns 0.0124 0 0 936 B
#3015 ExecuteNonQuery net472 1.83μs 0.758ns 2.94ns 0.15 0.000914 0 947 B
#3015 ExecuteNonQuery netcoreapp3.1 1.41μs 0.38ns 1.37ns 0.0121 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.52μs 0.648ns 2.51ns 0.183 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.54μs 0.525ns 2.04ns 0.0147 0 0 1.1 KB
master CallElasticsearchAsync net472 2.67μs 2.83ns 11ns 0.205 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.59μs 0.611ns 2.29ns 0.0167 0 0 1.22 KB
#3015 CallElasticsearch net472 2.48μs 0.57ns 2.13ns 0.184 0 0 1.16 KB
#3015 CallElasticsearch netcoreapp3.1 1.47μs 0.605ns 2.18ns 0.0148 0 0 1.1 KB
#3015 CallElasticsearchAsync net472 2.69μs 0.817ns 3.16ns 0.205 0 0 1.29 KB
#3015 CallElasticsearchAsync netcoreapp3.1 1.51μs 0.579ns 2.17ns 0.0166 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.54μs 9.2ns 35.6ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.66μs 4.22ns 16.3ns 0.0178 0 0 1.34 KB
#3015 ExecuteAsync net472 2.69μs 10.9ns 42.2ns 0.224 0 0 1.41 KB
#3015 ExecuteAsync netcoreapp3.1 1.72μs 1.97ns 6.81ns 0.018 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.69μs 24.4ns 94.5ns 0.439 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.57μs 9.34ns 36.2ns 0.0351 0 0 2.6 KB
#3015 SendAsync net472 5.61μs 9.45ns 35.3ns 0.438 0 0 2.77 KB
#3015 SendAsync netcoreapp3.1 3.63μs 8.28ns 32.1ns 0.036 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.13μs 2.34ns 9.05ns 0.287 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.56μs 1.49ns 5.59ns 0.0242 0 0 1.85 KB
#3015 EnrichedLog net472 3.21μs 2.14ns 7.99ns 0.287 0 0 1.81 KB
#3015 EnrichedLog netcoreapp3.1 2.47μs 2.01ns 7.8ns 0.0247 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 152μs 128ns 494ns 0.686 0.229 0 4.65 KB
master EnrichedLog netcoreapp3.1 113μs 74.4ns 268ns 0.057 0 0 4.49 KB
#3015 EnrichedLog net472 154μs 180ns 698ns 0.698 0.233 0 4.65 KB
#3015 EnrichedLog netcoreapp3.1 116μs 154ns 557ns 0.0585 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.6μs 13.9ns 53.7ns 0.567 0.00278 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.18μs 12.2ns 47.2ns 0.0538 0 0 3.91 KB
#3015 EnrichedLog net472 5.61μs 16.6ns 64.2ns 0.568 0.00271 0 3.59 KB
#3015 EnrichedLog netcoreapp3.1 4.22μs 9.33ns 36.1ns 0.0528 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.19μs 1.66ns 6.44ns 0.217 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.77μs 0.673ns 2.52ns 0.0177 0 0 1.32 KB
#3015 SendReceive net472 2.2μs 1.34ns 5.03ns 0.218 0 0 1.37 KB
#3015 SendReceive netcoreapp3.1 1.85μs 0.751ns 2.6ns 0.0177 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.01μs 1.37ns 5.3ns 0.354 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.26μs 2.74ns 10.3ns 0.0236 0 0 1.8 KB
#3015 EnrichedLog net472 5.1μs 2.54ns 9.85ns 0.353 0 0 2.23 KB
#3015 EnrichedLog netcoreapp3.1 4.4μs 1.81ns 6.77ns 0.0242 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.12μs 0.423ns 1.58ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 919ns 0.317ns 1.23ns 0.0101 0 0 760 B
master StartFinishScope net472 1.37μs 0.299ns 1.16ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.05μs 0.281ns 1.05ns 0.0121 0 0 880 B
#3015 StartFinishSpan net472 1.07μs 0.314ns 1.18ns 0.129 0 0 810 B
#3015 StartFinishSpan netcoreapp3.1 906ns 0.498ns 1.86ns 0.01 0 0 760 B
#3015 StartFinishScope net472 1.35μs 0.58ns 2.25ns 0.141 0 0 891 B
#3015 StartFinishScope netcoreapp3.1 1.1μs 0.205ns 0.766ns 0.0116 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.51μs 0.321ns 1.24ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.19μs 0.529ns 2.05ns 0.0119 0 0 880 B
#3015 RunOnMethodBegin net472 1.49μs 0.314ns 1.17ns 0.141 0 0 891 B
#3015 RunOnMethodBegin netcoreapp3.1 1.15μs 0.326ns 1.22ns 0.012 0 0 880 B

andrewlock avatar Aug 26 '22 14:08 andrewlock

Code Coverage Report :bar_chart:

:heavy_check_mark: Merging #3015 into master will not change line coverage :heavy_check_mark: Merging #3015 into master will not change branch coverage :heavy_check_mark: Merging #3015 into master will will decrease complexity by 21

master #3015 Change
Lines 17217 / 23590 17183 / 23543
Lines % 73% 73% 0% :heavy_check_mark:
Branches 10226 / 14570 10225 / 14552
Branches % 70% 70% 0% :heavy_check_mark:
Complexity 15677 15656 -21 :heavy_check_mark:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3015 Change
Lines % 73% 73% 0% :heavy_check_mark:
Branches % 70% 70% 0% :heavy_check_mark:
Complexity 15677 15656 -21 :heavy_check_mark:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Sampling.GlobalSamplingRule -100% :no_entry: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Agent.DiscoveryService.DiscoveryService -12% :no_entry: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Agent.NullStatsAggregator -8% :no_entry: 0% :heavy_check_mark: -1 :heavy_check_mark:
Datadog.Trace.AsyncLocalScopeManager 2% :heavy_check_mark: 12% :heavy_check_mark: 4 :no_entry:
Datadog.Trace.Ci.CIVisibility 5% :heavy_check_mark: 6% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.ContinuousProfiler.ContextTracker 5% :heavy_check_mark: 11% :heavy_check_mark: 10 :no_entry:
Datadog.Trace.Scope 50% :heavy_check_mark: 0% :heavy_check_mark: 0 :heavy_check_mark:

View the full reports for further details:

andrewlock avatar Aug 29 '22 10:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3015 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.AgentWriterBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 716μs 514ns 1.99μs 0.363 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 462μs 140ns 543ns 0 0 0 2.58 KB
#3015 WriteAndFlushEnrichedTraces net472 714μs 534ns 2μs 0.357 0 0 3.18 KB
#3015 WriteAndFlushEnrichedTraces netcoreapp3.1 472μs 300ns 1.16μ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 189ns 0.636ns 2.46ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 243ns 0.942ns 3.65ns 0.00581 0 0 424 B
master AllCycleMoreComplexBody net472 187ns 0.875ns 3.27ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 248ns 0.69ns 2.67ns 0.00547 0 0 400 B
master BodyExtractorSimpleBody net472 262ns 0.882ns 3.42ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 238ns 0.746ns 2.89ns 0.00368 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.8μs 63.7ns 247ns 1.21 0.0147 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 32.2ns 125ns 0.0911 0 0 6.75 KB
#3015 AllCycleSimpleBody net472 193ns 0.551ns 2.13ns 0.0675 0 0 425 B
#3015 AllCycleSimpleBody netcoreapp3.1 247ns 0.782ns 3.03ns 0.00583 0 0 424 B
#3015 AllCycleMoreComplexBody net472 206ns 0.811ns 3.03ns 0.0638 0 0 401 B
#3015 AllCycleMoreComplexBody netcoreapp3.1 238ns 0.505ns 1.95ns 0.00541 0 0 400 B
#3015 BodyExtractorSimpleBody net472 260ns 1.03ns 3.98ns 0.0573 0 0 361 B
#3015 BodyExtractorSimpleBody netcoreapp3.1 239ns 0.664ns 2.57ns 0.00372 0 0 272 B
#3015 BodyExtractorMoreComplexBody net472 14.9μs 49.3ns 184ns 1.21 0.0219 0 7.62 KB
#3015 BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 32.1ns 120ns 0.0888 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 214ns 831ns 0.181 0 0 20.57 KB
#3015 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3015 SendRequest netcoreapp3.1 182μs 241ns 902ns 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.84μs 0.956ns 3.58ns 0.15 0.000913 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.4μs 0.585ns 2.27ns 0.0126 0 0 936 B
#3015 ExecuteNonQuery net472 1.86μs 0.766ns 2.97ns 0.15 0.000929 0 947 B
#3015 ExecuteNonQuery netcoreapp3.1 1.43μs 0.908ns 3.4ns 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.57μs 0.968ns 3.75ns 0.183 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.49μs 0.698ns 2.61ns 0.0143 0 0 1.1 KB
master CallElasticsearchAsync net472 2.72μs 1.33ns 4.97ns 0.205 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.64μs 6.3ns 24.4ns 0.0161 0 0 1.22 KB
#3015 CallElasticsearch net472 2.51μs 1.3ns 4.87ns 0.183 0 0 1.16 KB
#3015 CallElasticsearch netcoreapp3.1 1.57μs 0.724ns 2.8ns 0.0149 0 0 1.1 KB
#3015 CallElasticsearchAsync net472 2.71μs 1.32ns 4.56ns 0.204 0 0 1.29 KB
#3015 CallElasticsearchAsync netcoreapp3.1 1.57μs 0.504ns 1.95ns 0.0165 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.6μs 4ns 15ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.67μs 2.9ns 11.2ns 0.0182 0 0 1.34 KB
#3015 ExecuteAsync net472 2.69μs 6.07ns 23.5ns 0.224 0 0 1.41 KB
#3015 ExecuteAsync netcoreapp3.1 1.7μs 5.13ns 19.9ns 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.74μs 7.76ns 30.1ns 0.437 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.63μs 8.83ns 34.2ns 0.0359 0 0 2.6 KB
#3015 SendAsync net472 5.69μs 12.5ns 46.9ns 0.439 0 0 2.77 KB
#3015 SendAsync netcoreapp3.1 3.64μs 9.13ns 35.4ns 0.0345 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.16μs 0.969ns 3.75ns 0.288 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.44μs 0.935ns 3.5ns 0.0248 0 0 1.85 KB
#3015 EnrichedLog net472 3.27μs 3.15ns 11.3ns 0.287 0 0 1.81 KB
#3015 EnrichedLog netcoreapp3.1 2.66μs 1.29ns 4.99ns 0.0256 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 148μs 54.6ns 204ns 0.667 0.222 0 4.65 KB
master EnrichedLog netcoreapp3.1 115μs 168ns 652ns 0.0569 0 0 4.49 KB
#3015 EnrichedLog net472 151μs 352ns 1.36μs 0.677 0.226 0 4.65 KB
#3015 EnrichedLog netcoreapp3.1 117μs 259ns 1μs 0.0579 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.53μs 9.46ns 35.4ns 0.569 0.00275 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.4μs 8.33ns 32.3ns 0.0542 0 0 3.91 KB
#3015 EnrichedLog net472 5.63μs 9.02ns 34.9ns 0.568 0.00276 0 3.59 KB
#3015 EnrichedLog netcoreapp3.1 4.36μs 9.08ns 35.2ns 0.0542 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.24μs 0.544ns 2.03ns 0.217 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.81μs 0.652ns 2.35ns 0.0181 0 0 1.32 KB
#3015 SendReceive net472 2.33μs 2.93ns 11ns 0.218 0 0 1.37 KB
#3015 SendReceive netcoreapp3.1 1.78μs 1.82ns 7.07ns 0.0179 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.09μs 1.59ns 6.15ns 0.354 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.22μs 1.67ns 6.48ns 0.0237 0 0 1.8 KB
#3015 EnrichedLog net472 5.07μs 0.948ns 3.55ns 0.353 0 0 2.23 KB
#3015 EnrichedLog netcoreapp3.1 4.21μs 1.18ns 4.4ns 0.0232 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.16μs 1.13ns 4.07ns 0.129 0 0 810 B
master StartFinishSpan netcoreapp3.1 980ns 0.559ns 2.09ns 0.0102 0 0 760 B
master StartFinishScope net472 1.39μs 0.641ns 2.4ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.06μs 1.06ns 4.11ns 0.012 0 0 880 B
#3015 StartFinishSpan net472 1.11μs 0.241ns 0.934ns 0.128 0 0 810 B
#3015 StartFinishSpan netcoreapp3.1 924ns 0.322ns 1.25ns 0.0102 0 0 760 B
#3015 StartFinishScope net472 1.45μs 0.313ns 1.17ns 0.141 0 0 891 B
#3015 StartFinishScope netcoreapp3.1 1.09μs 0.377ns 1.46ns 0.012 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.52μs 0.28ns 1.05ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.15μs 0.502ns 1.94ns 0.012 0 0 880 B
#3015 RunOnMethodBegin net472 1.41μs 0.339ns 1.31ns 0.141 0 0 891 B
#3015 RunOnMethodBegin netcoreapp3.1 1.23μs 0.575ns 2.23ns 0.0116 0 0 880 B

andrewlock avatar Aug 30 '22 13:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3015 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.AgentWriterBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 716μs 388ns 1.45μs 0.355 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 454μs 272ns 1.02μs 0 0 0 2.58 KB
#3015 WriteAndFlushEnrichedTraces net472 714μs 374ns 1.45μs 0.355 0 0 3.18 KB
#3015 WriteAndFlushEnrichedTraces netcoreapp3.1 470μs 94.3ns 340ns 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 188ns 0.508ns 1.97ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 241ns 0.664ns 2.39ns 0.00571 0 0 424 B
master AllCycleMoreComplexBody net472 199ns 0.772ns 2.99ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 244ns 0.552ns 2.14ns 0.0055 0 0 400 B
master BodyExtractorSimpleBody net472 264ns 0.885ns 3.43ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 238ns 0.654ns 2.53ns 0.00362 0 0 272 B
master BodyExtractorMoreComplexBody net472 15μs 53ns 205ns 1.21 0.0219 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13μs 40.7ns 157ns 0.0903 0 0 6.75 KB
#3015 AllCycleSimpleBody net472 194ns 0.712ns 2.67ns 0.0675 0 0 425 B
#3015 AllCycleSimpleBody netcoreapp3.1 244ns 0.814ns 3.15ns 0.00576 0 0 424 B
#3015 AllCycleMoreComplexBody net472 188ns 0.698ns 2.7ns 0.0637 0 0 401 B
#3015 AllCycleMoreComplexBody netcoreapp3.1 249ns 1.21ns 5.14ns 0.00544 0 0 400 B
#3015 BodyExtractorSimpleBody net472 257ns 0.744ns 2.88ns 0.0573 0 0 361 B
#3015 BodyExtractorSimpleBody netcoreapp3.1 232ns 0.641ns 2.48ns 0.00363 0 0 272 B
#3015 BodyExtractorMoreComplexBody net472 14.8μs 55.2ns 214ns 1.2 0.0219 0 7.62 KB
#3015 BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 46.8ns 181ns 0.0906 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 96.9ns 375ns 0.179 0 0 20.57 KB
#3015 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3015 SendRequest netcoreapp3.1 182μs 230ns 891ns 0.181 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.75μs 0.738ns 2.86ns 0.15 0.000872 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.41μs 0.459ns 1.72ns 0.0128 0 0 936 B
#3015 ExecuteNonQuery net472 1.93μs 0.549ns 2.05ns 0.15 0.000967 0 947 B
#3015 ExecuteNonQuery netcoreapp3.1 1.41μs 0.64ns 2.48ns 0.0122 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.61μs 1.17ns 4.54ns 0.184 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.645ns 2.33ns 0.0144 0 0 1.1 KB
master CallElasticsearchAsync net472 2.58μs 0.52ns 2.02ns 0.204 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.55μs 0.613ns 2.37ns 0.0163 0 0 1.22 KB
#3015 CallElasticsearch net472 2.5μs 0.688ns 2.67ns 0.184 0 0 1.16 KB
#3015 CallElasticsearch netcoreapp3.1 1.53μs 0.437ns 1.58ns 0.0147 0 0 1.1 KB
#3015 CallElasticsearchAsync net472 2.65μs 0.808ns 3.13ns 0.205 0 0 1.29 KB
#3015 CallElasticsearchAsync netcoreapp3.1 1.64μs 4.8ns 18.6ns 0.0165 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.66μs 6.32ns 24.5ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.72μs 3.26ns 12.2ns 0.0181 0 0 1.34 KB
#3015 ExecuteAsync net472 2.63μs 5.04ns 18.9ns 0.224 0 0 1.41 KB
#3015 ExecuteAsync netcoreapp3.1 1.76μs 3.09ns 11.1ns 0.0174 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.89μs 7.88ns 30.5ns 0.438 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.56μs 7.87ns 30.5ns 0.0342 0 0 2.6 KB
#3015 SendAsync net472 5.61μs 8.86ns 34.3ns 0.439 0 0 2.77 KB
#3015 SendAsync netcoreapp3.1 3.69μs 3.4ns 12.7ns 0.0353 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.11μs 2.44ns 9.46ns 0.288 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.41μs 1.21ns 4.53ns 0.0255 0 0 1.85 KB
#3015 EnrichedLog net472 3.19μs 2.6ns 9.74ns 0.288 0 0 1.81 KB
#3015 EnrichedLog netcoreapp3.1 2.6μs 1.89ns 7.08ns 0.0245 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 152μs 228ns 885ns 0.683 0.228 0 4.65 KB
master EnrichedLog netcoreapp3.1 118μs 174ns 627ns 0.058 0 0 4.49 KB
#3015 EnrichedLog net472 150μs 200ns 776ns 0.678 0.226 0 4.65 KB
#3015 EnrichedLog netcoreapp3.1 116μs 250ns 935ns 0.0572 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.64μs 6.11ns 22ns 0.569 0.00283 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.32μs 9.36ns 35ns 0.0521 0 0 3.91 KB
#3015 EnrichedLog net472 5.47μs 11ns 42.6ns 0.57 0.00271 0 3.59 KB
#3015 EnrichedLog netcoreapp3.1 4.29μs 5.82ns 21.8ns 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.31μs 1.49ns 5.76ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.89μs 0.897ns 3.47ns 0.0181 0 0 1.32 KB
#3015 SendReceive net472 2.27μs 2.07ns 8ns 0.217 0 0 1.37 KB
#3015 SendReceive netcoreapp3.1 1.84μs 0.67ns 2.59ns 0.0174 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.07μs 1.89ns 7.31ns 0.353 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.21μs 1.72ns 6.45ns 0.0231 0 0 1.8 KB
#3015 EnrichedLog net472 5.03μs 1.87ns 7.26ns 0.353 0 0 2.23 KB
#3015 EnrichedLog netcoreapp3.1 4.3μs 2.15ns 8.33ns 0.0238 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.1μs 0.462ns 1.79ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 1.03μs 0.339ns 1.27ns 0.0102 0 0 760 B
master StartFinishScope net472 1.35μs 0.495ns 1.92ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.09μs 0.382ns 1.43ns 0.0119 0 0 880 B
#3015 StartFinishSpan net472 1.13μs 0.37ns 1.38ns 0.128 0 0 810 B
#3015 StartFinishSpan netcoreapp3.1 935ns 0.337ns 1.26ns 0.0104 0 0 760 B
#3015 StartFinishScope net472 1.45μs 0.458ns 1.77ns 0.141 0 0 891 B
#3015 StartFinishScope netcoreapp3.1 1.08μs 0.35ns 1.26ns 0.0118 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.5μs 0.599ns 2.32ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.23μs 0.55ns 1.98ns 0.0119 0 0 880 B
#3015 RunOnMethodBegin net472 1.5μs 0.422ns 1.63ns 0.141 0 0 891 B
#3015 RunOnMethodBegin netcoreapp3.1 1.23μs 0.343ns 1.28ns 0.0121 0 0 880 B

andrewlock avatar Aug 30 '22 17:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3015 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.123
  • 1 benchmarks are slower, with geometric mean 1.114
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.AgentWriterBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 716μs 388ns 1.45μs 0.355 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 454μs 272ns 1.02μs 0 0 0 2.58 KB
#3015 WriteAndFlushEnrichedTraces net472 718μs 166ns 642ns 0.357 0 0 3.18 KB
#3015 WriteAndFlushEnrichedTraces netcoreapp3.1 464μs 239ns 895ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 188ns 0.508ns 1.97ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 241ns 0.664ns 2.39ns 0.00571 0 0 424 B
master AllCycleMoreComplexBody net472 199ns 0.772ns 2.99ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 244ns 0.552ns 2.14ns 0.0055 0 0 400 B
master BodyExtractorSimpleBody net472 264ns 0.885ns 3.43ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 238ns 0.654ns 2.53ns 0.00362 0 0 272 B
master BodyExtractorMoreComplexBody net472 15μs 53ns 205ns 1.21 0.0219 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13μs 40.7ns 157ns 0.0903 0 0 6.75 KB
#3015 AllCycleSimpleBody net472 189ns 0.65ns 2.52ns 0.0676 0 0 425 B
#3015 AllCycleSimpleBody netcoreapp3.1 252ns 0.681ns 2.64ns 0.00579 0 0 424 B
#3015 AllCycleMoreComplexBody net472 209ns 0.728ns 2.82ns 0.0638 0 0 401 B
#3015 AllCycleMoreComplexBody netcoreapp3.1 246ns 0.633ns 2.45ns 0.00551 0 0 400 B
#3015 BodyExtractorSimpleBody net472 267ns 0.94ns 3.64ns 0.0574 0 0 361 B
#3015 BodyExtractorSimpleBody netcoreapp3.1 236ns 0.783ns 3.03ns 0.00372 0 0 272 B
#3015 BodyExtractorMoreComplexBody net472 15.4μs 36.7ns 142ns 1.2 0.0155 0 7.62 KB
#3015 BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 40.1ns 155ns 0.0887 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 96.9ns 375ns 0.179 0 0 20.57 KB
#3015 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3015 SendRequest netcoreapp3.1 181μs 154ns 575ns 0.181 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3015

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.114 1,747.35 1,946.07

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.75μs 0.738ns 2.86ns 0.15 0.000872 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.41μs 0.459ns 1.72ns 0.0128 0 0 936 B
#3015 ExecuteNonQuery net472 1.95μs 0.678ns 2.63ns 0.15 0.000971 0 947 B
#3015 ExecuteNonQuery netcoreapp3.1 1.42μs 1.18ns 4.56ns 0.0127 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.61μs 1.17ns 4.54ns 0.184 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.645ns 2.33ns 0.0144 0 0 1.1 KB
master CallElasticsearchAsync net472 2.58μs 0.52ns 2.02ns 0.204 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.55μs 0.613ns 2.37ns 0.0163 0 0 1.22 KB
#3015 CallElasticsearch net472 2.47μs 0.89ns 3.33ns 0.183 0 0 1.16 KB
#3015 CallElasticsearch netcoreapp3.1 1.55μs 1.09ns 4.23ns 0.0143 0 0 1.1 KB
#3015 CallElasticsearchAsync net472 2.64μs 0.711ns 2.66ns 0.204 0 0 1.29 KB
#3015 CallElasticsearchAsync netcoreapp3.1 1.66μs 0.527ns 1.97ns 0.0166 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.66μs 6.32ns 24.5ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.72μs 3.26ns 12.2ns 0.0181 0 0 1.34 KB
#3015 ExecuteAsync net472 2.56μs 4.51ns 16.3ns 0.223 0 0 1.41 KB
#3015 ExecuteAsync netcoreapp3.1 1.69μs 5.34ns 20.7ns 0.0182 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.89μs 7.88ns 30.5ns 0.438 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.56μs 7.87ns 30.5ns 0.0342 0 0 2.6 KB
#3015 SendAsync net472 5.71μs 5.41ns 20.2ns 0.437 0 0 2.77 KB
#3015 SendAsync netcoreapp3.1 3.65μs 6.33ns 23.7ns 0.0347 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.11μs 2.44ns 9.46ns 0.288 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.41μs 1.21ns 4.53ns 0.0255 0 0 1.85 KB
#3015 EnrichedLog net472 3.23μs 2.14ns 8.27ns 0.287 0 0 1.81 KB
#3015 EnrichedLog netcoreapp3.1 2.65μs 1.13ns 4.36ns 0.025 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 152μs 228ns 885ns 0.683 0.228 0 4.65 KB
master EnrichedLog netcoreapp3.1 118μs 174ns 627ns 0.058 0 0 4.49 KB
#3015 EnrichedLog net472 155μs 142ns 550ns 0.683 0.228 0 4.65 KB
#3015 EnrichedLog netcoreapp3.1 116μs 136ns 510ns 0.0578 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.64μs 6.11ns 22ns 0.569 0.00283 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.32μs 9.36ns 35ns 0.0521 0 0 3.91 KB
#3015 EnrichedLog net472 5.56μs 10.9ns 42.3ns 0.568 0.00276 0 3.59 KB
#3015 EnrichedLog netcoreapp3.1 4.53μs 5.69ns 22.1ns 0.0525 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.31μs 1.49ns 5.76ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.89μs 0.897ns 3.47ns 0.0181 0 0 1.32 KB
#3015 SendReceive net472 2.29μs 1.47ns 5.5ns 0.218 0 0 1.37 KB
#3015 SendReceive netcoreapp3.1 1.86μs 1.85ns 7.16ns 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.07μs 1.89ns 7.31ns 0.353 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.21μs 1.72ns 6.45ns 0.0231 0 0 1.8 KB
#3015 EnrichedLog net472 5.24μs 1.73ns 6.47ns 0.352 0 0 2.23 KB
#3015 EnrichedLog netcoreapp3.1 4.24μs 1.83ns 6.84ns 0.0236 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3015

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.123 1,025.40 913.39

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.1μs 0.462ns 1.79ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 1.03μs 0.339ns 1.27ns 0.0102 0 0 760 B
master StartFinishScope net472 1.35μs 0.495ns 1.92ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.09μs 0.382ns 1.43ns 0.0119 0 0 880 B
#3015 StartFinishSpan net472 1.14μs 0.374ns 1.4ns 0.128 0 0 810 B
#3015 StartFinishSpan netcoreapp3.1 914ns 0.299ns 1.16ns 0.01 0 0 760 B
#3015 StartFinishScope net472 1.43μs 0.862ns 3.34ns 0.141 0 0 891 B
#3015 StartFinishScope netcoreapp3.1 1.09μs 0.896ns 3.47ns 0.012 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.5μs 0.599ns 2.32ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.23μs 0.55ns 1.98ns 0.0119 0 0 880 B
#3015 RunOnMethodBegin net472 1.54μs 1.8ns 6.47ns 0.141 0 0 891 B
#3015 RunOnMethodBegin netcoreapp3.1 1.16μs 0.411ns 1.54ns 0.0116 0 0 880 B

andrewlock avatar Aug 30 '22 19:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3015 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.AgentWriterBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 712μs 241ns 932ns 0.374 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 451μs 177ns 662ns 0 0 0 2.58 KB
#3015 WriteAndFlushEnrichedTraces net472 715μs 533ns 2.07μs 0.355 0 0 3.18 KB
#3015 WriteAndFlushEnrichedTraces netcoreapp3.1 470μs 287ns 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 198ns 0.881ns 3.41ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 248ns 0.762ns 2.95ns 0.0058 0 0 424 B
master AllCycleMoreComplexBody net472 193ns 0.788ns 3.05ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 241ns 0.848ns 3.29ns 0.00539 0 0 400 B
master BodyExtractorSimpleBody net472 274ns 1.26ns 4.89ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 242ns 0.776ns 3.01ns 0.00366 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.7μs 53.5ns 207ns 1.2 0.0219 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.6μs 55.6ns 215ns 0.0923 0 0 6.75 KB
#3015 AllCycleSimpleBody net472 190ns 0.77ns 2.98ns 0.0675 0 0 425 B
#3015 AllCycleSimpleBody netcoreapp3.1 243ns 1.08ns 4.18ns 0.00574 0 0 424 B
#3015 AllCycleMoreComplexBody net472 195ns 0.821ns 3.18ns 0.0637 0 0 401 B
#3015 AllCycleMoreComplexBody netcoreapp3.1 243ns 0.778ns 3.01ns 0.00544 0 0 400 B
#3015 BodyExtractorSimpleBody net472 264ns 1.05ns 3.91ns 0.0573 0 0 361 B
#3015 BodyExtractorSimpleBody netcoreapp3.1 241ns 0.824ns 3.19ns 0.00369 0 0 272 B
#3015 BodyExtractorMoreComplexBody net472 14.9μs 60.1ns 233ns 1.2 0.0149 0 7.62 KB
#3015 BodyExtractorMoreComplexBody netcoreapp3.1 12.6μs 42ns 163ns 0.0877 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 181μs 182ns 705ns 0.271 0 0 20.57 KB
#3015 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3015 SendRequest netcoreapp3.1 182μs 146ns 565ns 0.272 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.83μs 0.401ns 1.5ns 0.15 0.000916 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.45μs 0.768ns 2.98ns 0.0123 0 0 936 B
#3015 ExecuteNonQuery net472 1.77μs 0.801ns 3.1ns 0.15 0.000882 0 947 B
#3015 ExecuteNonQuery netcoreapp3.1 1.42μs 0.544ns 1.96ns 0.0121 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.49μs 1.05ns 3.94ns 0.184 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.49μs 0.428ns 1.6ns 0.0149 0 0 1.1 KB
master CallElasticsearchAsync net472 2.67μs 0.832ns 3.22ns 0.205 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.62μs 0.442ns 1.65ns 0.0162 0 0 1.22 KB
#3015 CallElasticsearch net472 2.46μs 0.558ns 2.16ns 0.183 0 0 1.16 KB
#3015 CallElasticsearch netcoreapp3.1 1.57μs 0.52ns 2.01ns 0.015 0 0 1.1 KB
#3015 CallElasticsearchAsync net472 2.55μs 0.999ns 3.87ns 0.205 0 0 1.29 KB
#3015 CallElasticsearchAsync netcoreapp3.1 1.67μs 0.443ns 1.6ns 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.65μs 4.98ns 19.3ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.62μs 2.5ns 9.67ns 0.0181 0 0 1.34 KB
#3015 ExecuteAsync net472 2.59μs 3.87ns 15ns 0.224 0 0 1.41 KB
#3015 ExecuteAsync netcoreapp3.1 1.7μs 3.69ns 13.8ns 0.0183 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.66μs 8.67ns 32.4ns 0.439 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.57μs 7.69ns 29.8ns 0.0348 0 0 2.6 KB
#3015 SendAsync net472 5.72μs 14.9ns 57.8ns 0.438 0 0 2.77 KB
#3015 SendAsync netcoreapp3.1 3.59μs 8.95ns 34.7ns 0.0358 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.21μs 2.06ns 7.72ns 0.287 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.46μs 1.34ns 4.83ns 0.0245 0 0 1.85 KB
#3015 EnrichedLog net472 3.15μs 3.2ns 12.4ns 0.287 0 0 1.81 KB
#3015 EnrichedLog netcoreapp3.1 2.41μs 0.679ns 2.45ns 0.0254 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 149μs 91.4ns 354ns 0.671 0.224 0 4.65 KB
master EnrichedLog netcoreapp3.1 115μs 124ns 481ns 0 0 0 4.49 KB
#3015 EnrichedLog net472 151μs 112ns 435ns 0.685 0.228 0 4.65 KB
#3015 EnrichedLog netcoreapp3.1 115μs 121ns 467ns 0.0571 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.6μs 12.4ns 47.9ns 0.569 0.00279 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.37μs 12.8ns 49.6ns 0.0541 0 0 3.91 KB
#3015 EnrichedLog net472 5.57μs 8.02ns 30ns 0.569 0.0028 0 3.59 KB
#3015 EnrichedLog netcoreapp3.1 4.28μs 3.72ns 13.4ns 0.0511 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.31μs 1.13ns 4.21ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.82μs 0.519ns 1.94ns 0.0182 0 0 1.32 KB
#3015 SendReceive net472 2.28μs 1.86ns 6.71ns 0.217 0 0 1.37 KB
#3015 SendReceive netcoreapp3.1 1.85μs 0.735ns 2.75ns 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.04μs 1.76ns 6.83ns 0.353 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.28μs 1.83ns 6.83ns 0.0234 0 0 1.8 KB
#3015 EnrichedLog net472 4.98μs 2.43ns 9.42ns 0.353 0 0 2.23 KB
#3015 EnrichedLog netcoreapp3.1 4.27μs 1.8ns 6.72ns 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.11μs 0.332ns 1.28ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 893ns 0.371ns 1.39ns 0.0103 0 0 760 B
master StartFinishScope net472 1.35μs 0.91ns 3.4ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.06μs 1.13ns 4.39ns 0.0121 0 0 880 B
#3015 StartFinishSpan net472 1.19μs 0.788ns 2.95ns 0.129 0 0 810 B
#3015 StartFinishSpan netcoreapp3.1 925ns 0.226ns 0.874ns 0.0102 0 0 760 B
#3015 StartFinishScope net472 1.39μs 0.525ns 2.03ns 0.141 0 0 891 B
#3015 StartFinishScope netcoreapp3.1 1.05μs 0.351ns 1.31ns 0.0116 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.48μs 0.658ns 2.55ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.17μs 0.726ns 2.72ns 0.0118 0 0 880 B
#3015 RunOnMethodBegin net472 1.5μs 0.757ns 2.93ns 0.141 0 0 891 B
#3015 RunOnMethodBegin netcoreapp3.1 1.11μs 0.349ns 1.21ns 0.0118 0 0 880 B

andrewlock avatar Aug 31 '22 08:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3015 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.AgentWriterBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 712μs 241ns 932ns 0.374 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 451μs 177ns 662ns 0 0 0 2.58 KB
#3015 WriteAndFlushEnrichedTraces net472 716μs 452ns 1.75μs 0.355 0 0 3.18 KB
#3015 WriteAndFlushEnrichedTraces netcoreapp3.1 460μs 180ns 673ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 198ns 0.881ns 3.41ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 248ns 0.762ns 2.95ns 0.0058 0 0 424 B
master AllCycleMoreComplexBody net472 193ns 0.788ns 3.05ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 241ns 0.848ns 3.29ns 0.00539 0 0 400 B
master BodyExtractorSimpleBody net472 274ns 1.26ns 4.89ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 242ns 0.776ns 3.01ns 0.00366 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.7μs 53.5ns 207ns 1.2 0.0219 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.6μs 55.6ns 215ns 0.0923 0 0 6.75 KB
#3015 AllCycleSimpleBody net472 187ns 0.592ns 2.29ns 0.0675 0 0 425 B
#3015 AllCycleSimpleBody netcoreapp3.1 244ns 0.725ns 2.81ns 0.00585 0 0 424 B
#3015 AllCycleMoreComplexBody net472 191ns 0.624ns 2.34ns 0.0637 0 0 401 B
#3015 AllCycleMoreComplexBody netcoreapp3.1 240ns 0.614ns 2.3ns 0.00545 0 0 400 B
#3015 BodyExtractorSimpleBody net472 265ns 0.982ns 3.8ns 0.0574 0 0 361 B
#3015 BodyExtractorSimpleBody netcoreapp3.1 236ns 0.766ns 2.97ns 0.00371 0 0 272 B
#3015 BodyExtractorMoreComplexBody net472 15.3μs 55.7ns 216ns 1.21 0.0152 0 7.62 KB
#3015 BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 46.9ns 181ns 0.0908 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 181μs 182ns 705ns 0.271 0 0 20.57 KB
#3015 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3015 SendRequest netcoreapp3.1 182μs 152ns 570ns 0.273 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.83μs 0.401ns 1.5ns 0.15 0.000916 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.45μs 0.768ns 2.98ns 0.0123 0 0 936 B
#3015 ExecuteNonQuery net472 1.91μs 0.831ns 3.22ns 0.15 0.000957 0 947 B
#3015 ExecuteNonQuery netcoreapp3.1 1.47μs 0.715ns 2.58ns 0.0121 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.49μs 1.05ns 3.94ns 0.184 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.49μs 0.428ns 1.6ns 0.0149 0 0 1.1 KB
master CallElasticsearchAsync net472 2.67μs 0.832ns 3.22ns 0.205 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.62μs 0.442ns 1.65ns 0.0162 0 0 1.22 KB
#3015 CallElasticsearch net472 2.52μs 1.12ns 4.2ns 0.183 0 0 1.16 KB
#3015 CallElasticsearch netcoreapp3.1 1.6μs 0.556ns 2.15ns 0.0144 0 0 1.1 KB
#3015 CallElasticsearchAsync net472 2.63μs 0.697ns 2.7ns 0.205 0 0 1.29 KB
#3015 CallElasticsearchAsync netcoreapp3.1 1.6μs 0.505ns 1.95ns 0.016 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.65μs 4.98ns 19.3ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.62μs 2.5ns 9.67ns 0.0181 0 0 1.34 KB
#3015 ExecuteAsync net472 2.67μs 7ns 27.1ns 0.224 0 0 1.41 KB
#3015 ExecuteAsync netcoreapp3.1 1.69μs 4ns 15.5ns 0.0183 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.66μs 8.67ns 32.4ns 0.439 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.57μs 7.69ns 29.8ns 0.0348 0 0 2.6 KB
#3015 SendAsync net472 5.85μs 22.5ns 87.2ns 0.437 0 0 2.77 KB
#3015 SendAsync netcoreapp3.1 3.78μs 8.65ns 32.4ns 0.0348 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.21μs 2.06ns 7.72ns 0.287 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.46μs 1.34ns 4.83ns 0.0245 0 0 1.85 KB
#3015 EnrichedLog net472 3.16μs 1.4ns 5.42ns 0.287 0 0 1.81 KB
#3015 EnrichedLog netcoreapp3.1 2.71μs 0.707ns 2.55ns 0.0244 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 149μs 91.4ns 354ns 0.671 0.224 0 4.65 KB
master EnrichedLog netcoreapp3.1 115μs 124ns 481ns 0 0 0 4.49 KB
#3015 EnrichedLog net472 149μs 64.9ns 243ns 0.678 0.226 0 4.65 KB
#3015 EnrichedLog netcoreapp3.1 116μs 137ns 531ns 0.0577 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.6μs 12.4ns 47.9ns 0.569 0.00279 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.37μs 12.8ns 49.6ns 0.0541 0 0 3.91 KB
#3015 EnrichedLog net472 5.5μs 13.6ns 52.6ns 0.568 0.00273 0 3.59 KB
#3015 EnrichedLog netcoreapp3.1 4.54μs 12.9ns 48.2ns 0.0539 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.31μs 1.13ns 4.21ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.82μs 0.519ns 1.94ns 0.0182 0 0 1.32 KB
#3015 SendReceive net472 2.27μs 0.997ns 3.86ns 0.218 0 0 1.37 KB
#3015 SendReceive netcoreapp3.1 1.83μs 0.681ns 2.55ns 0.0175 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.04μs 1.76ns 6.83ns 0.353 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.28μs 1.83ns 6.83ns 0.0234 0 0 1.8 KB
#3015 EnrichedLog net472 4.93μs 1.4ns 5.06ns 0.354 0 0 2.23 KB
#3015 EnrichedLog netcoreapp3.1 4.33μs 1.58ns 6.13ns 0.0239 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.11μs 0.332ns 1.28ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 893ns 0.371ns 1.39ns 0.0103 0 0 760 B
master StartFinishScope net472 1.35μs 0.91ns 3.4ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.06μs 1.13ns 4.39ns 0.0121 0 0 880 B
#3015 StartFinishSpan net472 1.26μs 6.15ns 43.9ns 0.129 0 0 810 B
#3015 StartFinishSpan netcoreapp3.1 951ns 0.427ns 1.6ns 0.0105 0 0 760 B
#3015 StartFinishScope net472 1.49μs 0.384ns 1.44ns 0.141 0 0 891 B
#3015 StartFinishScope netcoreapp3.1 1.11μs 0.937ns 3.63ns 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.658ns 2.55ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.17μs 0.726ns 2.72ns 0.0118 0 0 880 B
#3015 RunOnMethodBegin net472 1.51μs 0.729ns 2.82ns 0.141 0 0 891 B
#3015 RunOnMethodBegin netcoreapp3.1 1.21μs 1.37ns 5.3ns 0.0115 0 0 880 B

andrewlock avatar Aug 31 '22 09:08 andrewlock

Code Coverage Report :bar_chart:

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

master #3015 Change
Lines 17259 / 23585 17284 / 23601
Lines % 73% 73% 0% :heavy_check_mark:
Branches 10242 / 14548 10258 / 14564
Branches % 70% 70% 0% :heavy_check_mark:
Complexity 15670 15687 17 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3015 Change
Lines % 73% 73% 0% :heavy_check_mark:
Branches % 70% 70% 0% :heavy_check_mark:
Complexity 15670 15687 17 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Debugger.ProbeStatuses.ProbeStatusPoller 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.ContinuousProfiler.ContextTracker 7% :heavy_check_mark: 8% :heavy_check_mark: 12 :no_entry:

View the full reports for further details:

andrewlock avatar Aug 31 '22 10:08 andrewlock