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

Nacho/weak cipher

Open NachoEchevarria opened this issue 2 years ago • 10 comments

Summary of changes

Reason for change

Implementation details

Test coverage

Other details

NachoEchevarria avatar Oct 13 '22 14:10 NachoEchevarria

Benchmarks Report :snail:

Benchmarks for #3353 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.126
  • 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 782μs 876ns 3.39μs 0.388 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 535μs 197ns 736ns 0 0 0 2.63 KB
#3353 WriteAndFlushEnrichedTraces net472 781μs 567ns 2.12μs 0.388 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 529μs 241ns 903ns 0 0 0 2.62 KB
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3353

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.BodyExtractorSimpleBody‑net472 1.126 316.94 281.57

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 198ns 0.0787ns 0.284ns 0.0726 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 255ns 0.146ns 0.548ns 0.00614 0 0 456 B
master AllCycleMoreComplexBody net472 200ns 0.052ns 0.18ns 0.0688 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 252ns 0.161ns 0.601ns 0.00595 0 0 432 B
master BodyExtractorSimpleBody net472 317ns 0.0885ns 0.319ns 0.0572 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 238ns 0.0973ns 0.351ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.8μs 17.1ns 63.8ns 1.21 0.0158 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 5.29ns 20.5ns 0.089 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 198ns 0.0782ns 0.303ns 0.0727 0 0 457 B
#3353 AllCycleSimpleBody netcoreapp3.1 255ns 0.118ns 0.441ns 0.0063 0 0 456 B
#3353 AllCycleMoreComplexBody net472 194ns 0.0733ns 0.274ns 0.0688 0 0 433 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 254ns 0.164ns 0.634ns 0.00588 0 0 432 B
#3353 BodyExtractorSimpleBody net472 281ns 0.241ns 0.869ns 0.0573 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 243ns 0.124ns 0.465ns 0.00367 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 16.4μs 8.84ns 34.2ns 1.2 0.0165 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 13μs 4.38ns 16.4ns 0.0845 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 185ns 715ns 0.27 0 0 20.68 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 180μs 260ns 1.01μs 0.271 0 0 20.68 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.79μs 0.719ns 2.69ns 0.155 0.000901 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.46μs 0.646ns 2.33ns 0.0131 0 0 968 B
#3353 ExecuteNonQuery net472 1.86μs 0.609ns 2.36ns 0.155 0.00093 0 979 B
#3353 ExecuteNonQuery netcoreapp3.1 1.44μs 0.483ns 1.81ns 0.0129 0 0 968 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.48μs 1.12ns 4.35ns 0.188 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.58μs 0.725ns 2.81ns 0.015 0 0 1.13 KB
master CallElasticsearchAsync net472 2.7μs 1.22ns 4.73ns 0.209 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.63μs 0.616ns 2.31ns 0.0171 0 0 1.25 KB
#3353 CallElasticsearch net472 2.57μs 0.767ns 2.87ns 0.188 0 0 1.19 KB
#3353 CallElasticsearch netcoreapp3.1 1.49μs 0.753ns 2.92ns 0.0156 0 0 1.13 KB
#3353 CallElasticsearchAsync net472 2.62μs 0.947ns 3.54ns 0.21 0 0 1.32 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.73μs 0.459ns 1.72ns 0.0172 0 0 1.25 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.76μs 1.59ns 6.16ns 0.23 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.672ns 2.42ns 0.0183 0 0 1.38 KB
#3353 ExecuteAsync net472 2.73μs 1.52ns 5.47ns 0.231 0 0 1.45 KB
#3353 ExecuteAsync netcoreapp3.1 1.79μs 0.399ns 1.49ns 0.0188 0 0 1.38 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.85μs 2.16ns 8.36ns 0.444 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.63μs 1.26ns 4.7ns 0.0344 0 0 2.63 KB
#3353 SendAsync net472 5.83μs 2.2ns 8.53ns 0.444 0 0 2.8 KB
#3353 SendAsync netcoreapp3.1 3.61μs 2.02ns 7.3ns 0.0342 0 0 2.63 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 3.5ns 13.1ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.44μs 2.13ns 7.96ns 0.0257 0 0 1.91 KB
#3353 EnrichedLog net472 3.21μs 2.46ns 9.54ns 0.297 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.49μs 1.47ns 5.51ns 0.025 0 0 1.91 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 153μs 172ns 642ns 0.688 0.229 0 4.72 KB
master EnrichedLog netcoreapp3.1 122μs 229ns 886ns 0.0606 0 0 4.55 KB
#3353 EnrichedLog net472 153μs 268ns 1.04μs 0.696 0.232 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 121μs 116ns 434ns 0 0 0 4.55 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.66μs 2.45ns 9.18ns 0.578 0.00284 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.81μs 1.97ns 7.35ns 0.0531 0 0 3.98 KB
#3353 EnrichedLog net472 5.89μs 1.78ns 6.91ns 0.58 0.00294 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.39μs 1.68ns 6.52ns 0.0526 0 0 3.98 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.35μs 2.84ns 11ns 0.222 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.87μs 0.794ns 2.97ns 0.0179 0 0 1.35 KB
#3353 SendReceive net472 2.29μs 2.52ns 8.71ns 0.222 0 0 1.4 KB
#3353 SendReceive netcoreapp3.1 1.88μs 0.764ns 2.86ns 0.0188 0 0 1.35 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.08μs 1.81ns 7ns 0.364 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.18μs 1.36ns 5.28ns 0.0251 0 0 1.86 KB
#3353 EnrichedLog net472 4.98μs 3.76ns 14.1ns 0.362 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.17μs 1.44ns 5.4ns 0.025 0 0 1.86 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.21μs 0.369ns 1.33ns 0.134 0 0 842 B
master StartFinishSpan netcoreapp3.1 959ns 0.552ns 2.14ns 0.0111 0 0 792 B
master StartFinishScope net472 1.37μs 0.43ns 1.67ns 0.147 0 0 923 B
master StartFinishScope netcoreapp3.1 1.07μs 0.261ns 0.975ns 0.0123 0 0 912 B
#3353 StartFinishSpan net472 1.25μs 0.303ns 1.17ns 0.134 0 0 842 B
#3353 StartFinishSpan netcoreapp3.1 938ns 0.365ns 1.32ns 0.0108 0 0 792 B
#3353 StartFinishScope net472 1.44μs 0.21ns 0.787ns 0.146 0 0 923 B
#3353 StartFinishScope netcoreapp3.1 1.1μs 0.392ns 1.47ns 0.0122 0 0 912 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.54μs 0.34ns 1.27ns 0.147 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.18μs 0.32ns 1.24ns 0.0123 0 0 912 B
#3353 RunOnMethodBegin net472 1.49μs 0.626ns 2.43ns 0.146 0 0 923 B
#3353 RunOnMethodBegin netcoreapp3.1 1.19μs 0.283ns 1.02ns 0.0125 0 0 912 B

andrewlock avatar Oct 13 '22 15:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3353 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 782μs 876ns 3.39μs 0.388 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 535μs 197ns 736ns 0 0 0 2.63 KB
#3353 WriteAndFlushEnrichedTraces net472 794μs 861ns 3.33μs 0.396 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 541μs 325ns 1.26μs 0 0 0 2.63 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.0787ns 0.284ns 0.0726 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 255ns 0.146ns 0.548ns 0.00614 0 0 456 B
master AllCycleMoreComplexBody net472 200ns 0.052ns 0.18ns 0.0688 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 252ns 0.161ns 0.601ns 0.00595 0 0 432 B
master BodyExtractorSimpleBody net472 317ns 0.0885ns 0.319ns 0.0572 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 238ns 0.0973ns 0.351ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.8μs 17.1ns 63.8ns 1.21 0.0158 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 5.29ns 20.5ns 0.089 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 196ns 0.075ns 0.27ns 0.0726 0 0 457 B
#3353 AllCycleSimpleBody netcoreapp3.1 257ns 0.194ns 0.75ns 0.0063 0 0 456 B
#3353 AllCycleMoreComplexBody net472 205ns 0.069ns 0.249ns 0.0688 0 0 433 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 253ns 0.204ns 0.792ns 0.00582 0 0 432 B
#3353 BodyExtractorSimpleBody net472 296ns 0.581ns 2.17ns 0.0573 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 231ns 0.103ns 0.401ns 0.00371 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 15.7μs 12.2ns 47.1ns 1.2 0.0156 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 7.39ns 28.6ns 0.0905 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 185ns 715ns 0.27 0 0 20.68 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 182μs 295ns 1.14μs 0.275 0 0 20.68 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.79μs 0.719ns 2.69ns 0.155 0.000901 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.46μs 0.646ns 2.33ns 0.0131 0 0 968 B
#3353 ExecuteNonQuery net472 1.8μs 1.33ns 5.15ns 0.155 0.000897 0 979 B
#3353 ExecuteNonQuery netcoreapp3.1 1.4μs 0.53ns 1.91ns 0.0132 0 0 968 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.48μs 1.12ns 4.35ns 0.188 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.58μs 0.725ns 2.81ns 0.015 0 0 1.13 KB
master CallElasticsearchAsync net472 2.7μs 1.22ns 4.73ns 0.209 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.63μs 0.616ns 2.31ns 0.0171 0 0 1.25 KB
#3353 CallElasticsearch net472 2.64μs 0.729ns 2.63ns 0.189 0 0 1.19 KB
#3353 CallElasticsearch netcoreapp3.1 1.5μs 0.676ns 2.53ns 0.0149 0 0 1.13 KB
#3353 CallElasticsearchAsync net472 2.67μs 1.05ns 4.06ns 0.209 0 0 1.32 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.71μs 0.435ns 1.63ns 0.0171 0 0 1.25 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.76μs 1.59ns 6.16ns 0.23 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.672ns 2.42ns 0.0183 0 0 1.38 KB
#3353 ExecuteAsync net472 2.7μs 2.64ns 9.86ns 0.231 0 0 1.45 KB
#3353 ExecuteAsync netcoreapp3.1 1.73μs 0.777ns 3.01ns 0.0182 0 0 1.38 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.85μs 2.16ns 8.36ns 0.444 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.63μs 1.26ns 4.7ns 0.0344 0 0 2.63 KB
#3353 SendAsync net472 5.96μs 2.46ns 9.54ns 0.443 0 0 2.8 KB
#3353 SendAsync netcoreapp3.1 3.78μs 1.37ns 5.12ns 0.0361 0 0 2.63 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 3.5ns 13.1ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.44μs 2.13ns 7.96ns 0.0257 0 0 1.91 KB
#3353 EnrichedLog net472 3.24μs 3.96ns 15.3ns 0.298 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.4μs 1.01ns 3.77ns 0.0263 0 0 1.91 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 153μs 172ns 642ns 0.688 0.229 0 4.72 KB
master EnrichedLog netcoreapp3.1 122μs 229ns 886ns 0.0606 0 0 4.55 KB
#3353 EnrichedLog net472 152μs 266ns 1.03μs 0.681 0.227 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 122μs 173ns 669ns 0.0619 0 0 4.55 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.66μs 2.45ns 9.18ns 0.578 0.00284 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.81μs 1.97ns 7.35ns 0.0531 0 0 3.98 KB
#3353 EnrichedLog net472 5.84μs 1.89ns 7.07ns 0.578 0.00292 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.49μs 6.91ns 26.8ns 0.0532 0 0 3.98 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.35μs 2.84ns 11ns 0.222 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.87μs 0.794ns 2.97ns 0.0179 0 0 1.35 KB
#3353 SendReceive net472 2.32μs 1.77ns 6.85ns 0.223 0 0 1.4 KB
#3353 SendReceive netcoreapp3.1 1.87μs 0.591ns 2.29ns 0.0187 0 0 1.35 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.08μs 1.81ns 7ns 0.364 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.18μs 1.36ns 5.28ns 0.0251 0 0 1.86 KB
#3353 EnrichedLog net472 5.06μs 2.76ns 10.3ns 0.363 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.28μs 1.94ns 7.5ns 0.0236 0 0 1.86 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.21μs 0.369ns 1.33ns 0.134 0 0 842 B
master StartFinishSpan netcoreapp3.1 959ns 0.552ns 2.14ns 0.0111 0 0 792 B
master StartFinishScope net472 1.37μs 0.43ns 1.67ns 0.147 0 0 923 B
master StartFinishScope netcoreapp3.1 1.07μs 0.261ns 0.975ns 0.0123 0 0 912 B
#3353 StartFinishSpan net472 1.22μs 0.38ns 1.37ns 0.133 0 0 842 B
#3353 StartFinishSpan netcoreapp3.1 970ns 0.392ns 1.41ns 0.0107 0 0 792 B
#3353 StartFinishScope net472 1.47μs 0.61ns 2.36ns 0.146 0 0 923 B
#3353 StartFinishScope netcoreapp3.1 1.14μs 0.369ns 1.43ns 0.0124 0 0 912 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.54μs 0.34ns 1.27ns 0.147 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.18μs 0.32ns 1.24ns 0.0123 0 0 912 B
#3353 RunOnMethodBegin net472 1.57μs 0.374ns 1.35ns 0.146 0 0 923 B
#3353 RunOnMethodBegin netcoreapp3.1 1.14μs 0.71ns 2.56ns 0.0125 0 0 912 B

andrewlock avatar Oct 13 '22 16:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3353 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 792μs 595ns 2.23μs 0.393 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 534μs 402ns 1.56μs 0 0 0 2.63 KB
#3353 WriteAndFlushEnrichedTraces net472 791μs 957ns 3.71μs 0.396 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 531μs 172ns 667ns 0 0 0 2.63 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 197ns 0.116ns 0.448ns 0.0727 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 255ns 0.145ns 0.56ns 0.00624 0 0 456 B
master AllCycleMoreComplexBody net472 211ns 0.159ns 0.614ns 0.0689 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 253ns 0.113ns 0.438ns 0.00593 0 0 432 B
master BodyExtractorSimpleBody net472 272ns 0.147ns 0.567ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 229ns 0.09ns 0.349ns 0.00369 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.8μs 12.9ns 49.9ns 1.21 0.0158 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13.2μs 6.8ns 25.5ns 0.092 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 198ns 0.0834ns 0.312ns 0.0726 0 0 457 B
#3353 AllCycleSimpleBody netcoreapp3.1 268ns 1.1ns 4.27ns 0.0061 0 0 456 B
#3353 AllCycleMoreComplexBody net472 197ns 0.053ns 0.198ns 0.0688 0 0 433 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 255ns 0.111ns 0.399ns 0.00588 0 0 432 B
#3353 BodyExtractorSimpleBody net472 279ns 0.264ns 1.02ns 0.0573 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 241ns 0.101ns 0.391ns 0.00375 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 16.2μs 14.1ns 52.6ns 1.2 0.0159 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 13μs 5ns 18.7ns 0.0909 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 245ns 950ns 0.18 0 0 20.68 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 181μs 219ns 850ns 0.181 0 0 20.68 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.93μs 0.98ns 3.67ns 0.155 0.000967 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.47μs 0.646ns 2.42ns 0.0126 0 0 968 B
#3353 ExecuteNonQuery net472 1.85μs 0.804ns 3.01ns 0.155 0.000919 0 979 B
#3353 ExecuteNonQuery netcoreapp3.1 1.45μs 0.681ns 2.64ns 0.0128 0 0 968 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.63μs 1.06ns 3.97ns 0.188 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.6μs 0.633ns 2.37ns 0.0153 0 0 1.13 KB
master CallElasticsearchAsync net472 2.78μs 1.64ns 5.9ns 0.21 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.63μs 0.611ns 2.2ns 0.0171 0 0 1.25 KB
#3353 CallElasticsearch net472 2.59μs 0.703ns 2.53ns 0.189 0 0 1.19 KB
#3353 CallElasticsearch netcoreapp3.1 1.5μs 0.969ns 3.62ns 0.015 0 0 1.13 KB
#3353 CallElasticsearchAsync net472 2.7μs 1.15ns 4.46ns 0.209 0 0 1.32 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.64μs 0.656ns 2.37ns 0.0172 0 0 1.25 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.8μs 1.61ns 5.82ns 0.23 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.592ns 2.29ns 0.019 0 0 1.38 KB
#3353 ExecuteAsync net472 2.78μs 1.36ns 5.07ns 0.23 0 0 1.45 KB
#3353 ExecuteAsync netcoreapp3.1 1.74μs 0.465ns 1.68ns 0.0184 0 0 1.38 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 1.37ns 4.92ns 0.445 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.67μs 2.91ns 10.1ns 0.0349 0 0 2.63 KB
#3353 SendAsync net472 5.96μs 2.19ns 7.89ns 0.444 0 0 2.8 KB
#3353 SendAsync netcoreapp3.1 3.7μs 1.86ns 6.94ns 0.0353 0 0 2.63 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.24μs 3.47ns 13ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.5μs 1.1ns 4.25ns 0.026 0 0 1.91 KB
#3353 EnrichedLog net472 3.18μs 3.65ns 14.1ns 0.297 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.54μs 1.13ns 4.36ns 0.0254 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 151μs 97.4ns 377ns 0.679 0.226 0 4.72 KB
master EnrichedLog netcoreapp3.1 120μs 123ns 477ns 0 0 0 4.55 KB
#3353 EnrichedLog net472 151μs 82.4ns 297ns 0.68 0.227 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 120μs 146ns 565ns 0 0 0 4.55 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.83μs 2.38ns 9.23ns 0.58 0.00291 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.41μs 2.41ns 9.02ns 0.0533 0 0 3.98 KB
#3353 EnrichedLog net472 5.92μs 1.46ns 5.66ns 0.577 0.00296 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.73μs 4.37ns 16.9ns 0.0544 0 0 3.98 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.25μs 2.13ns 7.95ns 0.222 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.77μs 1.22ns 4.4ns 0.0179 0 0 1.35 KB
#3353 SendReceive net472 2.35μs 2.43ns 9.41ns 0.223 0 0 1.4 KB
#3353 SendReceive netcoreapp3.1 1.82μs 3.45ns 13.4ns 0.0183 0 0 1.35 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.98μs 2ns 7.22ns 0.365 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.44μs 11.8ns 44.1ns 0.0241 0 0 1.86 KB
#3353 EnrichedLog net472 5.2μs 2.26ns 8.75ns 0.363 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.29μs 1.25ns 4.85ns 0.024 0 0 1.86 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.15μs 0.418ns 1.51ns 0.134 0 0 842 B
master StartFinishSpan netcoreapp3.1 960ns 0.583ns 2.18ns 0.0103 0 0 792 B
master StartFinishScope net472 1.48μs 0.522ns 2.02ns 0.146 0 0 923 B
master StartFinishScope netcoreapp3.1 1.07μs 0.367ns 1.32ns 0.0123 0 0 912 B
#3353 StartFinishSpan net472 1.2μs 0.351ns 1.31ns 0.133 0 0 842 B
#3353 StartFinishSpan netcoreapp3.1 1.01μs 0.315ns 1.18ns 0.0105 0 0 792 B
#3353 StartFinishScope net472 1.44μs 0.3ns 1.12ns 0.147 0 0 923 B
#3353 StartFinishScope netcoreapp3.1 1.02μs 0.458ns 1.71ns 0.0122 0 0 912 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.54μs 0.361ns 1.3ns 0.146 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.17μs 0.762ns 2.75ns 0.0122 0 0 912 B
#3353 RunOnMethodBegin net472 1.56μs 0.68ns 2.63ns 0.146 0 0 923 B
#3353 RunOnMethodBegin netcoreapp3.1 1.18μs 0.323ns 1.25ns 0.0124 0 0 912 B

andrewlock avatar Oct 14 '22 10:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3353 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 796μs 546ns 2.04μs 0.398 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 532μs 564ns 2.03μs 0 0 0 2.63 KB
#3353 WriteAndFlushEnrichedTraces net472 798μs 833ns 3.23μs 0.393 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 506μs 364ns 1.36μs 0 0 0 2.63 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 197ns 0.0576ns 0.216ns 0.0727 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.229ns 0.858ns 0.00627 0 0 456 B
master AllCycleMoreComplexBody net472 194ns 0.046ns 0.172ns 0.0688 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 251ns 0.116ns 0.433ns 0.00594 0 0 432 B
master BodyExtractorSimpleBody net472 272ns 0.309ns 1.2ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 241ns 0.152ns 0.568ns 0.00363 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.5μs 19.7ns 76.4ns 1.2 0.0154 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.6μs 5.65ns 21.9ns 0.0883 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 214ns 0.0832ns 0.322ns 0.0727 0 0 457 B
#3353 AllCycleSimpleBody netcoreapp3.1 255ns 0.201ns 0.78ns 0.00626 0 0 456 B
#3353 AllCycleMoreComplexBody net472 199ns 0.277ns 1.04ns 0.0688 0 0 433 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 252ns 0.225ns 0.841ns 0.00584 0 0 432 B
#3353 BodyExtractorSimpleBody net472 269ns 0.103ns 0.385ns 0.0573 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 242ns 0.143ns 0.553ns 0.00374 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 15.3μs 8.83ns 33ns 1.21 0.0153 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 13μs 5.13ns 19.2ns 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 182μs 317ns 1.18μs 0.27 0 0 20.68 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 182μs 316ns 1.22μs 0.181 0 0 20.68 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 1.22ns 4.74ns 0.155 0.000908 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.49μs 0.675ns 2.43ns 0.0127 0 0 968 B
#3353 ExecuteNonQuery net472 1.84μs 0.669ns 2.5ns 0.155 0.000917 0 979 B
#3353 ExecuteNonQuery netcoreapp3.1 1.45μs 0.855ns 3.2ns 0.013 0 0 968 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.51μs 0.764ns 2.86ns 0.189 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.51μs 1.38ns 4.79ns 0.0151 0 0 1.13 KB
master CallElasticsearchAsync net472 2.7μs 1.09ns 4.07ns 0.21 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.57μs 0.492ns 1.84ns 0.0169 0 0 1.25 KB
#3353 CallElasticsearch net472 2.48μs 0.778ns 3.01ns 0.188 0 0 1.19 KB
#3353 CallElasticsearch netcoreapp3.1 1.54μs 0.475ns 1.71ns 0.0146 0 0 1.13 KB
#3353 CallElasticsearchAsync net472 2.66μs 0.849ns 3.18ns 0.21 0 0 1.32 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.58μs 0.354ns 1.32ns 0.0166 0 0 1.25 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.87μs 1.4ns 5.24ns 0.231 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.79μs 0.668ns 2.5ns 0.0187 0 0 1.38 KB
#3353 ExecuteAsync net472 2.71μs 1.71ns 6.4ns 0.23 0 0 1.45 KB
#3353 ExecuteAsync netcoreapp3.1 1.78μs 0.628ns 2.27ns 0.0187 0 0 1.38 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.92μs 2.05ns 7.67ns 0.443 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.73μs 1.56ns 6.05ns 0.0356 0 0 2.63 KB
#3353 SendAsync net472 5.92μs 1.87ns 6.75ns 0.442 0 0 2.8 KB
#3353 SendAsync netcoreapp3.1 3.71μs 1.28ns 4.78ns 0.0353 0 0 2.63 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.34μs 4.03ns 14.5ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.41μs 0.932ns 3.49ns 0.0253 0 0 1.91 KB
#3353 EnrichedLog net472 3.13μs 2.25ns 8.7ns 0.297 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.41μs 1.12ns 4.18ns 0.0255 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 151μs 84.2ns 326ns 0.676 0.225 0 4.72 KB
master EnrichedLog netcoreapp3.1 120μs 196ns 732ns 0 0 0 4.55 KB
#3353 EnrichedLog net472 151μs 111ns 430ns 0.679 0.226 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 123μs 208ns 805ns 0.0601 0 0 4.55 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.91μs 2.62ns 10.1ns 0.579 0.00296 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.43μs 1.19ns 4.6ns 0.0532 0 0 3.98 KB
#3353 EnrichedLog net472 5.78μs 1.69ns 6.53ns 0.58 0.00288 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.52μs 1.76ns 6.59ns 0.0543 0 0 3.98 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.58ns 5.69ns 0.222 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.78μs 0.6ns 2.32ns 0.0178 0 0 1.35 KB
#3353 SendReceive net472 2.22μs 3.14ns 12.2ns 0.222 0 0 1.4 KB
#3353 SendReceive netcoreapp3.1 1.8μs 0.575ns 2.07ns 0.0188 0 0 1.35 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.18μs 1.63ns 6.33ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.37μs 1.54ns 5.78ns 0.0241 0 0 1.86 KB
#3353 EnrichedLog net472 5.01μs 2.15ns 8.34ns 0.363 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.27μs 1.44ns 5.57ns 0.0236 0 0 1.86 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.325ns 1.26ns 0.134 0 0 842 B
master StartFinishSpan netcoreapp3.1 928ns 0.886ns 3.31ns 0.0107 0 0 792 B
master StartFinishScope net472 1.43μs 0.507ns 1.96ns 0.147 0 0 923 B
master StartFinishScope netcoreapp3.1 1.07μs 0.498ns 1.93ns 0.0122 0 0 912 B
#3353 StartFinishSpan net472 1.15μs 0.525ns 1.89ns 0.134 0 0 842 B
#3353 StartFinishSpan netcoreapp3.1 948ns 0.337ns 1.26ns 0.0109 0 0 792 B
#3353 StartFinishScope net472 1.43μs 0.482ns 1.87ns 0.146 0 0 923 B
#3353 StartFinishScope netcoreapp3.1 1.1μs 0.461ns 1.79ns 0.0121 0 0 912 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.485ns 1.75ns 0.146 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.14μs 0.535ns 2ns 0.0125 0 0 912 B
#3353 RunOnMethodBegin net472 1.6μs 0.552ns 2.14ns 0.146 0 0 923 B
#3353 RunOnMethodBegin netcoreapp3.1 1.2μs 0.664ns 2.39ns 0.0126 0 0 912 B

andrewlock avatar Oct 14 '22 11:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3353 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 802μs 703ns 2.72μs 0.398 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 540μs 245ns 947ns 0 0 0 2.63 KB
#3353 WriteAndFlushEnrichedTraces net472 792μs 442ns 1.71μs 0.398 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 527μs 444ns 1.72μs 0 0 0 2.62 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 197ns 0.109ns 0.408ns 0.0726 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.106ns 0.397ns 0.00624 0 0 456 B
master AllCycleMoreComplexBody net472 195ns 0.0922ns 0.333ns 0.0688 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 256ns 0.29ns 1.12ns 0.0059 0 0 432 B
master BodyExtractorSimpleBody net472 270ns 0.152ns 0.588ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 247ns 0.124ns 0.449ns 0.00372 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.9μs 8.78ns 32.9ns 1.2 0.0157 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 6.78ns 25.4ns 0.0902 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 198ns 0.0698ns 0.252ns 0.0726 0 0 457 B
#3353 AllCycleSimpleBody netcoreapp3.1 255ns 0.0943ns 0.353ns 0.00634 0 0 456 B
#3353 AllCycleMoreComplexBody net472 199ns 0.116ns 0.419ns 0.0688 0 0 433 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 250ns 0.18ns 0.673ns 0.0059 0 0 432 B
#3353 BodyExtractorSimpleBody net472 287ns 0.315ns 1.18ns 0.0574 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 245ns 0.118ns 0.443ns 0.0038 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 15.9μs 9.03ns 35ns 1.21 0.016 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 3.5ns 13.1ns 0.0894 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0.0266ns 0.0124ns 0.0568ns 0 0 0 0 b
master SendRequest netcoreapp3.1 182μs 222ns 859ns 0.272 0 0 20.68 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 180μs 285ns 1.1μs 0.18 0 0 20.68 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 1.11ns 4.32ns 0.155 0.000923 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.43μs 0.535ns 2ns 0.0132 0 0 968 B
#3353 ExecuteNonQuery net472 1.89μs 0.757ns 2.83ns 0.155 0.000946 0 979 B
#3353 ExecuteNonQuery netcoreapp3.1 1.49μs 0.344ns 1.29ns 0.0133 0 0 968 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.55μs 0.61ns 2.28ns 0.188 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.551ns 1.99ns 0.0153 0 0 1.13 KB
master CallElasticsearchAsync net472 2.69μs 2.15ns 8.34ns 0.21 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.54μs 0.689ns 2.58ns 0.0162 0 0 1.25 KB
#3353 CallElasticsearch net472 2.53μs 0.867ns 3.36ns 0.189 0 0 1.19 KB
#3353 CallElasticsearch netcoreapp3.1 1.54μs 0.646ns 2.42ns 0.0153 0 0 1.13 KB
#3353 CallElasticsearchAsync net472 2.63μs 2.31ns 8.93ns 0.21 0 0 1.32 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.57μs 0.676ns 2.53ns 0.0167 0 0 1.25 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.57μs 0.676ns 2.53ns 0.23 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.616ns 2.39ns 0.0191 0 0 1.38 KB
#3353 ExecuteAsync net472 2.85μs 0.762ns 2.85ns 0.23 0 0 1.45 KB
#3353 ExecuteAsync netcoreapp3.1 1.78μs 0.533ns 1.99ns 0.0187 0 0 1.38 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.88μs 2.24ns 8.38ns 0.442 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.65μs 1.71ns 6.41ns 0.0347 0 0 2.63 KB
#3353 SendAsync net472 5.89μs 2.37ns 8.88ns 0.443 0 0 2.8 KB
#3353 SendAsync netcoreapp3.1 3.64μs 0.981ns 3.54ns 0.0347 0 0 2.63 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.08μs 1.29ns 4.65ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.61μs 2ns 7.47ns 0.0259 0 0 1.91 KB
#3353 EnrichedLog net472 3.21μs 3.05ns 11.4ns 0.297 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.5μs 1.79ns 6.68ns 0.0255 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 151μs 135ns 522ns 0.681 0.227 0 4.72 KB
master EnrichedLog netcoreapp3.1 123μs 187ns 675ns 0 0 0 4.55 KB
#3353 EnrichedLog net472 152μs 116ns 434ns 0.68 0.227 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 120μs 163ns 632ns 0.0599 0 0 4.55 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.77μs 2.27ns 8.5ns 0.578 0.00288 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.48μs 2.55ns 9.53ns 0.0539 0 0 3.98 KB
#3353 EnrichedLog net472 5.74μs 2.22ns 8.3ns 0.579 0.00286 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.56μs 3.14ns 12.2ns 0.0521 0 0 3.98 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.34μs 1.45ns 5.64ns 0.223 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.83μs 0.791ns 3.06ns 0.0183 0 0 1.35 KB
#3353 SendReceive net472 2.36μs 2.94ns 11.4ns 0.223 0 0 1.4 KB
#3353 SendReceive netcoreapp3.1 1.8μs 0.857ns 3.21ns 0.0189 0 0 1.35 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 2.01ns 7.77ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.29μs 3.86ns 15ns 0.024 0 0 1.86 KB
#3353 EnrichedLog net472 5.1μs 2.02ns 7.57ns 0.363 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.33μs 1.52ns 5.48ns 0.0236 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.16μs 0.429ns 1.66ns 0.134 0 0 842 B
master StartFinishSpan netcoreapp3.1 959ns 0.345ns 1.29ns 0.0106 0 0 792 B
master StartFinishScope net472 1.39μs 0.723ns 2.61ns 0.146 0 0 923 B
master StartFinishScope netcoreapp3.1 1.07μs 0.287ns 1.04ns 0.0122 0 0 912 B
#3353 StartFinishSpan net472 1.17μs 0.29ns 1.08ns 0.134 0 0 842 B
#3353 StartFinishSpan netcoreapp3.1 923ns 0.596ns 2.23ns 0.0106 0 0 792 B
#3353 StartFinishScope net472 1.44μs 1.51ns 5.86ns 0.146 0 0 923 B
#3353 StartFinishScope netcoreapp3.1 1.07μs 0.29ns 1.09ns 0.0124 0 0 912 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.49μs 0.577ns 2.08ns 0.146 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.18μs 0.423ns 1.53ns 0.0119 0 0 912 B
#3353 RunOnMethodBegin net472 1.53μs 0.494ns 1.85ns 0.146 0 0 923 B
#3353 RunOnMethodBegin netcoreapp3.1 1.15μs 0.391ns 1.46ns 0.0121 0 0 912 B

andrewlock avatar Oct 14 '22 14:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3353 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 802μs 703ns 2.72μs 0.398 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 540μs 245ns 947ns 0 0 0 2.63 KB
#3353 WriteAndFlushEnrichedTraces net472 788μs 455ns 1.64μs 0.393 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 540μs 153ns 530ns 0 0 0 2.62 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 197ns 0.109ns 0.408ns 0.0726 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.106ns 0.397ns 0.00624 0 0 456 B
master AllCycleMoreComplexBody net472 195ns 0.0922ns 0.333ns 0.0688 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 256ns 0.29ns 1.12ns 0.0059 0 0 432 B
master BodyExtractorSimpleBody net472 270ns 0.152ns 0.588ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 247ns 0.124ns 0.449ns 0.00372 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.9μs 8.78ns 32.9ns 1.2 0.0157 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 6.78ns 25.4ns 0.0902 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 196ns 0.0482ns 0.174ns 0.0727 0 0 457 B
#3353 AllCycleSimpleBody netcoreapp3.1 255ns 0.41ns 1.59ns 0.00628 0 0 456 B
#3353 AllCycleMoreComplexBody net472 196ns 0.0426ns 0.154ns 0.0688 0 0 433 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 256ns 0.204ns 0.706ns 0.00601 0 0 432 B
#3353 BodyExtractorSimpleBody net472 298ns 0.274ns 1.03ns 0.0574 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 243ns 0.0855ns 0.32ns 0.00366 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 15.5μs 9.7ns 37.6ns 1.21 0.0158 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 6.57ns 25.4ns 0.0892 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.0266ns 0.0124ns 0.0568ns 0 0 0 0 b
master SendRequest netcoreapp3.1 182μs 222ns 859ns 0.272 0 0 20.68 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 183μs 182ns 705ns 0.182 0 0 20.68 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 1.11ns 4.32ns 0.155 0.000923 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.43μs 0.535ns 2ns 0.0132 0 0 968 B
#3353 ExecuteNonQuery net472 1.84μs 1.2ns 4.48ns 0.155 0.000919 0 979 B
#3353 ExecuteNonQuery netcoreapp3.1 1.48μs 2.1ns 8.13ns 0.0134 0 0 968 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.55μs 0.61ns 2.28ns 0.188 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.551ns 1.99ns 0.0153 0 0 1.13 KB
master CallElasticsearchAsync net472 2.69μs 2.15ns 8.34ns 0.21 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.54μs 0.689ns 2.58ns 0.0162 0 0 1.25 KB
#3353 CallElasticsearch net472 2.51μs 0.654ns 2.45ns 0.188 0 0 1.19 KB
#3353 CallElasticsearch netcoreapp3.1 1.5μs 0.696ns 2.51ns 0.015 0 0 1.13 KB
#3353 CallElasticsearchAsync net472 2.81μs 1.93ns 7.49ns 0.21 0 0 1.32 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.6μs 1.08ns 3.74ns 0.017 0 0 1.25 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.57μs 0.676ns 2.53ns 0.23 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.616ns 2.39ns 0.0191 0 0 1.38 KB
#3353 ExecuteAsync net472 2.71μs 3.02ns 11.7ns 0.23 0 0 1.45 KB
#3353 ExecuteAsync netcoreapp3.1 1.76μs 0.545ns 1.96ns 0.0185 0 0 1.38 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.88μs 2.24ns 8.38ns 0.442 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.65μs 1.71ns 6.41ns 0.0347 0 0 2.63 KB
#3353 SendAsync net472 5.85μs 2.01ns 7.51ns 0.444 0 0 2.8 KB
#3353 SendAsync netcoreapp3.1 3.64μs 2.02ns 7.57ns 0.0346 0 0 2.63 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.08μs 1.29ns 4.65ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.61μs 2ns 7.47ns 0.0259 0 0 1.91 KB
#3353 EnrichedLog net472 3.15μs 1.97ns 7.36ns 0.297 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.51μs 1.75ns 6.76ns 0.0262 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 151μs 135ns 522ns 0.681 0.227 0 4.72 KB
master EnrichedLog netcoreapp3.1 123μs 187ns 675ns 0 0 0 4.55 KB
#3353 EnrichedLog net472 153μs 252ns 976ns 0.689 0.23 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 120μs 200ns 747ns 0.0598 0 0 4.55 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.77μs 2.27ns 8.5ns 0.578 0.00288 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.48μs 2.55ns 9.53ns 0.0539 0 0 3.98 KB
#3353 EnrichedLog net472 5.78μs 2.85ns 11ns 0.578 0.00288 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.59μs 2.08ns 7.79ns 0.0538 0 0 3.98 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.34μs 1.45ns 5.64ns 0.223 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.83μs 0.791ns 3.06ns 0.0183 0 0 1.35 KB
#3353 SendReceive net472 2.39μs 3.58ns 13.9ns 0.222 0 0 1.4 KB
#3353 SendReceive netcoreapp3.1 1.76μs 0.926ns 3.59ns 0.0184 0 0 1.35 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 2.01ns 7.77ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.29μs 3.86ns 15ns 0.024 0 0 1.86 KB
#3353 EnrichedLog net472 5.16μs 15.7ns 60.9ns 0.365 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.34μs 2.2ns 8.53ns 0.0239 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.16μs 0.429ns 1.66ns 0.134 0 0 842 B
master StartFinishSpan netcoreapp3.1 959ns 0.345ns 1.29ns 0.0106 0 0 792 B
master StartFinishScope net472 1.39μs 0.723ns 2.61ns 0.146 0 0 923 B
master StartFinishScope netcoreapp3.1 1.07μs 0.287ns 1.04ns 0.0122 0 0 912 B
#3353 StartFinishSpan net472 1.15μs 0.422ns 1.58ns 0.134 0 0 842 B
#3353 StartFinishSpan netcoreapp3.1 928ns 0.674ns 2.61ns 0.0108 0 0 792 B
#3353 StartFinishScope net472 1.43μs 0.708ns 2.74ns 0.146 0 0 923 B
#3353 StartFinishScope netcoreapp3.1 1.07μs 0.8ns 2.89ns 0.0123 0 0 912 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.49μs 0.577ns 2.08ns 0.146 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.18μs 0.423ns 1.53ns 0.0119 0 0 912 B
#3353 RunOnMethodBegin net472 1.58μs 0.343ns 1.24ns 0.146 0 0 923 B
#3353 RunOnMethodBegin netcoreapp3.1 1.17μs 1.08ns 4.04ns 0.0123 0 0 912 B

andrewlock avatar Oct 14 '22 14:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3353 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 802μs 703ns 2.72μs 0.398 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 540μs 245ns 947ns 0 0 0 2.63 KB
#3353 WriteAndFlushEnrichedTraces net472 791μs 512ns 1.98μs 0.398 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 527μs 253ns 979ns 0 0 0 2.62 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 197ns 0.109ns 0.408ns 0.0726 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.106ns 0.397ns 0.00624 0 0 456 B
master AllCycleMoreComplexBody net472 195ns 0.0922ns 0.333ns 0.0688 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 256ns 0.29ns 1.12ns 0.0059 0 0 432 B
master BodyExtractorSimpleBody net472 270ns 0.152ns 0.588ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 247ns 0.124ns 0.449ns 0.00372 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.9μs 8.78ns 32.9ns 1.2 0.0157 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 6.78ns 25.4ns 0.0902 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 197ns 0.0303ns 0.113ns 0.0727 0 0 457 B
#3353 AllCycleSimpleBody netcoreapp3.1 255ns 0.117ns 0.438ns 0.00628 0 0 456 B
#3353 AllCycleMoreComplexBody net472 196ns 0.0517ns 0.193ns 0.0689 0 0 433 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 255ns 0.288ns 1.08ns 0.00588 0 0 432 B
#3353 BodyExtractorSimpleBody net472 268ns 0.151ns 0.585ns 0.0573 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 252ns 0.264ns 1.02ns 0.00361 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 15.7μs 11.6ns 44.9ns 1.2 0.0157 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 13.1μs 6.78ns 25.4ns 0.0912 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.0266ns 0.0124ns 0.0568ns 0 0 0 0 b
master SendRequest netcoreapp3.1 182μs 222ns 859ns 0.272 0 0 20.68 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 182μs 222ns 832ns 0.182 0 0 20.68 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 1.11ns 4.32ns 0.155 0.000923 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.43μs 0.535ns 2ns 0.0132 0 0 968 B
#3353 ExecuteNonQuery net472 1.9μs 0.88ns 3.41ns 0.155 0.000954 0 979 B
#3353 ExecuteNonQuery netcoreapp3.1 1.4μs 0.594ns 2.3ns 0.0133 0 0 968 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.55μs 0.61ns 2.28ns 0.188 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.551ns 1.99ns 0.0153 0 0 1.13 KB
master CallElasticsearchAsync net472 2.69μs 2.15ns 8.34ns 0.21 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.54μs 0.689ns 2.58ns 0.0162 0 0 1.25 KB
#3353 CallElasticsearch net472 2.54μs 0.774ns 3ns 0.189 0 0 1.19 KB
#3353 CallElasticsearch netcoreapp3.1 1.55μs 0.843ns 3.16ns 0.0155 0 0 1.13 KB
#3353 CallElasticsearchAsync net472 2.84μs 1.16ns 4.18ns 0.21 0 0 1.32 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.64μs 0.489ns 1.83ns 0.0164 0 0 1.25 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.57μs 0.676ns 2.53ns 0.23 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.616ns 2.39ns 0.0191 0 0 1.38 KB
#3353 ExecuteAsync net472 2.8μs 2.03ns 7.58ns 0.23 0 0 1.45 KB
#3353 ExecuteAsync netcoreapp3.1 1.82μs 0.353ns 1.37ns 0.018 0 0 1.38 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.88μs 2.24ns 8.38ns 0.442 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.65μs 1.71ns 6.41ns 0.0347 0 0 2.63 KB
#3353 SendAsync net472 5.95μs 1.21ns 4.52ns 0.443 0 0 2.8 KB
#3353 SendAsync netcoreapp3.1 3.73μs 0.866ns 3ns 0.0355 0 0 2.63 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.08μs 1.29ns 4.65ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.61μs 2ns 7.47ns 0.0259 0 0 1.91 KB
#3353 EnrichedLog net472 3.16μs 4.57ns 17.7ns 0.297 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.57μs 1.83ns 7.08ns 0.0256 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 151μs 135ns 522ns 0.681 0.227 0 4.72 KB
master EnrichedLog netcoreapp3.1 123μs 187ns 675ns 0 0 0 4.55 KB
#3353 EnrichedLog net472 152μs 136ns 528ns 0.681 0.227 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 120μs 159ns 615ns 0.0597 0 0 4.55 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.77μs 2.27ns 8.5ns 0.578 0.00288 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.48μs 2.55ns 9.53ns 0.0539 0 0 3.98 KB
#3353 EnrichedLog net472 5.87μs 1.5ns 5.41ns 0.579 0.00292 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.5μs 2.09ns 8.11ns 0.0538 0 0 3.98 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.34μs 1.45ns 5.64ns 0.223 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.83μs 0.791ns 3.06ns 0.0183 0 0 1.35 KB
#3353 SendReceive net472 2.27μs 2.21ns 7.97ns 0.223 0 0 1.4 KB
#3353 SendReceive netcoreapp3.1 1.85μs 0.763ns 2.75ns 0.0184 0 0 1.35 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 2.01ns 7.77ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.29μs 3.86ns 15ns 0.024 0 0 1.86 KB
#3353 EnrichedLog net472 5.07μs 3.12ns 11.7ns 0.365 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.47μs 1.29ns 4.83ns 0.0246 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.16μs 0.429ns 1.66ns 0.134 0 0 842 B
master StartFinishSpan netcoreapp3.1 959ns 0.345ns 1.29ns 0.0106 0 0 792 B
master StartFinishScope net472 1.39μs 0.723ns 2.61ns 0.146 0 0 923 B
master StartFinishScope netcoreapp3.1 1.07μs 0.287ns 1.04ns 0.0122 0 0 912 B
#3353 StartFinishSpan net472 1.22μs 0.282ns 1.06ns 0.134 0 0 842 B
#3353 StartFinishSpan netcoreapp3.1 944ns 0.407ns 1.58ns 0.0109 0 0 792 B
#3353 StartFinishScope net472 1.45μs 0.651ns 2.52ns 0.147 0 0 923 B
#3353 StartFinishScope netcoreapp3.1 1.1μs 0.238ns 0.891ns 0.0126 0 0 912 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.49μs 0.577ns 2.08ns 0.146 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.18μs 0.423ns 1.53ns 0.0119 0 0 912 B
#3353 RunOnMethodBegin net472 1.6μs 0.578ns 2.16ns 0.146 0 0 923 B
#3353 RunOnMethodBegin netcoreapp3.1 1.27μs 0.462ns 1.73ns 0.0125 0 0 912 B

andrewlock avatar Oct 14 '22 15:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3353 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.130
  • 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 802μs 703ns 2.72μs 0.398 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 540μs 245ns 947ns 0 0 0 2.63 KB
#3353 WriteAndFlushEnrichedTraces net472 790μs 722ns 2.8μs 0.391 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 536μs 222ns 861ns 0 0 0 2.63 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 197ns 0.109ns 0.408ns 0.0726 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.106ns 0.397ns 0.00624 0 0 456 B
master AllCycleMoreComplexBody net472 195ns 0.0922ns 0.333ns 0.0688 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 256ns 0.29ns 1.12ns 0.0059 0 0 432 B
master BodyExtractorSimpleBody net472 270ns 0.152ns 0.588ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 247ns 0.124ns 0.449ns 0.00372 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.9μs 8.78ns 32.9ns 1.2 0.0157 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 6.78ns 25.4ns 0.0902 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 197ns 0.0889ns 0.333ns 0.0726 0 0 457 B
#3353 AllCycleSimpleBody netcoreapp3.1 257ns 0.201ns 0.752ns 0.00629 0 0 456 B
#3353 AllCycleMoreComplexBody net472 195ns 0.0338ns 0.122ns 0.0688 0 0 433 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 252ns 0.165ns 0.572ns 0.00584 0 0 432 B
#3353 BodyExtractorSimpleBody net472 297ns 0.17ns 0.614ns 0.0573 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 244ns 0.128ns 0.496ns 0.00378 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 15.6μs 11.3ns 43.7ns 1.21 0.0158 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 13.2μs 7.29ns 28.2ns 0.0855 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.0266ns 0.0124ns 0.0568ns 0 0 0 0 b
master SendRequest netcoreapp3.1 182μs 222ns 859ns 0.272 0 0 20.68 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 184μs 204ns 790ns 0.184 0 0 20.68 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 1.11ns 4.32ns 0.155 0.000923 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.43μs 0.535ns 2ns 0.0132 0 0 968 B
#3353 ExecuteNonQuery net472 1.88μs 0.668ns 2.41ns 0.155 0.000938 0 979 B
#3353 ExecuteNonQuery netcoreapp3.1 1.45μs 0.456ns 1.77ns 0.0131 0 0 968 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3353

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.130 1,543.32 1,743.75

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.55μs 0.61ns 2.28ns 0.188 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.551ns 1.99ns 0.0153 0 0 1.13 KB
master CallElasticsearchAsync net472 2.69μs 2.15ns 8.34ns 0.21 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.54μs 0.689ns 2.58ns 0.0162 0 0 1.25 KB
#3353 CallElasticsearch net472 2.56μs 1.03ns 3.86ns 0.188 0 0 1.19 KB
#3353 CallElasticsearch netcoreapp3.1 1.51μs 0.969ns 3.63ns 0.0155 0 0 1.13 KB
#3353 CallElasticsearchAsync net472 2.74μs 1.19ns 4.59ns 0.21 0 0 1.32 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.74μs 1.52ns 5.47ns 0.0166 0 0 1.25 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.57μs 0.676ns 2.53ns 0.23 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.616ns 2.39ns 0.0191 0 0 1.38 KB
#3353 ExecuteAsync net472 2.78μs 1.13ns 4.23ns 0.231 0 0 1.45 KB
#3353 ExecuteAsync netcoreapp3.1 1.74μs 0.428ns 1.66ns 0.0183 0 0 1.38 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.88μs 2.24ns 8.38ns 0.442 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.65μs 1.71ns 6.41ns 0.0347 0 0 2.63 KB
#3353 SendAsync net472 5.82μs 2.1ns 7.84ns 0.443 0 0 2.8 KB
#3353 SendAsync netcoreapp3.1 3.64μs 2.02ns 7.57ns 0.0346 0 0 2.63 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.08μs 1.29ns 4.65ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.61μs 2ns 7.47ns 0.0259 0 0 1.91 KB
#3353 EnrichedLog net472 3.21μs 1.64ns 5.9ns 0.297 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.51μs 1.18ns 4.41ns 0.0261 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 151μs 135ns 522ns 0.681 0.227 0 4.72 KB
master EnrichedLog netcoreapp3.1 123μs 187ns 675ns 0 0 0 4.55 KB
#3353 EnrichedLog net472 152μs 163ns 631ns 0.677 0.226 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 121μs 226ns 874ns 0.0602 0 0 4.55 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.77μs 2.27ns 8.5ns 0.578 0.00288 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.48μs 2.55ns 9.53ns 0.0539 0 0 3.98 KB
#3353 EnrichedLog net472 5.84μs 1.71ns 6.64ns 0.578 0.00292 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.58μs 1.02ns 3.95ns 0.0549 0 0 3.98 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.34μs 1.45ns 5.64ns 0.223 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.83μs 0.791ns 3.06ns 0.0183 0 0 1.35 KB
#3353 SendReceive net472 2.28μs 3ns 11.6ns 0.222 0 0 1.4 KB
#3353 SendReceive netcoreapp3.1 1.81μs 0.856ns 3.2ns 0.0181 0 0 1.35 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 2.01ns 7.77ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.29μs 3.86ns 15ns 0.024 0 0 1.86 KB
#3353 EnrichedLog net472 5.08μs 3.17ns 12.3ns 0.363 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.26μs 3.13ns 12.1ns 0.0255 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.16μs 0.429ns 1.66ns 0.134 0 0 842 B
master StartFinishSpan netcoreapp3.1 959ns 0.345ns 1.29ns 0.0106 0 0 792 B
master StartFinishScope net472 1.39μs 0.723ns 2.61ns 0.146 0 0 923 B
master StartFinishScope netcoreapp3.1 1.07μs 0.287ns 1.04ns 0.0122 0 0 912 B
#3353 StartFinishSpan net472 1.22μs 0.308ns 1.19ns 0.134 0 0 842 B
#3353 StartFinishSpan netcoreapp3.1 942ns 0.309ns 1.16ns 0.0104 0 0 792 B
#3353 StartFinishScope net472 1.42μs 0.886ns 3.43ns 0.146 0 0 923 B
#3353 StartFinishScope netcoreapp3.1 1.12μs 0.264ns 0.916ns 0.0123 0 0 912 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.49μs 0.577ns 2.08ns 0.146 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.18μs 0.423ns 1.53ns 0.0119 0 0 912 B
#3353 RunOnMethodBegin net472 1.61μs 0.715ns 2.77ns 0.146 0 0 923 B
#3353 RunOnMethodBegin netcoreapp3.1 1.2μs 0.739ns 2.86ns 0.0126 0 0 912 B

andrewlock avatar Oct 14 '22 16:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3353 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.161
  • 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 778μs 693ns 2.69μs 0.388 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 534μs 237ns 888ns 0 0 0 2.63 KB
#3353 WriteAndFlushEnrichedTraces net472 789μs 685ns 2.65μs 0.401 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 525μs 368ns 1.42μs 0 0 0 2.62 KB
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3353

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net472 1.161 226.20 194.90

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 198ns 0.169ns 0.656ns 0.0727 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 268ns 0.139ns 0.537ns 0.00619 0 0 456 B
master AllCycleMoreComplexBody net472 226ns 0.318ns 1.19ns 0.0688 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 253ns 0.133ns 0.499ns 0.00592 0 0 432 B
master BodyExtractorSimpleBody net472 276ns 0.317ns 1.23ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 245ns 0.147ns 0.55ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.6μs 8.36ns 30.2ns 1.21 0.0157 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 4.78ns 18.5ns 0.087 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 197ns 0.0749ns 0.26ns 0.0727 0 0 457 B
#3353 AllCycleSimpleBody netcoreapp3.1 254ns 0.261ns 1.01ns 0.00623 0 0 456 B
#3353 AllCycleMoreComplexBody net472 195ns 0.0645ns 0.233ns 0.0689 0 0 433 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 257ns 0.125ns 0.467ns 0.00581 0 0 432 B
#3353 BodyExtractorSimpleBody net472 275ns 0.317ns 1.23ns 0.0574 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 242ns 0.162ns 0.628ns 0.00365 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 16μs 15.6ns 60.4ns 1.21 0.0159 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 5.98ns 22.4ns 0.09 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 157ns 608ns 0.27 0 0 20.68 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 181μs 288ns 1.11μs 0.271 0 0 20.68 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.85μs 0.917ns 3.18ns 0.155 0.000923 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.45μs 0.697ns 2.7ns 0.0131 0 0 968 B
#3353 ExecuteNonQuery net472 1.82μs 0.581ns 2.25ns 0.155 0.000914 0 979 B
#3353 ExecuteNonQuery netcoreapp3.1 1.45μs 0.409ns 1.53ns 0.0131 0 0 968 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 0.936ns 3.5ns 0.188 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.54μs 0.646ns 2.42ns 0.0154 0 0 1.13 KB
master CallElasticsearchAsync net472 2.62μs 1.52ns 5.87ns 0.21 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.61μs 0.474ns 1.84ns 0.0169 0 0 1.25 KB
#3353 CallElasticsearch net472 2.5μs 4.81ns 18ns 0.188 0 0 1.19 KB
#3353 CallElasticsearch netcoreapp3.1 1.52μs 0.559ns 2.02ns 0.015 0 0 1.13 KB
#3353 CallElasticsearchAsync net472 2.68μs 0.822ns 3.19ns 0.21 0 0 1.32 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.65μs 0.57ns 2.13ns 0.0173 0 0 1.25 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.79μs 1.35ns 5.23ns 0.23 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.77μs 0.593ns 2.22ns 0.0186 0 0 1.38 KB
#3353 ExecuteAsync net472 2.8μs 1.3ns 4.87ns 0.23 0 0 1.45 KB
#3353 ExecuteAsync netcoreapp3.1 1.8μs 0.418ns 1.57ns 0.019 0 0 1.38 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.87μs 1.86ns 6.98ns 0.443 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.62μs 2.54ns 9.51ns 0.0345 0 0 2.63 KB
#3353 SendAsync net472 5.91μs 2.35ns 9.12ns 0.443 0 0 2.8 KB
#3353 SendAsync netcoreapp3.1 3.69μs 1.63ns 6.3ns 0.0351 0 0 2.63 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.1μs 4ns 15.5ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.47μs 1.13ns 4.39ns 0.0259 0 0 1.91 KB
#3353 EnrichedLog net472 3.22μs 3.35ns 12.5ns 0.297 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.55μs 4.92ns 19.1ns 0.0266 0 0 1.91 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 141ns 547ns 0.678 0.226 0 4.72 KB
master EnrichedLog netcoreapp3.1 120μs 253ns 979ns 0.0603 0 0 4.55 KB
#3353 EnrichedLog net472 151μs 111ns 428ns 0.678 0.226 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 120μs 219ns 848ns 0.0604 0 0 4.55 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.86μs 2.77ns 10.7ns 0.578 0.00292 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.46μs 8.48ns 32.8ns 0.0555 0 0 3.98 KB
#3353 EnrichedLog net472 5.83μs 2.76ns 10.3ns 0.58 0.00291 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.41μs 1.99ns 7.43ns 0.0529 0 0 3.98 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.37μs 2.36ns 8.52ns 0.223 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.8μs 0.709ns 2.75ns 0.018 0 0 1.35 KB
#3353 SendReceive net472 2.27μs 2.15ns 8.33ns 0.222 0 0 1.4 KB
#3353 SendReceive netcoreapp3.1 1.84μs 0.373ns 1.34ns 0.0186 0 0 1.35 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.03μs 4.05ns 15.7ns 0.364 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.41μs 1.73ns 6.23ns 0.0242 0 0 1.86 KB
#3353 EnrichedLog net472 5.06μs 3.24ns 12.6ns 0.362 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.44μs 3.29ns 12.3ns 0.0245 0 0 1.86 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.17μs 0.369ns 1.38ns 0.134 0 0 842 B
master StartFinishSpan netcoreapp3.1 944ns 0.311ns 1.12ns 0.0108 0 0 792 B
master StartFinishScope net472 1.45μs 0.481ns 1.8ns 0.146 0 0 923 B
master StartFinishScope netcoreapp3.1 1.05μs 0.225ns 0.811ns 0.0121 0 0 912 B
#3353 StartFinishSpan net472 1.11μs 0.466ns 1.8ns 0.134 0 0 842 B
#3353 StartFinishSpan netcoreapp3.1 927ns 0.43ns 1.61ns 0.0107 0 0 792 B
#3353 StartFinishScope net472 1.41μs 0.509ns 1.9ns 0.146 0 0 923 B
#3353 StartFinishScope netcoreapp3.1 1.08μs 0.489ns 1.83ns 0.0124 0 0 912 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.391ns 1.51ns 0.147 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.14μs 0.92ns 3.44ns 0.0124 0 0 912 B
#3353 RunOnMethodBegin net472 1.53μs 0.232ns 0.869ns 0.147 0 0 923 B
#3353 RunOnMethodBegin netcoreapp3.1 1.15μs 0.354ns 1.32ns 0.0121 0 0 912 B

andrewlock avatar Oct 14 '22 17:10 andrewlock

Code Coverage Report :bar_chart:

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

master #3353 Change
Lines 19545 / 26971 19540 / 27010
Lines % 72% 72% 0% :heavy_check_mark:
Branches 11605 / 16770 11623 / 16804
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18142 18179 37 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3353 Change
Lines % 72% 72% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18142 18179 37 :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.Iast.StackWalker 0% :heavy_check_mark: 6% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Iast.IastModule 9% :heavy_check_mark: 18% :heavy_check_mark: 18 :no_entry:

The following classes were added in #3353:

File Line coverage Branch coverage Complexity
Datadog.Trace.ClrProfiler.AutoInstrumentation.CryptographyAlgorithm.SymmetricAlgorithmIntegration 100% 100% 2
Datadog.Trace.ClrProfiler.AutoInstrumentation.CryptographyAlgorithm.SymmetricAlgorithmIntegrationCommon 45% 50% 5

View the full reports for further details:

andrewlock avatar Oct 14 '22 18:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3353 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.125
  • 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 804μs 814ns 3.05μs 0.398 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 566μs 396ns 1.43μs 0 0 0 2.63 KB
#3353 WriteAndFlushEnrichedTraces net472 813μs 921ns 3.57μs 0.401 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 557μs 356ns 1.33μs 0 0 0 2.63 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 197ns 0.0466ns 0.161ns 0.0701 0 0 441 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.315ns 1.22ns 0.00595 0 0 440 B
master AllCycleMoreComplexBody net472 197ns 0.112ns 0.419ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 249ns 0.0818ns 0.306ns 0.00563 0 0 416 B
master BodyExtractorSimpleBody net472 274ns 0.137ns 0.533ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 234ns 0.0871ns 0.326ns 0.00368 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.4μs 17.8ns 68.8ns 1.2 0.0153 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13.2μs 4ns 15.5ns 0.0854 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 196ns 0.102ns 0.366ns 0.0701 0 0 441 B
#3353 AllCycleSimpleBody netcoreapp3.1 253ns 0.433ns 1.68ns 0.00598 0 0 440 B
#3353 AllCycleMoreComplexBody net472 195ns 0.067ns 0.259ns 0.0663 0 0 417 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 248ns 0.119ns 0.459ns 0.0057 0 0 416 B
#3353 BodyExtractorSimpleBody net472 285ns 0.194ns 0.728ns 0.0573 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 240ns 0.0699ns 0.252ns 0.00372 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 15.7μs 12.5ns 46.9ns 1.21 0.0156 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 21.4ns 82.8ns 0.0881 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 253ns 981ns 0.27 0 0 20.68 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 181μs 245ns 918ns 0.181 0 0 20.66 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 1.05ns 4.08ns 0.158 0.000923 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.42μs 1.14ns 4.26ns 0.0129 0 0 984 B
#3353 ExecuteNonQuery net472 1.9μs 0.596ns 2.15ns 0.157 0.000943 0 995 B
#3353 ExecuteNonQuery netcoreapp3.1 1.45μs 0.838ns 3.14ns 0.0132 0 0 984 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.41μs 0.711ns 2.66ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.58μs 0.752ns 2.82ns 0.0158 0 0 1.14 KB
master CallElasticsearchAsync net472 2.58μs 0.768ns 2.77ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.57μs 0.744ns 2.79ns 0.0173 0 0 1.26 KB
#3353 CallElasticsearch net472 2.58μs 0.914ns 3.42ns 0.191 0 0 1.2 KB
#3353 CallElasticsearch netcoreapp3.1 1.58μs 0.813ns 3.15ns 0.0157 0 0 1.14 KB
#3353 CallElasticsearchAsync net472 2.72μs 1.31ns 4.89ns 0.212 0 0 1.34 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.6μs 0.653ns 2.53ns 0.0168 0 0 1.26 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.76μs 1.55ns 5.99ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.71μs 0.422ns 1.58ns 0.0188 0 0 1.39 KB
#3353 ExecuteAsync net472 2.63μs 1.82ns 7.05ns 0.233 0 0 1.47 KB
#3353 ExecuteAsync netcoreapp3.1 1.77μs 4.1ns 15.9ns 0.0194 0 0 1.39 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.95μs 1.72ns 6.19ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.61μs 2.25ns 8.71ns 0.0346 0 0 2.65 KB
#3353 SendAsync net472 5.89μs 2.25ns 8.73ns 0.447 0 0 2.82 KB
#3353 SendAsync netcoreapp3.1 3.63μs 1.89ns 6.81ns 0.0364 0 0 2.65 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 2.22ns 8.3ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.55μs 0.883ns 3.3ns 0.0256 0 0 1.91 KB
#3353 EnrichedLog net472 3.22μs 3.12ns 11.7ns 0.297 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.48μs 2.36ns 9.14ns 0.026 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 151μs 99.5ns 385ns 0.68 0.227 0 4.72 KB
master EnrichedLog netcoreapp3.1 120μs 118ns 456ns 0.0602 0 0 4.55 KB
#3353 EnrichedLog net472 152μs 114ns 410ns 0.682 0.227 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 120μs 135ns 506ns 0.0604 0 0 4.55 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.7μs 1.44ns 5.37ns 0.579 0.00285 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.45μs 0.723ns 2.7ns 0.0537 0 0 3.98 KB
#3353 EnrichedLog net472 5.69μs 3.26ns 12.6ns 0.578 0.00284 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.39μs 1.61ns 6.01ns 0.0526 0 0 3.98 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.29μs 1.92ns 7.44ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.8μs 0.483ns 1.81ns 0.0189 0 0 1.37 KB
#3353 SendReceive net472 2.18μs 1ns 3.76ns 0.225 0 0 1.42 KB
#3353 SendReceive netcoreapp3.1 1.81μs 0.434ns 1.56ns 0.0181 0 0 1.37 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.96μs 2.12ns 8.22ns 0.362 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.46μs 1.49ns 5.75ns 0.0245 0 0 1.86 KB
#3353 EnrichedLog net472 5.01μs 3.43ns 13.3ns 0.365 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.13μs 1.68ns 6.5ns 0.0246 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3353

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.125 1,051.72 1,183.08

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.16μs 0.439ns 1.7ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 911ns 0.408ns 1.47ns 0.0109 0 0 808 B
master StartFinishScope net472 1.4μs 0.395ns 1.53ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.05μs 0.512ns 1.92ns 0.0127 0 0 928 B
#3353 StartFinishSpan net472 1.18μs 0.405ns 1.57ns 0.136 0 0 859 B
#3353 StartFinishSpan netcoreapp3.1 904ns 0.243ns 0.909ns 0.0109 0 0 808 B
#3353 StartFinishScope net472 1.38μs 0.545ns 2.11ns 0.149 0 0 939 B
#3353 StartFinishScope netcoreapp3.1 1.18μs 0.289ns 1.08ns 0.0124 0 0 928 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.56μs 0.872ns 3.38ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.22μs 0.332ns 1.29ns 0.0126 0 0 928 B
#3353 RunOnMethodBegin net472 1.57μs 0.918ns 3.43ns 0.149 0 0 939 B
#3353 RunOnMethodBegin netcoreapp3.1 1.2μs 0.295ns 1.1ns 0.0125 0 0 928 B

andrewlock avatar Oct 15 '22 10:10 andrewlock

Code Coverage Report :bar_chart:

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

master #3353 Change
Lines 19555 / 27004 19592 / 27043
Lines % 72% 72% 0% :heavy_check_mark:
Branches 11602 / 16782 11623 / 16816
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18158 18195 37 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3353 Change
Lines % 72% 72% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18158 18195 37 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Telemetry.TelemetryTransportManager 0% :heavy_check_mark: -8% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Iast.IastModule 9% :heavy_check_mark: 18% :heavy_check_mark: 18 :no_entry:

The following classes were added in #3353:

File Line coverage Branch coverage Complexity
Datadog.Trace.ClrProfiler.AutoInstrumentation.CryptographyAlgorithm.SymmetricAlgorithmIntegration 100% 100% 2
Datadog.Trace.ClrProfiler.AutoInstrumentation.CryptographyAlgorithm.SymmetricAlgorithmIntegrationCommon 45% 50% 5

View the full reports for further details:

andrewlock avatar Oct 15 '22 10:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3353 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.162
  • 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 809μs 845ns 3.16μs 0.403 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 562μs 152ns 569ns 0 0 0 2.62 KB
#3353 WriteAndFlushEnrichedTraces net472 808μs 219ns 758ns 0.401 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 525μs 147ns 551ns 0 0 0 2.63 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3353

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.BodyExtractorSimpleBody‑net472 1.162 274.65 319.26

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 196ns 0.085ns 0.294ns 0.0701 0 0 441 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.145ns 0.561ns 0.00597 0 0 440 B
master AllCycleMoreComplexBody net472 195ns 0.0743ns 0.278ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 254ns 0.277ns 1.04ns 0.00569 0 0 416 B
master BodyExtractorSimpleBody net472 275ns 0.792ns 2.85ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 241ns 0.0695ns 0.251ns 0.00365 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.4μs 6.85ns 25.6ns 1.21 0.0155 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 4.1ns 15.3ns 0.09 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 195ns 0.069ns 0.249ns 0.0701 0 0 441 B
#3353 AllCycleSimpleBody netcoreapp3.1 256ns 0.272ns 1.06ns 0.00598 0 0 440 B
#3353 AllCycleMoreComplexBody net472 195ns 0.0719ns 0.269ns 0.0662 0 0 417 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 252ns 0.2ns 0.721ns 0.00567 0 0 416 B
#3353 BodyExtractorSimpleBody net472 319ns 0.153ns 0.571ns 0.0572 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 240ns 0.0874ns 0.327ns 0.00375 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 15.7μs 11.2ns 43.5ns 1.21 0.0158 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 3.01ns 10.9ns 0.09 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 182μs 312ns 1.21μs 0.181 0 0 20.67 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 179μs 176ns 660ns 0.268 0 0 20.66 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.469ns 1.69ns 0.157 0.000915 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.42μs 0.7ns 2.62ns 0.0135 0 0 984 B
#3353 ExecuteNonQuery net472 1.88μs 1.23ns 4.76ns 0.158 0.000941 0 995 B
#3353 ExecuteNonQuery netcoreapp3.1 1.48μs 0.66ns 2.38ns 0.0133 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.48μs 0.98ns 3.67ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.57μs 0.624ns 2.42ns 0.0157 0 0 1.14 KB
master CallElasticsearchAsync net472 2.62μs 1.05ns 3.92ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.59μs 0.457ns 1.77ns 0.0167 0 0 1.26 KB
#3353 CallElasticsearch net472 2.53μs 1.33ns 4.96ns 0.19 0 0 1.2 KB
#3353 CallElasticsearch netcoreapp3.1 1.54μs 0.516ns 2ns 0.0155 0 0 1.14 KB
#3353 CallElasticsearchAsync net472 2.72μs 1.23ns 4.77ns 0.213 0 0 1.34 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.56μs 0.519ns 1.94ns 0.0172 0 0 1.26 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.74μs 1.51ns 5.64ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.428ns 1.6ns 0.0189 0 0 1.39 KB
#3353 ExecuteAsync net472 2.67μs 1.45ns 5.61ns 0.233 0 0 1.47 KB
#3353 ExecuteAsync netcoreapp3.1 1.72μs 1.88ns 7.03ns 0.019 0 0 1.39 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.87μs 2.45ns 9.48ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.65μs 1.69ns 6.32ns 0.036 0 0 2.65 KB
#3353 SendAsync net472 5.93μs 1.81ns 6.78ns 0.447 0 0 2.82 KB
#3353 SendAsync netcoreapp3.1 3.64μs 2.08ns 7.5ns 0.035 0 0 2.65 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.14μs 2.91ns 10.9ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.48μs 1.44ns 5.38ns 0.026 0 0 1.91 KB
#3353 EnrichedLog net472 3.14μs 1.66ns 6.42ns 0.297 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.39μs 1.08ns 4.19ns 0.0251 0 0 1.91 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 210ns 814ns 0.686 0.229 0 4.72 KB
master EnrichedLog netcoreapp3.1 121μs 208ns 805ns 0 0 0 4.55 KB
#3353 EnrichedLog net472 154μs 160ns 621ns 0.69 0.23 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 121μs 188ns 729ns 0.0603 0 0 4.55 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.83μs 1.62ns 6.07ns 0.579 0.00291 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.4μs 1.25ns 4.52ns 0.0525 0 0 3.98 KB
#3353 EnrichedLog net472 5.72μs 2.18ns 8.45ns 0.578 0.00286 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.52μs 2.33ns 8.7ns 0.0542 0 0 3.98 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.28μs 1.63ns 5.86ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.84μs 0.628ns 2.35ns 0.0184 0 0 1.37 KB
#3353 SendReceive net472 2.23μs 2.68ns 10ns 0.225 0 0 1.42 KB
#3353 SendReceive netcoreapp3.1 1.91μs 0.815ns 3.16ns 0.0181 0 0 1.37 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.48ns 5.35ns 0.362 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.32μs 1.2ns 4.34ns 0.0238 0 0 1.86 KB
#3353 EnrichedLog net472 5.11μs 3.16ns 12.2ns 0.365 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.18μs 1.53ns 5.72ns 0.025 0 0 1.86 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.349ns 1.35ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 905ns 0.675ns 2.62ns 0.0109 0 0 808 B
master StartFinishScope net472 1.48μs 0.456ns 1.65ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.06μs 0.306ns 1.18ns 0.0122 0 0 928 B
#3353 StartFinishSpan net472 1.23μs 0.297ns 1.03ns 0.136 0 0 859 B
#3353 StartFinishSpan netcoreapp3.1 977ns 0.637ns 2.38ns 0.0108 0 0 808 B
#3353 StartFinishScope net472 1.43μs 1.19ns 4.31ns 0.149 0 0 939 B
#3353 StartFinishScope netcoreapp3.1 1.11μs 0.741ns 2.77ns 0.0123 0 0 928 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.557ns 2.16ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.17μs 0.481ns 1.86ns 0.0123 0 0 928 B
#3353 RunOnMethodBegin net472 1.52μs 0.441ns 1.71ns 0.149 0 0 939 B
#3353 RunOnMethodBegin netcoreapp3.1 1.13μs 1.22ns 4.71ns 0.0124 0 0 928 B

andrewlock avatar Oct 17 '22 08:10 andrewlock

Code Coverage Report :bar_chart:

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

master #3353 Change
Lines 19543 / 27004 19599 / 27043
Lines % 72% 72% 0% :heavy_check_mark:
Branches 11598 / 16782 11627 / 16816
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18158 18195 37 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3353 Change
Lines % 72% 72% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18158 18195 37 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Iast.StackWalker 0% :heavy_check_mark: 6% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Iast.IastModule 9% :heavy_check_mark: 18% :heavy_check_mark: 18 :no_entry:

The following classes were added in #3353:

File Line coverage Branch coverage Complexity
Datadog.Trace.ClrProfiler.AutoInstrumentation.CryptographyAlgorithm.SymmetricAlgorithmIntegration 100% 100% 2
Datadog.Trace.ClrProfiler.AutoInstrumentation.CryptographyAlgorithm.SymmetricAlgorithmIntegrationCommon 45% 50% 5

View the full reports for further details:

andrewlock avatar Oct 17 '22 09:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3353 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.138
  • 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 809μs 845ns 3.16μs 0.403 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 562μs 152ns 569ns 0 0 0 2.62 KB
#3353 WriteAndFlushEnrichedTraces net472 805μs 585ns 2.27μs 0.398 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 567μs 228ns 883ns 0 0 0 2.62 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3353

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 1.138 196.29 223.29

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 196ns 0.085ns 0.294ns 0.0701 0 0 441 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.145ns 0.561ns 0.00597 0 0 440 B
master AllCycleMoreComplexBody net472 195ns 0.0743ns 0.278ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 254ns 0.277ns 1.04ns 0.00569 0 0 416 B
master BodyExtractorSimpleBody net472 275ns 0.792ns 2.85ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 241ns 0.0695ns 0.251ns 0.00365 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.4μs 6.85ns 25.6ns 1.21 0.0155 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 4.1ns 15.3ns 0.09 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 222ns 0.53ns 2.05ns 0.0701 0 0 441 B
#3353 AllCycleSimpleBody netcoreapp3.1 254ns 0.252ns 0.977ns 0.00608 0 0 440 B
#3353 AllCycleMoreComplexBody net472 195ns 0.0684ns 0.256ns 0.0662 0 0 417 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 252ns 0.0954ns 0.369ns 0.00569 0 0 416 B
#3353 BodyExtractorSimpleBody net472 272ns 0.198ns 0.768ns 0.0574 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 228ns 0.0743ns 0.288ns 0.00367 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 15.9μs 14.9ns 55.9ns 1.21 0.0159 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 4.4ns 15.9ns 0.0899 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 182μs 312ns 1.21μs 0.181 0 0 20.67 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 181μs 201ns 778ns 0.271 0 0 20.66 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.469ns 1.69ns 0.157 0.000915 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.42μs 0.7ns 2.62ns 0.0135 0 0 984 B
#3353 ExecuteNonQuery net472 1.89μs 1.04ns 4.03ns 0.157 0.000948 0 995 B
#3353 ExecuteNonQuery netcoreapp3.1 1.44μs 0.343ns 1.33ns 0.013 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.48μs 0.98ns 3.67ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.57μs 0.624ns 2.42ns 0.0157 0 0 1.14 KB
master CallElasticsearchAsync net472 2.62μs 1.05ns 3.92ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.59μs 0.457ns 1.77ns 0.0167 0 0 1.26 KB
#3353 CallElasticsearch net472 2.55μs 0.815ns 3.16ns 0.191 0 0 1.2 KB
#3353 CallElasticsearch netcoreapp3.1 1.55μs 0.961ns 3.72ns 0.0154 0 0 1.14 KB
#3353 CallElasticsearchAsync net472 2.61μs 1.07ns 4.13ns 0.212 0 0 1.34 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.64μs 0.468ns 1.69ns 0.0171 0 0 1.26 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.74μs 1.51ns 5.64ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.428ns 1.6ns 0.0189 0 0 1.39 KB
#3353 ExecuteAsync net472 2.81μs 1.12ns 4.34ns 0.232 0 0 1.47 KB
#3353 ExecuteAsync netcoreapp3.1 1.7μs 0.902ns 3.49ns 0.0188 0 0 1.39 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.87μs 2.45ns 9.48ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.65μs 1.69ns 6.32ns 0.036 0 0 2.65 KB
#3353 SendAsync net472 5.78μs 2.19ns 8.18ns 0.446 0 0 2.82 KB
#3353 SendAsync netcoreapp3.1 3.64μs 2.01ns 7.52ns 0.0346 0 0 2.65 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.14μs 2.91ns 10.9ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.48μs 1.44ns 5.38ns 0.026 0 0 1.91 KB
#3353 EnrichedLog net472 3.23μs 2.54ns 9.16ns 0.298 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.61μs 1.56ns 6.06ns 0.0263 0 0 1.91 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 210ns 814ns 0.686 0.229 0 4.72 KB
master EnrichedLog netcoreapp3.1 121μs 208ns 805ns 0 0 0 4.55 KB
#3353 EnrichedLog net472 151μs 130ns 502ns 0.679 0.226 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 119μs 124ns 479ns 0.0592 0 0 4.55 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.83μs 1.62ns 6.07ns 0.579 0.00291 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.4μs 1.25ns 4.52ns 0.0525 0 0 3.98 KB
#3353 EnrichedLog net472 5.79μs 1.6ns 6.21ns 0.579 0.00289 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.39μs 1.68ns 6.49ns 0.0549 0 0 3.98 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.28μs 1.63ns 5.86ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.84μs 0.628ns 2.35ns 0.0184 0 0 1.37 KB
#3353 SendReceive net472 2.17μs 1.09ns 3.92ns 0.226 0 0 1.42 KB
#3353 SendReceive netcoreapp3.1 1.79μs 0.429ns 1.48ns 0.0187 0 0 1.37 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.48ns 5.35ns 0.362 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.32μs 1.2ns 4.34ns 0.0238 0 0 1.86 KB
#3353 EnrichedLog net472 5.22μs 2.09ns 8.1ns 0.362 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.33μs 1.38ns 5.17ns 0.0238 0 0 1.86 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.349ns 1.35ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 905ns 0.675ns 2.62ns 0.0109 0 0 808 B
master StartFinishScope net472 1.48μs 0.456ns 1.65ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.06μs 0.306ns 1.18ns 0.0122 0 0 928 B
#3353 StartFinishSpan net472 1.19μs 0.362ns 1.4ns 0.136 0 0 859 B
#3353 StartFinishSpan netcoreapp3.1 987ns 0.685ns 2.56ns 0.0108 0 0 808 B
#3353 StartFinishScope net472 1.39μs 0.638ns 2.3ns 0.149 0 0 939 B
#3353 StartFinishScope netcoreapp3.1 1.08μs 0.3ns 1.08ns 0.0125 0 0 928 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.557ns 2.16ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.17μs 0.481ns 1.86ns 0.0123 0 0 928 B
#3353 RunOnMethodBegin net472 1.47μs 0.734ns 2.75ns 0.149 0 0 939 B
#3353 RunOnMethodBegin netcoreapp3.1 1.19μs 0.349ns 1.26ns 0.0124 0 0 928 B

andrewlock avatar Oct 17 '22 10:10 andrewlock

Code Coverage Report :bar_chart:

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

master #3353 Change
Lines 19543 / 27004 19605 / 27045
Lines % 72% 72% 0% :heavy_check_mark:
Branches 11598 / 16782 11630 / 16818
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18158 18197 39 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3353 Change
Lines % 72% 72% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18158 18197 39 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Iast.StackWalker 0% :heavy_check_mark: 6% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Iast.IastModule 10% :heavy_check_mark: 20% :heavy_check_mark: 20 :no_entry:

The following classes were added in #3353:

File Line coverage Branch coverage Complexity
Datadog.Trace.ClrProfiler.AutoInstrumentation.CryptographyAlgorithm.SymmetricAlgorithmIntegration 100% 100% 2
Datadog.Trace.ClrProfiler.AutoInstrumentation.CryptographyAlgorithm.SymmetricAlgorithmIntegrationCommon 45% 50% 5

View the full reports for further details:

andrewlock avatar Oct 17 '22 10:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3353 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 809μs 845ns 3.16μs 0.403 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 562μs 152ns 569ns 0 0 0 2.62 KB
#3353 WriteAndFlushEnrichedTraces net472 808μs 396ns 1.53μs 0.403 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 589μs 193ns 749ns 0 0 0 2.63 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 196ns 0.085ns 0.294ns 0.0701 0 0 441 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.145ns 0.561ns 0.00597 0 0 440 B
master AllCycleMoreComplexBody net472 195ns 0.0743ns 0.278ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 254ns 0.277ns 1.04ns 0.00569 0 0 416 B
master BodyExtractorSimpleBody net472 275ns 0.792ns 2.85ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 241ns 0.0695ns 0.251ns 0.00365 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.4μs 6.85ns 25.6ns 1.21 0.0155 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 4.1ns 15.3ns 0.09 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 210ns 0.0602ns 0.225ns 0.0701 0 0 441 B
#3353 AllCycleSimpleBody netcoreapp3.1 252ns 0.114ns 0.427ns 0.00599 0 0 440 B
#3353 AllCycleMoreComplexBody net472 194ns 0.108ns 0.418ns 0.0663 0 0 417 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 252ns 0.231ns 0.893ns 0.0057 0 0 416 B
#3353 BodyExtractorSimpleBody net472 282ns 0.383ns 1.48ns 0.0574 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 242ns 0.151ns 0.543ns 0.00366 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 16.8μs 12.1ns 46.7ns 1.21 0.0168 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 13μs 3.46ns 12.9ns 0.0914 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 182μs 312ns 1.21μs 0.181 0 0 20.67 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 183μs 195ns 755ns 0.183 0 0 20.66 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.469ns 1.69ns 0.157 0.000915 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.42μs 0.7ns 2.62ns 0.0135 0 0 984 B
#3353 ExecuteNonQuery net472 1.88μs 1.48ns 5.32ns 0.157 0.000943 0 995 B
#3353 ExecuteNonQuery netcoreapp3.1 1.34μs 0.583ns 2.1ns 0.0133 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.48μs 0.98ns 3.67ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.57μs 0.624ns 2.42ns 0.0157 0 0 1.14 KB
master CallElasticsearchAsync net472 2.62μs 1.05ns 3.92ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.59μs 0.457ns 1.77ns 0.0167 0 0 1.26 KB
#3353 CallElasticsearch net472 2.54μs 0.654ns 2.45ns 0.19 0 0 1.2 KB
#3353 CallElasticsearch netcoreapp3.1 1.59μs 0.413ns 1.49ns 0.015 0 0 1.14 KB
#3353 CallElasticsearchAsync net472 2.62μs 1.51ns 5.83ns 0.212 0 0 1.34 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.61μs 0.455ns 1.7ns 0.0169 0 0 1.26 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.74μs 1.51ns 5.64ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.428ns 1.6ns 0.0189 0 0 1.39 KB
#3353 ExecuteAsync net472 2.71μs 1.41ns 5.27ns 0.233 0 0 1.47 KB
#3353 ExecuteAsync netcoreapp3.1 1.83μs 0.58ns 2.17ns 0.0184 0 0 1.39 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.87μs 2.45ns 9.48ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.65μs 1.69ns 6.32ns 0.036 0 0 2.65 KB
#3353 SendAsync net472 5.82μs 2.27ns 8.78ns 0.446 0 0 2.82 KB
#3353 SendAsync netcoreapp3.1 3.68μs 1.17ns 4.38ns 0.0366 0 0 2.65 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.14μs 2.91ns 10.9ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.48μs 1.44ns 5.38ns 0.026 0 0 1.91 KB
#3353 EnrichedLog net472 3.22μs 2.78ns 10.4ns 0.297 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.43μs 1.63ns 6.3ns 0.0256 0 0 1.91 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 210ns 814ns 0.686 0.229 0 4.72 KB
master EnrichedLog netcoreapp3.1 121μs 208ns 805ns 0 0 0 4.55 KB
#3353 EnrichedLog net472 152μs 116ns 451ns 0.682 0.227 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 122μs 345ns 1.34μs 0 0 0 4.55 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.83μs 1.62ns 6.07ns 0.579 0.00291 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.4μs 1.25ns 4.52ns 0.0525 0 0 3.98 KB
#3353 EnrichedLog net472 5.84μs 1.81ns 7.01ns 0.579 0.00293 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.36μs 2.32ns 8.04ns 0.0544 0 0 3.98 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.28μs 1.63ns 5.86ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.84μs 0.628ns 2.35ns 0.0184 0 0 1.37 KB
#3353 SendReceive net472 2.28μs 2.96ns 11.5ns 0.225 0 0 1.42 KB
#3353 SendReceive netcoreapp3.1 1.86μs 1.48ns 5.74ns 0.0188 0 0 1.37 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.48ns 5.35ns 0.362 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.32μs 1.2ns 4.34ns 0.0238 0 0 1.86 KB
#3353 EnrichedLog net472 5.3μs 3.64ns 14.1ns 0.364 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.25μs 1.11ns 4.14ns 0.0257 0 0 1.86 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.349ns 1.35ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 905ns 0.675ns 2.62ns 0.0109 0 0 808 B
master StartFinishScope net472 1.48μs 0.456ns 1.65ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.06μs 0.306ns 1.18ns 0.0122 0 0 928 B
#3353 StartFinishSpan net472 1.15μs 0.937ns 3.63ns 0.136 0 0 859 B
#3353 StartFinishSpan netcoreapp3.1 973ns 0.37ns 1.43ns 0.0107 0 0 808 B
#3353 StartFinishScope net472 1.43μs 0.799ns 3.1ns 0.149 0 0 939 B
#3353 StartFinishScope netcoreapp3.1 1.08μs 0.739ns 2.76ns 0.0124 0 0 928 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.557ns 2.16ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.17μs 0.481ns 1.86ns 0.0123 0 0 928 B
#3353 RunOnMethodBegin net472 1.49μs 0.882ns 3.41ns 0.149 0 0 939 B
#3353 RunOnMethodBegin netcoreapp3.1 1.19μs 0.331ns 1.24ns 0.0125 0 0 928 B

andrewlock avatar Oct 17 '22 15:10 andrewlock

Code Coverage Report :bar_chart:

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

master #3353 Change
Lines 19542 / 27011 19578 / 27052
Lines % 72% 72% 0% :heavy_check_mark:
Branches 11599 / 16784 11630 / 16820
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18160 18199 39 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3353 Change
Lines % 72% 72% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18160 18199 39 :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.Iast.StackWalker 0% :heavy_check_mark: 6% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Iast.IastModule 10% :heavy_check_mark: 20% :heavy_check_mark: 20 :no_entry:

The following classes were added in #3353:

File Line coverage Branch coverage Complexity
Datadog.Trace.ClrProfiler.AutoInstrumentation.CryptographyAlgorithm.SymmetricAlgorithmIntegration 100% 100% 2
Datadog.Trace.ClrProfiler.AutoInstrumentation.CryptographyAlgorithm.SymmetricAlgorithmIntegrationCommon 45% 50% 5

View the full reports for further details:

andrewlock avatar Oct 17 '22 15:10 andrewlock

Thanks for your feedback!

NachoEchevarria avatar Oct 18 '22 13:10 NachoEchevarria

Benchmarks Report :snail:

Benchmarks for #3353 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 808μs 590ns 2.21μs 0.403 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 556μs 272ns 1.02μs 0 0 0 2.62 KB
#3353 WriteAndFlushEnrichedTraces net472 805μs 433ns 1.68μs 0.401 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 562μs 237ns 918ns 0 0 0 2.63 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 197ns 0.0869ns 0.313ns 0.0701 9.85E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 257ns 0.24ns 0.928ns 0.00605 0 0 440 B
master AllCycleMoreComplexBody net472 196ns 0.0453ns 0.17ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 252ns 0.244ns 0.945ns 0.00567 0 0 416 B
master BodyExtractorSimpleBody net472 270ns 0.365ns 1.37ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 244ns 0.123ns 0.461ns 0.00368 0 0 272 B
master BodyExtractorMoreComplexBody net472 16.3μs 17.7ns 68.4ns 1.2 0.0163 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 6.84ns 26.5ns 0.0895 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 196ns 0.064ns 0.222ns 0.0701 0 0 441 B
#3353 AllCycleSimpleBody netcoreapp3.1 253ns 0.279ns 1.05ns 0.006 0 0 440 B
#3353 AllCycleMoreComplexBody net472 192ns 0.0476ns 0.184ns 0.0663 0 0 417 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 254ns 0.118ns 0.456ns 0.00564 0 0 416 B
#3353 BodyExtractorSimpleBody net472 296ns 0.31ns 1.2ns 0.0574 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 240ns 0.0812ns 0.304ns 0.00373 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 15.6μs 9.55ns 34.4ns 1.21 0.0156 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 13.5μs 6.79ns 26.3ns 0.0882 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 184μs 186ns 720ns 0.274 0 0 20.66 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 181μs 273ns 1.06μs 0.272 0 0 20.66 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.81μs 0.509ns 1.91ns 0.158 0.000903 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.4μs 0.516ns 1.86ns 0.0133 0 0 984 B
#3353 ExecuteNonQuery net472 1.87μs 0.712ns 2.76ns 0.158 0.000934 0 995 B
#3353 ExecuteNonQuery netcoreapp3.1 1.44μs 0.572ns 2.22ns 0.0129 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.5μs 0.855ns 3.08ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.51μs 0.938ns 3.51ns 0.0158 0 0 1.14 KB
master CallElasticsearchAsync net472 2.63μs 0.441ns 1.59ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.58μs 0.483ns 1.74ns 0.0173 0 0 1.26 KB
#3353 CallElasticsearch net472 2.54μs 0.888ns 3.44ns 0.191 0 0 1.2 KB
#3353 CallElasticsearch netcoreapp3.1 1.55μs 0.475ns 1.78ns 0.0156 0 0 1.14 KB
#3353 CallElasticsearchAsync net472 2.65μs 0.833ns 3.23ns 0.213 0 0 1.34 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.62μs 0.498ns 1.86ns 0.017 0 0 1.26 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.77μs 3.81ns 14.2ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.74μs 1.45ns 5.41ns 0.0184 0 0 1.39 KB
#3353 ExecuteAsync net472 2.84μs 1.69ns 6.33ns 0.232 0 0 1.47 KB
#3353 ExecuteAsync netcoreapp3.1 1.69μs 0.991ns 3.84ns 0.0185 0 0 1.39 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.96μs 1.27ns 4.77ns 0.446 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.69μs 1.98ns 7.68ns 0.035 0 0 2.65 KB
#3353 SendAsync net472 5.89μs 2.05ns 7.94ns 0.447 0 0 2.82 KB
#3353 SendAsync netcoreapp3.1 3.67μs 1.43ns 4.95ns 0.0367 0 0 2.65 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.23μs 4.46ns 16.1ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.51μs 1.84ns 6.9ns 0.0264 0 0 1.91 KB
#3353 EnrichedLog net472 3.11μs 2.87ns 11.1ns 0.298 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.5μs 1.96ns 7.32ns 0.0258 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 151μs 170ns 657ns 0.679 0.226 0 4.72 KB
master EnrichedLog netcoreapp3.1 121μs 136ns 510ns 0.0597 0 0 4.55 KB
#3353 EnrichedLog net472 152μs 148ns 571ns 0.683 0.228 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 121μs 100ns 388ns 0 0 0 4.55 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.66μs 1.64ns 6.35ns 0.579 0.00284 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.42μs 1.63ns 6.09ns 0.053 0 0 3.98 KB
#3353 EnrichedLog net472 5.72μs 2.12ns 7.66ns 0.578 0.00288 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.35μs 1.02ns 3.67ns 0.0543 0 0 3.98 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 4.02ns 15.6ns 0.226 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.84μs 0.668ns 2.59ns 0.0184 0 0 1.37 KB
#3353 SendReceive net472 2.32μs 1.75ns 6.55ns 0.226 0 0 1.42 KB
#3353 SendReceive netcoreapp3.1 1.74μs 1.73ns 6.47ns 0.0182 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.92μs 3.09ns 12ns 0.365 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.34μs 2.07ns 7.45ns 0.0242 0 0 1.86 KB
#3353 EnrichedLog net472 5.05μs 3.06ns 11ns 0.364 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.2μs 1.54ns 5.97ns 0.0231 0 0 1.86 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.48ns 1.8ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 936ns 0.362ns 1.31ns 0.011 0 0 808 B
master StartFinishScope net472 1.42μs 0.462ns 1.73ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.04μs 0.754ns 2.92ns 0.0125 0 0 928 B
#3353 StartFinishSpan net472 1.1μs 0.426ns 1.65ns 0.136 0 0 859 B
#3353 StartFinishSpan netcoreapp3.1 907ns 0.303ns 1.09ns 0.0105 0 0 808 B
#3353 StartFinishScope net472 1.31μs 0.682ns 2.64ns 0.149 0 0 939 B
#3353 StartFinishScope netcoreapp3.1 1.1μs 0.358ns 1.34ns 0.0127 0 0 928 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.44μs 0.546ns 2.12ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.17μs 0.438ns 1.7ns 0.0122 0 0 928 B
#3353 RunOnMethodBegin net472 1.49μs 0.575ns 2.23ns 0.149 0 0 939 B
#3353 RunOnMethodBegin netcoreapp3.1 1.14μs 0.365ns 1.37ns 0.0125 0 0 928 B

andrewlock avatar Oct 18 '22 14:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3353 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 808μs 590ns 2.21μs 0.403 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 556μs 272ns 1.02μs 0 0 0 2.62 KB
#3353 WriteAndFlushEnrichedTraces net472 803μs 815ns 3.16μs 0.401 0 0 3.22 KB
#3353 WriteAndFlushEnrichedTraces netcoreapp3.1 562μs 251ns 938ns 0 0 0 2.62 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 197ns 0.0869ns 0.313ns 0.0701 9.85E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 257ns 0.24ns 0.928ns 0.00605 0 0 440 B
master AllCycleMoreComplexBody net472 196ns 0.0453ns 0.17ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 252ns 0.244ns 0.945ns 0.00567 0 0 416 B
master BodyExtractorSimpleBody net472 270ns 0.365ns 1.37ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 244ns 0.123ns 0.461ns 0.00368 0 0 272 B
master BodyExtractorMoreComplexBody net472 16.3μs 17.7ns 68.4ns 1.2 0.0163 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 6.84ns 26.5ns 0.0895 0 0 6.75 KB
#3353 AllCycleSimpleBody net472 195ns 0.106ns 0.395ns 0.0701 0 0 441 B
#3353 AllCycleSimpleBody netcoreapp3.1 253ns 0.283ns 1.1ns 0.00607 0 0 440 B
#3353 AllCycleMoreComplexBody net472 196ns 0.101ns 0.39ns 0.0662 0 0 417 B
#3353 AllCycleMoreComplexBody netcoreapp3.1 251ns 0.154ns 0.596ns 0.00571 0 0 416 B
#3353 BodyExtractorSimpleBody net472 270ns 0.298ns 1.12ns 0.0574 0 0 361 B
#3353 BodyExtractorSimpleBody netcoreapp3.1 234ns 0.154ns 0.556ns 0.00379 0 0 272 B
#3353 BodyExtractorMoreComplexBody net472 15.7μs 13.8ns 51.7ns 1.21 0.0155 0 7.62 KB
#3353 BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 4.14ns 16.1ns 0.0896 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 184μs 186ns 720ns 0.274 0 0 20.66 KB
#3353 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3353 SendRequest netcoreapp3.1 183μs 262ns 1.01μs 0.183 0 0 20.66 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.81μs 0.509ns 1.91ns 0.158 0.000903 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.4μs 0.516ns 1.86ns 0.0133 0 0 984 B
#3353 ExecuteNonQuery net472 1.74μs 0.61ns 2.28ns 0.157 0.000874 0 995 B
#3353 ExecuteNonQuery netcoreapp3.1 1.47μs 0.452ns 1.63ns 0.0132 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.5μs 0.855ns 3.08ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.51μs 0.938ns 3.51ns 0.0158 0 0 1.14 KB
master CallElasticsearchAsync net472 2.63μs 0.441ns 1.59ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.58μs 0.483ns 1.74ns 0.0173 0 0 1.26 KB
#3353 CallElasticsearch net472 2.53μs 0.727ns 2.81ns 0.19 0 0 1.2 KB
#3353 CallElasticsearch netcoreapp3.1 1.52μs 1.05ns 3.78ns 0.0153 0 0 1.14 KB
#3353 CallElasticsearchAsync net472 2.69μs 0.911ns 3.53ns 0.212 0 0 1.34 KB
#3353 CallElasticsearchAsync netcoreapp3.1 1.58μs 0.43ns 1.49ns 0.017 0 0 1.26 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.77μs 3.81ns 14.2ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.74μs 1.45ns 5.41ns 0.0184 0 0 1.39 KB
#3353 ExecuteAsync net472 2.83μs 1.08ns 4.05ns 0.232 0 0 1.47 KB
#3353 ExecuteAsync netcoreapp3.1 1.68μs 0.671ns 2.51ns 0.0193 0 0 1.39 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.96μs 1.27ns 4.77ns 0.446 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.69μs 1.98ns 7.68ns 0.035 0 0 2.65 KB
#3353 SendAsync net472 5.85μs 1.99ns 7.45ns 0.447 0 0 2.82 KB
#3353 SendAsync netcoreapp3.1 3.68μs 3.78ns 14.1ns 0.0363 0 0 2.65 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.23μs 4.46ns 16.1ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.51μs 1.84ns 6.9ns 0.0264 0 0 1.91 KB
#3353 EnrichedLog net472 3.31μs 3.52ns 13.2ns 0.297 0 0 1.88 KB
#3353 EnrichedLog netcoreapp3.1 2.54μs 3.06ns 11.9ns 0.0265 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 151μs 170ns 657ns 0.679 0.226 0 4.72 KB
master EnrichedLog netcoreapp3.1 121μs 136ns 510ns 0.0597 0 0 4.55 KB
#3353 EnrichedLog net472 152μs 194ns 751ns 0.689 0.23 0 4.72 KB
#3353 EnrichedLog netcoreapp3.1 120μs 213ns 797ns 0.0597 0 0 4.55 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.66μs 1.64ns 6.35ns 0.579 0.00284 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.42μs 1.63ns 6.09ns 0.053 0 0 3.98 KB
#3353 EnrichedLog net472 5.83μs 1.59ns 5.73ns 0.578 0.0029 0 3.65 KB
#3353 EnrichedLog netcoreapp3.1 4.57μs 3.07ns 11.5ns 0.0546 0 0 3.98 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 4.02ns 15.6ns 0.226 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.84μs 0.668ns 2.59ns 0.0184 0 0 1.37 KB
#3353 SendReceive net472 2.33μs 2.29ns 8.86ns 0.225 0 0 1.42 KB
#3353 SendReceive netcoreapp3.1 1.82μs 0.784ns 2.93ns 0.0192 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.92μs 3.09ns 12ns 0.365 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.34μs 2.07ns 7.45ns 0.0242 0 0 1.86 KB
#3353 EnrichedLog net472 5.14μs 3.14ns 11.7ns 0.364 0 0 2.3 KB
#3353 EnrichedLog netcoreapp3.1 4.17μs 0.83ns 3.1ns 0.0251 0 0 1.86 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.48ns 1.8ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 936ns 0.362ns 1.31ns 0.011 0 0 808 B
master StartFinishScope net472 1.42μs 0.462ns 1.73ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.04μs 0.754ns 2.92ns 0.0125 0 0 928 B
#3353 StartFinishSpan net472 1.16μs 0.771ns 2.89ns 0.136 0 0 859 B
#3353 StartFinishSpan netcoreapp3.1 979ns 1.43ns 5.54ns 0.0106 0 0 808 B
#3353 StartFinishScope net472 1.39μs 0.317ns 1.23ns 0.149 0 0 939 B
#3353 StartFinishScope netcoreapp3.1 1.02μs 0.57ns 2.21ns 0.0127 0 0 928 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.44μs 0.546ns 2.12ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.17μs 0.438ns 1.7ns 0.0122 0 0 928 B
#3353 RunOnMethodBegin net472 1.46μs 0.859ns 3.33ns 0.149 0 0 939 B
#3353 RunOnMethodBegin netcoreapp3.1 1.17μs 0.385ns 1.44ns 0.0124 0 0 928 B

andrewlock avatar Oct 18 '22 15:10 andrewlock

Code Coverage Report :bar_chart:

:heavy_check_mark: Merging #3353 into master will not change line coverage :heavy_check_mark: Merging #3353 into master will not change branch coverage :heavy_check_mark: Merging #3353 into master will will decrease complexity by 53

master #3353 Change
Lines 19602 / 27011 19598 / 27028
Lines % 73% 73% 0% :heavy_check_mark:
Branches 11633 / 16784 11593 / 16728
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18160 18107 -53 :heavy_check_mark:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3353 Change
Lines % 73% 73% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18160 18107 -53 :heavy_check_mark:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Iast.StackWalker 0% :heavy_check_mark: 6% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Iast.IastModule 11% :heavy_check_mark: 17% :heavy_check_mark: 18 :no_entry:

The following classes were added in #3353:

File Line coverage Branch coverage Complexity
Datadog.Trace.ClrProfiler.AutoInstrumentation.CryptographyAlgorithm.SymmetricAlgorithmIntegration 100% 100% 2
Datadog.Trace.ClrProfiler.AutoInstrumentation.CryptographyAlgorithm.SymmetricAlgorithmIntegrationCommon 44% 50% 5

View the full reports for further details:

andrewlock avatar Oct 18 '22 15:10 andrewlock