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

Delete Log Files That are 31 Days or Older

Open link04 opened this issue 2 years ago • 4 comments

Summary of changes

During startup when we start the logger it will take the user's log directory and delete files => 31 days.

Reason for change

Because of the log pattern we use and how services can be restarted at random intervals, currently there are some log files that don't get rotated since we rely on Serilog's retainedFileCountLimit.

Implementation details

Using the System.IO class to access the logs directory, making a list of the files ordered by LastWriteTime and deleting those that are 31 days old or older.

Test coverage

Created test to confirm that it uses the correct directory and deletes the expected files.

link04 avatar Oct 12 '22 14:10 link04

Benchmarks Report :snail:

Benchmarks for #3346 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 790μs 591ns 2.29μs 0.396 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 538μs 224ns 808ns 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 793μs 580ns 2.24μs 0.398 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 512μs 443ns 1.66μ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.0724ns 0.28ns 0.0726 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.193ns 0.749ns 0.00625 0 0 456 B
master AllCycleMoreComplexBody net472 196ns 0.0741ns 0.277ns 0.0688 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 250ns 0.335ns 1.3ns 0.00592 0 0 432 B
master BodyExtractorSimpleBody net472 273ns 0.125ns 0.449ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 240ns 0.243ns 0.909ns 0.00374 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.8μs 16.2ns 62.9ns 1.2 0.0157 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 5.76ns 21.5ns 0.0891 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 203ns 0.342ns 1.33ns 0.0726 0 0 457 B
#3346 AllCycleSimpleBody netcoreapp3.1 253ns 0.122ns 0.472ns 0.00626 0 0 456 B
#3346 AllCycleMoreComplexBody net472 195ns 0.457ns 1.65ns 0.0689 0 0 433 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 252ns 0.652ns 2.52ns 0.00607 0 0 432 B
#3346 BodyExtractorSimpleBody net472 282ns 0.34ns 1.32ns 0.0573 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 240ns 0.0685ns 0.247ns 0.00376 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 15.8μs 11.4ns 44.1ns 1.2 0.0157 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 12.6μs 3.31ns 11.9ns 0.088 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 402ns 1.56μs 0.269 0 0 20.68 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 180μs 178ns 666ns 0.269 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.8μs 1.15ns 4.32ns 0.155 0.000892 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.39μs 0.546ns 2.11ns 0.0132 0 0 968 B
#3346 ExecuteNonQuery net472 1.97μs 0.739ns 2.86ns 0.155 0.000982 0 979 B
#3346 ExecuteNonQuery netcoreapp3.1 1.49μs 0.534ns 2.07ns 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.48μs 0.903ns 3.5ns 0.189 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.65μs 0.747ns 2.8ns 0.0149 0 0 1.13 KB
master CallElasticsearchAsync net472 2.55μs 1.04ns 3.74ns 0.21 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.66μs 0.502ns 1.81ns 0.0166 0 0 1.25 KB
#3346 CallElasticsearch net472 2.36μs 1.19ns 4.62ns 0.188 0 0 1.19 KB
#3346 CallElasticsearch netcoreapp3.1 1.54μs 1.59ns 6.17ns 0.0154 0 0 1.13 KB
#3346 CallElasticsearchAsync net472 2.71μs 0.965ns 3.74ns 0.21 0 0 1.32 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.66μs 5.21ns 20.2ns 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.71μs 1.8ns 6.74ns 0.23 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.75μs 0.249ns 0.933ns 0.0181 0 0 1.38 KB
#3346 ExecuteAsync net472 2.85μs 0.939ns 3.63ns 0.23 0 0 1.45 KB
#3346 ExecuteAsync netcoreapp3.1 1.73μs 0.548ns 2.05ns 0.0191 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.8μs 1.89ns 7.06ns 0.443 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.64μs 1ns 3.75ns 0.0346 0 0 2.63 KB
#3346 SendAsync net472 5.83μs 2.23ns 8.34ns 0.444 0 0 2.8 KB
#3346 SendAsync netcoreapp3.1 3.95μs 1.51ns 5.83ns 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.22μs 4.25ns 16.5ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.58μs 1.14ns 4.27ns 0.0259 0 0 1.91 KB
#3346 EnrichedLog net472 3.25μs 1.85ns 6.92ns 0.298 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.48μs 1.69ns 6.08ns 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 150μs 278ns 1.08μs 0.679 0.226 0 4.72 KB
master EnrichedLog netcoreapp3.1 118μs 206ns 741ns 0 0 0 4.55 KB
#3346 EnrichedLog net472 153μs 113ns 422ns 0.689 0.23 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 119μs 216ns 836ns 0.0593 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.81μs 2.08ns 7.5ns 0.579 0.00291 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.44μs 1.77ns 6.84ns 0.0533 0 0 3.98 KB
#3346 EnrichedLog net472 5.78μs 2.32ns 8.36ns 0.578 0.00289 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.31μs 2.05ns 7.93ns 0.0539 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 2.52ns 9.74ns 0.223 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.79μs 1.14ns 4.27ns 0.0179 0 0 1.35 KB
#3346 SendReceive net472 2.31μs 3.15ns 12.2ns 0.223 0 0 1.4 KB
#3346 SendReceive netcoreapp3.1 1.87μs 0.511ns 1.98ns 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.11μs 2.61ns 9.77ns 0.364 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.28μs 1.4ns 5.24ns 0.0256 0 0 1.86 KB
#3346 EnrichedLog net472 5.11μs 3.89ns 15.1ns 0.364 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.38μs 1.63ns 6.31ns 0.0241 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.58ns 2.25ns 0.133 0 0 842 B
master StartFinishSpan netcoreapp3.1 973ns 0.434ns 1.68ns 0.0106 0 0 792 B
master StartFinishScope net472 1.46μs 1.12ns 4.36ns 0.146 0 0 923 B
master StartFinishScope netcoreapp3.1 1.09μs 0.473ns 1.77ns 0.0125 0 0 912 B
#3346 StartFinishSpan net472 1.14μs 0.575ns 2.23ns 0.133 0 0 842 B
#3346 StartFinishSpan netcoreapp3.1 945ns 0.617ns 2.39ns 0.0108 0 0 792 B
#3346 StartFinishScope net472 1.38μs 0.697ns 2.7ns 0.146 0 0 923 B
#3346 StartFinishScope netcoreapp3.1 1.1μs 0.494ns 1.85ns 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.47μs 0.451ns 1.75ns 0.146 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.22μs 0.455ns 1.57ns 0.0123 0 0 912 B
#3346 RunOnMethodBegin net472 1.52μs 0.631ns 2.36ns 0.147 0 0 923 B
#3346 RunOnMethodBegin netcoreapp3.1 1.17μs 0.365ns 1.32ns 0.0123 0 0 912 B

andrewlock avatar Oct 12 '22 15:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3346 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 790μs 591ns 2.29μs 0.396 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 538μs 224ns 808ns 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 785μs 329ns 1.23μs 0.391 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 534μs 189ns 708ns 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.0724ns 0.28ns 0.0726 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.193ns 0.749ns 0.00625 0 0 456 B
master AllCycleMoreComplexBody net472 196ns 0.0741ns 0.277ns 0.0688 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 250ns 0.335ns 1.3ns 0.00592 0 0 432 B
master BodyExtractorSimpleBody net472 273ns 0.125ns 0.449ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 240ns 0.243ns 0.909ns 0.00374 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.8μs 16.2ns 62.9ns 1.2 0.0157 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 5.76ns 21.5ns 0.0891 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 201ns 0.107ns 0.402ns 0.0726 0 0 457 B
#3346 AllCycleSimpleBody netcoreapp3.1 255ns 0.236ns 0.884ns 0.00629 0 0 456 B
#3346 AllCycleMoreComplexBody net472 194ns 0.116ns 0.435ns 0.0688 0 0 433 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 255ns 0.417ns 1.62ns 0.00596 0 0 432 B
#3346 BodyExtractorSimpleBody net472 300ns 0.249ns 0.933ns 0.0573 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 238ns 0.124ns 0.465ns 0.00369 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 15.7μs 16.7ns 62.3ns 1.21 0.0157 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 5.1ns 19.8ns 0.0887 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 181μs 402ns 1.56μs 0.269 0 0 20.68 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 180μs 85.8ns 309ns 0.179 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.8μs 1.15ns 4.32ns 0.155 0.000892 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.39μs 0.546ns 2.11ns 0.0132 0 0 968 B
#3346 ExecuteNonQuery net472 1.83μs 0.752ns 2.81ns 0.155 0.000922 0 979 B
#3346 ExecuteNonQuery netcoreapp3.1 1.48μs 4.91ns 19ns 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.48μs 0.903ns 3.5ns 0.189 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.65μs 0.747ns 2.8ns 0.0149 0 0 1.13 KB
master CallElasticsearchAsync net472 2.55μs 1.04ns 3.74ns 0.21 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.66μs 0.502ns 1.81ns 0.0166 0 0 1.25 KB
#3346 CallElasticsearch net472 2.58μs 0.764ns 2.96ns 0.188 0 0 1.19 KB
#3346 CallElasticsearch netcoreapp3.1 1.55μs 0.521ns 1.88ns 0.0157 0 0 1.13 KB
#3346 CallElasticsearchAsync net472 2.65μs 1.46ns 5.64ns 0.209 0 0 1.32 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.65μs 1.07ns 4.16ns 0.0165 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.71μs 1.8ns 6.74ns 0.23 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.75μs 0.249ns 0.933ns 0.0181 0 0 1.38 KB
#3346 ExecuteAsync net472 2.8μs 0.771ns 2.99ns 0.23 0 0 1.45 KB
#3346 ExecuteAsync netcoreapp3.1 1.73μs 0.87ns 3.26ns 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.8μs 1.89ns 7.06ns 0.443 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.64μs 1ns 3.75ns 0.0346 0 0 2.63 KB
#3346 SendAsync net472 5.87μs 2ns 7.49ns 0.443 0 0 2.8 KB
#3346 SendAsync netcoreapp3.1 3.74μs 1.54ns 5.97ns 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.22μs 4.25ns 16.5ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.58μs 1.14ns 4.27ns 0.0259 0 0 1.91 KB
#3346 EnrichedLog net472 3.19μs 1.75ns 6.79ns 0.297 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.57μs 1.88ns 7.03ns 0.0257 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 150μs 278ns 1.08μs 0.679 0.226 0 4.72 KB
master EnrichedLog netcoreapp3.1 118μs 206ns 741ns 0 0 0 4.55 KB
#3346 EnrichedLog net472 154μs 199ns 745ns 0.694 0.231 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 119μs 226ns 876ns 0.0585 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.81μs 2.08ns 7.5ns 0.579 0.00291 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.44μs 1.77ns 6.84ns 0.0533 0 0 3.98 KB
#3346 EnrichedLog net472 5.86μs 2.77ns 10.4ns 0.58 0.00291 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.44μs 0.739ns 2.56ns 0.0553 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 2.52ns 9.74ns 0.223 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.79μs 1.14ns 4.27ns 0.0179 0 0 1.35 KB
#3346 SendReceive net472 2.33μs 1.66ns 6.43ns 0.222 0 0 1.4 KB
#3346 SendReceive netcoreapp3.1 1.85μs 0.876ns 3.16ns 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 5.11μs 2.61ns 9.77ns 0.364 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.28μs 1.4ns 5.24ns 0.0256 0 0 1.86 KB
#3346 EnrichedLog net472 5μs 0.645ns 2.32ns 0.364 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.44μs 2.26ns 8.47ns 0.0244 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.58ns 2.25ns 0.133 0 0 842 B
master StartFinishSpan netcoreapp3.1 973ns 0.434ns 1.68ns 0.0106 0 0 792 B
master StartFinishScope net472 1.46μs 1.12ns 4.36ns 0.146 0 0 923 B
master StartFinishScope netcoreapp3.1 1.09μs 0.473ns 1.77ns 0.0125 0 0 912 B
#3346 StartFinishSpan net472 1.19μs 0.43ns 1.66ns 0.133 0 0 842 B
#3346 StartFinishSpan netcoreapp3.1 951ns 0.312ns 1.17ns 0.0106 0 0 792 B
#3346 StartFinishScope net472 1.42μs 0.441ns 1.59ns 0.146 0 0 923 B
#3346 StartFinishScope netcoreapp3.1 1.09μs 1.66ns 6.2ns 0.0125 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.47μs 0.451ns 1.75ns 0.146 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.22μs 0.455ns 1.57ns 0.0123 0 0 912 B
#3346 RunOnMethodBegin net472 1.5μs 0.736ns 2.85ns 0.146 0 0 923 B
#3346 RunOnMethodBegin netcoreapp3.1 1.12μs 0.314ns 1.09ns 0.0123 0 0 912 B

andrewlock avatar Oct 12 '22 16:10 andrewlock

Code Coverage Report :bar_chart:

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

master #3346 Change
Lines 19367 / 26705 19379 / 26731
Lines % 73% 72% 0% :heavy_check_mark:
Branches 11527 / 16615 11532 / 16633
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 17944 17970 26 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3346 Change
Lines % 73% 72% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 17944 17970 26 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.AppSec.Waf.Context -3% :warning: -10% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Logging.DatadogLogging 0% :heavy_check_mark: 6% :heavy_check_mark: 4 :no_entry:
Datadog.Trace.AppSec.InstrumentationGateway 1% :heavy_check_mark: 17% :heavy_check_mark: 8 :no_entry:
Datadog.Trace.Ci.GitInfo 5% :heavy_check_mark: 8% :heavy_check_mark: 0 :heavy_check_mark:

View the full reports for further details:

andrewlock avatar Oct 12 '22 16:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3346 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 790μs 591ns 2.29μs 0.396 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 538μs 224ns 808ns 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 787μs 223ns 865ns 0.393 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 518μs 380ns 1.42μ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.0724ns 0.28ns 0.0726 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.193ns 0.749ns 0.00625 0 0 456 B
master AllCycleMoreComplexBody net472 196ns 0.0741ns 0.277ns 0.0688 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 250ns 0.335ns 1.3ns 0.00592 0 0 432 B
master BodyExtractorSimpleBody net472 273ns 0.125ns 0.449ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 240ns 0.243ns 0.909ns 0.00374 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.8μs 16.2ns 62.9ns 1.2 0.0157 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 5.76ns 21.5ns 0.0891 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 205ns 0.0594ns 0.222ns 0.0726 0 0 457 B
#3346 AllCycleSimpleBody netcoreapp3.1 256ns 0.0976ns 0.378ns 0.00632 0 0 456 B
#3346 AllCycleMoreComplexBody net472 192ns 0.0487ns 0.169ns 0.0688 0 0 433 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 253ns 0.284ns 1.1ns 0.00597 0 0 432 B
#3346 BodyExtractorSimpleBody net472 280ns 0.183ns 0.66ns 0.0574 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 227ns 0.205ns 0.768ns 0.00378 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 15.8μs 13.3ns 51.3ns 1.2 0.0158 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 12.6μs 5.27ns 20.4ns 0.0881 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 402ns 1.56μs 0.269 0 0 20.68 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 180μs 168ns 627ns 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.8μs 1.15ns 4.32ns 0.155 0.000892 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.39μs 0.546ns 2.11ns 0.0132 0 0 968 B
#3346 ExecuteNonQuery net472 1.82μs 0.759ns 2.84ns 0.156 0.00092 0 979 B
#3346 ExecuteNonQuery netcoreapp3.1 1.46μs 0.461ns 1.72ns 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 0.903ns 3.5ns 0.189 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.65μs 0.747ns 2.8ns 0.0149 0 0 1.13 KB
master CallElasticsearchAsync net472 2.55μs 1.04ns 3.74ns 0.21 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.66μs 0.502ns 1.81ns 0.0166 0 0 1.25 KB
#3346 CallElasticsearch net472 2.59μs 1.35ns 5.05ns 0.188 0 0 1.19 KB
#3346 CallElasticsearch netcoreapp3.1 1.58μs 0.533ns 2.06ns 0.0151 0 0 1.13 KB
#3346 CallElasticsearchAsync net472 2.69μs 0.642ns 2.31ns 0.209 0 0 1.32 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.62μs 0.486ns 1.88ns 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.71μs 1.8ns 6.74ns 0.23 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.75μs 0.249ns 0.933ns 0.0181 0 0 1.38 KB
#3346 ExecuteAsync net472 2.85μs 3.41ns 13.2ns 0.23 0 0 1.45 KB
#3346 ExecuteAsync netcoreapp3.1 1.72μs 0.321ns 1.16ns 0.0189 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.8μs 1.89ns 7.06ns 0.443 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.64μs 1ns 3.75ns 0.0346 0 0 2.63 KB
#3346 SendAsync net472 5.87μs 2.27ns 8.78ns 0.442 0 0 2.8 KB
#3346 SendAsync netcoreapp3.1 3.67μs 1.05ns 3.93ns 0.0366 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.22μs 4.25ns 16.5ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.58μs 1.14ns 4.27ns 0.0259 0 0 1.91 KB
#3346 EnrichedLog net472 3.29μs 2.31ns 8.94ns 0.298 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.58μs 0.878ns 3.29ns 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 150μs 278ns 1.08μs 0.679 0.226 0 4.72 KB
master EnrichedLog netcoreapp3.1 118μs 206ns 741ns 0 0 0 4.55 KB
#3346 EnrichedLog net472 151μs 198ns 767ns 0.675 0.225 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 117μs 118ns 456ns 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.81μs 2.08ns 7.5ns 0.579 0.00291 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.44μs 1.77ns 6.84ns 0.0533 0 0 3.98 KB
#3346 EnrichedLog net472 5.76μs 1.79ns 6.71ns 0.58 0.00288 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.54μs 1.57ns 5.86ns 0.0545 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 2.52ns 9.74ns 0.223 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.79μs 1.14ns 4.27ns 0.0179 0 0 1.35 KB
#3346 SendReceive net472 2.31μs 2.52ns 9.75ns 0.223 0 0 1.4 KB
#3346 SendReceive netcoreapp3.1 1.86μs 2.13ns 8.27ns 0.0185 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.11μs 2.61ns 9.77ns 0.364 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.28μs 1.4ns 5.24ns 0.0256 0 0 1.86 KB
#3346 EnrichedLog net472 5.23μs 8.41ns 31.5ns 0.363 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.31μs 3.38ns 13.1ns 0.0259 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.58ns 2.25ns 0.133 0 0 842 B
master StartFinishSpan netcoreapp3.1 973ns 0.434ns 1.68ns 0.0106 0 0 792 B
master StartFinishScope net472 1.46μs 1.12ns 4.36ns 0.146 0 0 923 B
master StartFinishScope netcoreapp3.1 1.09μs 0.473ns 1.77ns 0.0125 0 0 912 B
#3346 StartFinishSpan net472 1.21μs 0.408ns 1.58ns 0.133 0 0 842 B
#3346 StartFinishSpan netcoreapp3.1 931ns 0.461ns 1.73ns 0.0104 0 0 792 B
#3346 StartFinishScope net472 1.32μs 1.34ns 5.21ns 0.146 0 0 923 B
#3346 StartFinishScope netcoreapp3.1 1.1μs 0.588ns 2.28ns 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.47μs 0.451ns 1.75ns 0.146 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.22μs 0.455ns 1.57ns 0.0123 0 0 912 B
#3346 RunOnMethodBegin net472 1.55μs 0.48ns 1.73ns 0.147 0 0 923 B
#3346 RunOnMethodBegin netcoreapp3.1 1.22μs 0.969ns 3.75ns 0.0127 0 0 912 B

andrewlock avatar Oct 12 '22 19:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3346 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 794μs 686ns 2.57μs 0.398 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 563μs 175ns 607ns 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 818μs 434ns 1.56μs 0.408 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 546μs 161ns 623ns 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.0267ns 0.0964ns 0.0701 0 0 441 B
master AllCycleSimpleBody netcoreapp3.1 257ns 0.0733ns 0.274ns 0.00608 0 0 440 B
master AllCycleMoreComplexBody net472 195ns 0.0474ns 0.177ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 250ns 0.156ns 0.583ns 0.00568 0 0 416 B
master BodyExtractorSimpleBody net472 272ns 0.168ns 0.605ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 238ns 0.25ns 0.934ns 0.00366 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.5μs 11.7ns 43.7ns 1.2 0.0155 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13μs 3.97ns 14.3ns 0.091 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 200ns 0.139ns 0.54ns 0.0701 0 0 441 B
#3346 AllCycleSimpleBody netcoreapp3.1 251ns 0.203ns 0.785ns 0.00597 0 0 440 B
#3346 AllCycleMoreComplexBody net472 198ns 0.109ns 0.408ns 0.0663 0 0 417 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 250ns 0.165ns 0.64ns 0.00575 0 0 416 B
#3346 BodyExtractorSimpleBody net472 280ns 0.215ns 0.803ns 0.0573 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 239ns 0.149ns 0.577ns 0.00372 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 16μs 15.8ns 61.3ns 1.2 0.0158 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 13.1μs 6.31ns 22.8ns 0.0915 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 183μs 187ns 675ns 0.273 0 0 20.66 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 183μs 240ns 928ns 0.273 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.658ns 2.55ns 0.158 0.000917 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.4μs 0.477ns 1.85ns 0.0135 0 0 984 B
#3346 ExecuteNonQuery net472 1.85μs 0.836ns 3.24ns 0.158 0.000934 0 995 B
#3346 ExecuteNonQuery netcoreapp3.1 1.41μs 1.46ns 5.47ns 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.53μs 1.09ns 3.91ns 0.19 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.57μs 0.598ns 2.32ns 0.015 0 0 1.14 KB
master CallElasticsearchAsync net472 2.68μs 1.28ns 4.94ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.64μs 2.5ns 9.7ns 0.0171 0 0 1.26 KB
#3346 CallElasticsearch net472 2.58μs 1.09ns 4.21ns 0.19 0 0 1.2 KB
#3346 CallElasticsearch netcoreapp3.1 1.54μs 0.839ns 3.25ns 0.0154 0 0 1.14 KB
#3346 CallElasticsearchAsync net472 2.68μs 1.17ns 4.54ns 0.213 0 0 1.34 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.6μs 0.971ns 3.76ns 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.73μs 1.91ns 7.14ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.758ns 2.84ns 0.0181 0 0 1.39 KB
#3346 ExecuteAsync net472 2.76μs 1.39ns 5.37ns 0.233 0 0 1.47 KB
#3346 ExecuteAsync netcoreapp3.1 1.78μs 0.656ns 2.54ns 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.83μs 2.38ns 8.9ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.8μs 3.61ns 14ns 0.0359 0 0 2.65 KB
#3346 SendAsync net472 5.84μs 1.47ns 5.68ns 0.446 0 0 2.82 KB
#3346 SendAsync netcoreapp3.1 3.7μs 1.88ns 6.77ns 0.0351 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.24μs 3.84ns 14.4ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.54μs 0.885ns 3.31ns 0.0264 0 0 1.91 KB
#3346 EnrichedLog net472 3.04μs 4.16ns 16.1ns 0.298 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.46μs 1.08ns 4.05ns 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 152μs 364ns 1.41μs 0.679 0.226 0 4.72 KB
master EnrichedLog netcoreapp3.1 123μs 151ns 585ns 0 0 0 4.55 KB
#3346 EnrichedLog net472 152μs 78.6ns 294ns 0.684 0.228 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 120μs 145ns 562ns 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.78μs 2.99ns 11.6ns 0.578 0.00289 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.65μs 2.04ns 7.9ns 0.0531 0 0 3.98 KB
#3346 EnrichedLog net472 5.72μs 2.96ns 11.4ns 0.578 0.00286 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.49μs 1.34ns 5.01ns 0.0537 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 3.78ns 14.6ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.86μs 1ns 3.75ns 0.0186 0 0 1.37 KB
#3346 SendReceive net472 2.2μs 1.54ns 5.97ns 0.225 0 0 1.42 KB
#3346 SendReceive netcoreapp3.1 1.77μs 0.539ns 2.02ns 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.12μs 1.71ns 6.62ns 0.362 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.33μs 1.95ns 7.3ns 0.0238 0 0 1.86 KB
#3346 EnrichedLog net472 5.08μs 1.54ns 5.96ns 0.363 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.36μs 0.855ns 3.2ns 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.13μs 0.25ns 0.935ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 976ns 0.334ns 1.25ns 0.0107 0 0 808 B
master StartFinishScope net472 1.5μs 0.294ns 1.1ns 0.148 0 0 939 B
master StartFinishScope netcoreapp3.1 1.1μs 0.476ns 1.78ns 0.0126 0 0 928 B
#3346 StartFinishSpan net472 1.17μs 0.495ns 1.85ns 0.136 0 0 859 B
#3346 StartFinishSpan netcoreapp3.1 948ns 0.828ns 3.1ns 0.0109 0 0 808 B
#3346 StartFinishScope net472 1.41μs 0.582ns 2.25ns 0.149 0 0 939 B
#3346 StartFinishScope netcoreapp3.1 1.21μs 1.63ns 6.11ns 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.48μs 0.367ns 1.37ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.19μs 0.464ns 1.67ns 0.0125 0 0 928 B
#3346 RunOnMethodBegin net472 1.48μs 0.785ns 3.04ns 0.149 0 0 939 B
#3346 RunOnMethodBegin netcoreapp3.1 1.1μs 0.306ns 1.1ns 0.0122 0 0 928 B

andrewlock avatar Oct 19 '22 23:10 andrewlock

Code Coverage Report :bar_chart:

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

master #3346 Change
Lines 19590 / 27059 19563 / 27079
Lines % 72% 72% 0% :heavy_check_mark:
Branches 11591 / 16750 11585 / 16756
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18131 18137 6 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3346 Change
Lines % 72% 72% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18131 18137 6 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Ci.GitInfo -19% :no_entry: -12% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Iast.StackWalker 0% :heavy_check_mark: -6% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Logging.DatadogLogging 0% :heavy_check_mark: 9% :heavy_check_mark: 6 :no_entry:

View the full reports for further details:

andrewlock avatar Oct 19 '22 23:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3346 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 798μs 330ns 1.19μs 0.401 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 551μs 148ns 535ns 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 811μs 880ns 3.41μs 0.403 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 533μs 237ns 917ns 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 196ns 0.11ns 0.412ns 0.0701 0 0 441 B
master AllCycleSimpleBody netcoreapp3.1 257ns 0.208ns 0.807ns 0.00615 0 0 440 B
master AllCycleMoreComplexBody net472 201ns 0.0599ns 0.224ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 250ns 0.137ns 0.494ns 0.00564 0 0 416 B
master BodyExtractorSimpleBody net472 287ns 0.325ns 1.22ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 235ns 0.124ns 0.48ns 0.00366 0 0 272 B
master BodyExtractorMoreComplexBody net472 16.4μs 16.5ns 63.9ns 1.21 0.0162 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 3.56ns 13.8ns 0.0894 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 203ns 0.143ns 0.536ns 0.0701 0.0001 0 441 B
#3346 AllCycleSimpleBody netcoreapp3.1 254ns 0.113ns 0.423ns 0.00594 0 0 440 B
#3346 AllCycleMoreComplexBody net472 194ns 0.0545ns 0.197ns 0.0663 0 0 417 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 254ns 0.383ns 1.48ns 0.00573 0 0 416 B
#3346 BodyExtractorSimpleBody net472 279ns 0.305ns 1.14ns 0.0573 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 230ns 0.18ns 0.672ns 0.0037 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 15.8μs 13.1ns 50.8ns 1.21 0.0157 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 13.1μs 3.68ns 14.3ns 0.0911 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 178μs 246ns 953ns 0.265 0 0 20.68 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 179μs 174ns 672ns 0.264 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.8μs 0.843ns 3.26ns 0.158 0.000897 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.39μs 0.371ns 1.39ns 0.0133 0 0 984 B
#3346 ExecuteNonQuery net472 1.77μs 1.05ns 4.06ns 0.158 0.00088 0 995 B
#3346 ExecuteNonQuery netcoreapp3.1 1.45μs 0.584ns 2.19ns 0.0131 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.61μs 0.516ns 1.93ns 0.19 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.53μs 1.23ns 4.75ns 0.0153 0 0 1.14 KB
master CallElasticsearchAsync net472 2.64μs 1.54ns 5.95ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.59μs 0.797ns 3.09ns 0.0167 0 0 1.26 KB
#3346 CallElasticsearch net472 2.53μs 0.792ns 2.96ns 0.19 0 0 1.2 KB
#3346 CallElasticsearch netcoreapp3.1 1.55μs 0.619ns 2.4ns 0.0154 0 0 1.14 KB
#3346 CallElasticsearchAsync net472 2.74μs 0.915ns 3.54ns 0.212 0 0 1.34 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.64μs 0.571ns 2.14ns 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.65μs 1.49ns 5.58ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.72μs 0.565ns 2.11ns 0.019 0 0 1.39 KB
#3346 ExecuteAsync net472 2.62μs 1.63ns 6.31ns 0.233 0 0 1.47 KB
#3346 ExecuteAsync netcoreapp3.1 1.71μs 0.559ns 2.09ns 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.91μs 2.75ns 10.7ns 0.446 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.76μs 1.33ns 5.14ns 0.0359 0 0 2.65 KB
#3346 SendAsync net472 5.82μs 3.12ns 12.1ns 0.445 0 0 2.82 KB
#3346 SendAsync netcoreapp3.1 3.56μs 2.11ns 8.16ns 0.0355 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 3.44ns 13.3ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.57μs 0.767ns 2.97ns 0.0256 0 0 1.91 KB
#3346 EnrichedLog net472 3.28μs 4.31ns 16.7ns 0.297 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.57μs 1.62ns 6.07ns 0.0268 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 166ns 644ns 0.676 0.225 0 4.72 KB
master EnrichedLog netcoreapp3.1 121μs 184ns 714ns 0.0601 0 0 4.55 KB
#3346 EnrichedLog net472 151μs 72.1ns 279ns 0.679 0.226 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 121μs 184ns 713ns 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.76μs 1.9ns 7.36ns 0.578 0.00289 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.62μs 1.52ns 5.7ns 0.0534 0 0 3.98 KB
#3346 EnrichedLog net472 5.92μs 2.26ns 8.74ns 0.577 0.00292 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.43μs 2.07ns 7.73ns 0.0531 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.32ns 4.96ns 0.226 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.88μs 0.725ns 2.71ns 0.018 0 0 1.37 KB
#3346 SendReceive net472 2.16μs 0.997ns 3.86ns 0.225 0 0 1.42 KB
#3346 SendReceive netcoreapp3.1 1.79μs 0.883ns 3.3ns 0.018 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.06μs 3.48ns 13.5ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.18μs 4.14ns 16ns 0.0252 0 0 1.86 KB
#3346 EnrichedLog net472 5.08μs 1.88ns 7.04ns 0.364 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.49μs 1.52ns 5.68ns 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.27μs 0.262ns 1.01ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 955ns 0.325ns 1.22ns 0.011 0 0 808 B
master StartFinishScope net472 1.41μs 0.191ns 0.69ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.09μs 0.51ns 1.91ns 0.0126 0 0 928 B
#3346 StartFinishSpan net472 1.19μs 0.466ns 1.81ns 0.136 0 0 859 B
#3346 StartFinishSpan netcoreapp3.1 948ns 0.278ns 1.04ns 0.0107 0 0 808 B
#3346 StartFinishScope net472 1.42μs 0.809ns 3.03ns 0.149 0 0 939 B
#3346 StartFinishScope netcoreapp3.1 1.17μs 0.775ns 3ns 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.48μs 0.492ns 1.84ns 0.148 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.17μs 0.17ns 0.587ns 0.0123 0 0 928 B
#3346 RunOnMethodBegin net472 1.4μs 0.568ns 2.2ns 0.149 0 0 939 B
#3346 RunOnMethodBegin netcoreapp3.1 1.13μs 1.01ns 3.64ns 0.0126 0 0 928 B

andrewlock avatar Oct 21 '22 00:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3346 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 801μs 529ns 2.05μs 0.401 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 529μs 262ns 1.02μs 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 812μs 1.28μs 4.96μs 0.406 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 555μs 486ns 1.88μ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 189ns 0.0791ns 0.296ns 0.0701 0 0 441 B
master AllCycleSimpleBody netcoreapp3.1 240ns 0.0785ns 0.283ns 0.00604 0 0 440 B
master AllCycleMoreComplexBody net472 180ns 0.0423ns 0.158ns 0.0662 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 240ns 0.056ns 0.21ns 0.00562 0 0 416 B
master BodyExtractorSimpleBody net472 285ns 0.223ns 0.834ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 234ns 0.0934ns 0.35ns 0.00376 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.9μs 12.8ns 47.8ns 1.21 0.016 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 3.3ns 12.8ns 0.0869 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 182ns 0.0279ns 0.101ns 0.0701 9.28E-05 0 441 B
#3346 AllCycleSimpleBody netcoreapp3.1 241ns 0.209ns 0.809ns 0.00603 0 0 440 B
#3346 AllCycleMoreComplexBody net472 181ns 0.0383ns 0.133ns 0.0663 0 0 417 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 239ns 0.214ns 0.83ns 0.00562 0 0 416 B
#3346 BodyExtractorSimpleBody net472 288ns 0.564ns 2.18ns 0.0573 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 238ns 0.149ns 0.558ns 0.0037 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 15.8μs 16ns 62ns 1.21 0.0159 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 6.05ns 20.9ns 0.0885 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 176μs 190ns 735ns 0.262 0 0 20.44 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 177μs 206ns 799ns 0.266 0 0 20.44 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.75μs 1.54ns 5.97ns 0.157 0.000865 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.41μs 0.254ns 0.951ns 0.0134 0 0 984 B
#3346 ExecuteNonQuery net472 1.73μs 0.791ns 3.06ns 0.158 0.000832 0 995 B
#3346 ExecuteNonQuery netcoreapp3.1 1.42μs 0.207ns 0.747ns 0.0128 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.49μs 1.2ns 4.47ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.58μs 0.311ns 1.08ns 0.015 0 0 1.14 KB
master CallElasticsearchAsync net472 2.59μs 1ns 3.87ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.67μs 0.933ns 3.61ns 0.0167 0 0 1.26 KB
#3346 CallElasticsearch net472 2.47μs 2.57ns 9.97ns 0.191 0 0 1.2 KB
#3346 CallElasticsearch netcoreapp3.1 1.54μs 1.18ns 4.43ns 0.0154 0 0 1.14 KB
#3346 CallElasticsearchAsync net472 2.61μs 1.07ns 4.02ns 0.212 0 0 1.34 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.67μs 0.633ns 2.37ns 0.0167 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.71μs 1.82ns 6.8ns 0.232 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.72μs 0.611ns 2.28ns 0.0189 0 0 1.39 KB
#3346 ExecuteAsync net472 2.76μs 13.8ns 63.3ns 0.233 0 0 1.47 KB
#3346 ExecuteAsync netcoreapp3.1 1.78μs 0.955ns 3.7ns 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.84μs 2.61ns 9.75ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.59μs 1.46ns 5.27ns 0.0361 0 0 2.65 KB
#3346 SendAsync net472 5.91μs 3.11ns 12ns 0.447 0 0 2.82 KB
#3346 SendAsync netcoreapp3.1 3.68μs 0.48ns 1.8ns 0.0354 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 1.49ns 5.58ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.54μs 3.22ns 12.5ns 0.0252 0 0 1.91 KB
#3346 EnrichedLog net472 3.2μs 2.98ns 11.2ns 0.297 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.64μs 1.08ns 4.2ns 0.0259 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 132ns 495ns 0.7 0.233 0 4.72 KB
master EnrichedLog netcoreapp3.1 120μs 108ns 404ns 0.0598 0 0 4.55 KB
#3346 EnrichedLog net472 152μs 162ns 628ns 0.683 0.228 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 121μs 187ns 676ns 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.69μs 2.61ns 10.1ns 0.578 0.00285 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.65μs 2.4ns 8.97ns 0.0534 0 0 3.98 KB
#3346 EnrichedLog net472 5.77μs 2.33ns 9.04ns 0.58 0.00289 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.4μs 1.45ns 5.62ns 0.0533 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 3.24ns 12.6ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.8μs 0.942ns 3.53ns 0.019 0 0 1.37 KB
#3346 SendReceive net472 2.32μs 1.96ns 7.6ns 0.225 0 0 1.42 KB
#3346 SendReceive netcoreapp3.1 1.79μs 0.471ns 1.7ns 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.17μs 3.54ns 13.7ns 0.362 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.08μs 2.07ns 8.02ns 0.0245 0 0 1.86 KB
#3346 EnrichedLog net472 4.96μs 1.47ns 5.31ns 0.364 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.17μs 2.61ns 9.78ns 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.2μs 0.673ns 2.61ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 955ns 0.272ns 1.02ns 0.0109 0 0 808 B
master StartFinishScope net472 1.51μs 0.693ns 2.59ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.08μs 0.767ns 2.87ns 0.0124 0 0 928 B
#3346 StartFinishSpan net472 1.2μs 1.05ns 4.06ns 0.136 0 0 859 B
#3346 StartFinishSpan netcoreapp3.1 940ns 0.402ns 1.56ns 0.0108 0 0 808 B
#3346 StartFinishScope net472 1.48μs 0.326ns 1.13ns 0.149 0 0 939 B
#3346 StartFinishScope netcoreapp3.1 1.12μs 0.589ns 2.28ns 0.0128 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.47μs 1.06ns 4.09ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.14μs 0.383ns 1.49ns 0.0125 0 0 928 B
#3346 RunOnMethodBegin net472 1.53μs 0.65ns 2.52ns 0.149 0 0 939 B
#3346 RunOnMethodBegin netcoreapp3.1 1.17μs 0.366ns 1.42ns 0.0128 0 0 928 B

andrewlock avatar Oct 26 '22 15:10 andrewlock

Code Coverage Report :bar_chart:

:heavy_check_mark: Merging #3346 into master will will increase line coverage by 2% :heavy_check_mark: Merging #3346 into master will will increase branch coverage by 1% :no_entry: Merging #3346 into master will will increase complexity by 40

master #3346 Change
Lines 18769 / 27153 19385 / 27223
Lines % 69% 71% 2% :heavy_check_mark:
Branches 10933 / 16832 11129 / 16872
Branches % 65% 66% 1% :heavy_check_mark:
Complexity 18222 18262 40 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3346 Change
Lines % 69% 71% 2% :heavy_check_mark:
Branches % 65% 66% 1% :heavy_check_mark:
Complexity 18222 18262 40 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Ci.Processors.OriginTagTraceProcessor 0% :heavy_check_mark: 8% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Logging.DatadogLogging 2% :heavy_check_mark: 9% :heavy_check_mark: 6 :no_entry:
Datadog.Trace.Ci.GitInfo 5% :heavy_check_mark: 8% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Ci.Processors.TestSuiteVisibilityProcessor 6% :heavy_check_mark: 11% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Ci.CITracerManagerFactory 8% :heavy_check_mark: 17% :heavy_check_mark: 1 :no_entry:
Datadog.Trace.Ci.CIVisibility 13% :heavy_check_mark: 9% :heavy_check_mark: 12 :no_entry:
Datadog.Trace.Ci.Agent.MessagePack.CoveragePayloadMessagePackFormatter 17% :heavy_check_mark: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Ci.Agent.MessagePack.IEventMessagePackFormatter 36% :heavy_check_mark: 25% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Ci.Agent.CIWriterHttpSender 42% :heavy_check_mark: 29% :heavy_check_mark: 3 :no_entry:
Datadog.Trace.Ci.Agent.Payloads.MultipartPayload 50% :heavy_check_mark: 25% :heavy_check_mark: 0 :heavy_check_mark:
...And 15 more

The following classes were added in #3346:

File Line coverage Branch coverage Complexity
Datadog.Trace.Ci.Agent.ApmAgentWriter 50% 0% 10
Datadog.Trace.Ci.Agent.CIVisibilityProtocolWriter 72% 57% 59

2 classes were removed from Datadog.Trace in #3346

View the full reports for further details:

andrewlock avatar Oct 26 '22 16:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3346 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 801μs 529ns 2.05μs 0.401 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 529μs 262ns 1.02μs 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 795μs 305ns 1.14μs 0.396 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 555μs 302ns 1.17μ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 189ns 0.0791ns 0.296ns 0.0701 0 0 441 B
master AllCycleSimpleBody netcoreapp3.1 240ns 0.0785ns 0.283ns 0.00604 0 0 440 B
master AllCycleMoreComplexBody net472 180ns 0.0423ns 0.158ns 0.0662 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 240ns 0.056ns 0.21ns 0.00562 0 0 416 B
master BodyExtractorSimpleBody net472 285ns 0.223ns 0.834ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 234ns 0.0934ns 0.35ns 0.00376 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.9μs 12.8ns 47.8ns 1.21 0.016 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 3.3ns 12.8ns 0.0869 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 182ns 0.104ns 0.389ns 0.0701 9.22E-05 0 441 B
#3346 AllCycleSimpleBody netcoreapp3.1 241ns 0.219ns 0.849ns 0.00602 0 0 440 B
#3346 AllCycleMoreComplexBody net472 181ns 0.063ns 0.236ns 0.0662 0 0 417 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 238ns 0.159ns 0.614ns 0.00574 0 0 416 B
#3346 BodyExtractorSimpleBody net472 273ns 0.118ns 0.425ns 0.0574 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 243ns 0.123ns 0.459ns 0.00366 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 15.7μs 11.2ns 43.2ns 1.21 0.0156 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 5.78ns 20.9ns 0.0897 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 176μs 190ns 735ns 0.262 0 0 20.44 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 178μs 194ns 751ns 0.266 0 0 20.44 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.75μs 1.54ns 5.97ns 0.157 0.000865 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.41μs 0.254ns 0.951ns 0.0134 0 0 984 B
#3346 ExecuteNonQuery net472 1.8μs 0.792ns 2.96ns 0.158 0.000903 0 995 B
#3346 ExecuteNonQuery netcoreapp3.1 1.39μs 0.437ns 1.69ns 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.49μs 1.2ns 4.47ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.58μs 0.311ns 1.08ns 0.015 0 0 1.14 KB
master CallElasticsearchAsync net472 2.59μs 1ns 3.87ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.67μs 0.933ns 3.61ns 0.0167 0 0 1.26 KB
#3346 CallElasticsearch net472 2.43μs 0.429ns 1.61ns 0.191 0 0 1.2 KB
#3346 CallElasticsearch netcoreapp3.1 1.63μs 0.643ns 2.49ns 0.0152 0 0 1.14 KB
#3346 CallElasticsearchAsync net472 2.65μs 0.815ns 3.16ns 0.212 0 0 1.34 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.56μs 0.905ns 3.39ns 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.71μs 1.82ns 6.8ns 0.232 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.72μs 0.611ns 2.28ns 0.0189 0 0 1.39 KB
#3346 ExecuteAsync net472 2.73μs 1.31ns 4.89ns 0.232 0 0 1.47 KB
#3346 ExecuteAsync netcoreapp3.1 1.74μs 0.568ns 2.13ns 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.84μs 2.61ns 9.75ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.59μs 1.46ns 5.27ns 0.0361 0 0 2.65 KB
#3346 SendAsync net472 5.77μs 1.89ns 6.81ns 0.447 0 0 2.82 KB
#3346 SendAsync netcoreapp3.1 3.6μs 1.25ns 4.49ns 0.036 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 1.49ns 5.58ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.54μs 3.22ns 12.5ns 0.0252 0 0 1.91 KB
#3346 EnrichedLog net472 3.17μs 15.6ns 108ns 0.298 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.63μs 0.891ns 3.45ns 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 153μs 132ns 495ns 0.7 0.233 0 4.72 KB
master EnrichedLog netcoreapp3.1 120μs 108ns 404ns 0.0598 0 0 4.55 KB
#3346 EnrichedLog net472 151μs 141ns 547ns 0.749 0.225 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 121μs 162ns 627ns 0.06 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.69μs 2.61ns 10.1ns 0.578 0.00285 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.65μs 2.4ns 8.97ns 0.0534 0 0 3.98 KB
#3346 EnrichedLog net472 5.76μs 4.46ns 16.7ns 0.58 0.0029 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.56μs 1.7ns 6.38ns 0.0525 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 3.24ns 12.6ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.8μs 0.942ns 3.53ns 0.019 0 0 1.37 KB
#3346 SendReceive net472 2.22μs 2.12ns 7.65ns 0.225 0 0 1.42 KB
#3346 SendReceive netcoreapp3.1 1.78μs 0.816ns 3.16ns 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.17μs 3.54ns 13.7ns 0.362 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.08μs 2.07ns 8.02ns 0.0245 0 0 1.86 KB
#3346 EnrichedLog net472 4.97μs 1.74ns 6.72ns 0.363 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.23μs 2.76ns 10.3ns 0.0253 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.2μs 0.673ns 2.61ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 955ns 0.272ns 1.02ns 0.0109 0 0 808 B
master StartFinishScope net472 1.51μs 0.693ns 2.59ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.08μs 0.767ns 2.87ns 0.0124 0 0 928 B
#3346 StartFinishSpan net472 1.2μs 0.58ns 2.25ns 0.136 0 0 859 B
#3346 StartFinishSpan netcoreapp3.1 939ns 0.231ns 0.865ns 0.0107 0 0 808 B
#3346 StartFinishScope net472 1.38μs 0.711ns 2.66ns 0.149 0 0 939 B
#3346 StartFinishScope netcoreapp3.1 1.11μs 0.227ns 0.851ns 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.47μs 1.06ns 4.09ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.14μs 0.383ns 1.49ns 0.0125 0 0 928 B
#3346 RunOnMethodBegin net472 1.42μs 1.22ns 4.72ns 0.149 0 0 939 B
#3346 RunOnMethodBegin netcoreapp3.1 1.16μs 0.624ns 2.42ns 0.0122 0 0 928 B

andrewlock avatar Oct 26 '22 21:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3346 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 801μs 529ns 2.05μs 0.401 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 529μs 262ns 1.02μs 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 797μs 437ns 1.69μs 0.396 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 568μs 117ns 438ns 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 189ns 0.0791ns 0.296ns 0.0701 0 0 441 B
master AllCycleSimpleBody netcoreapp3.1 240ns 0.0785ns 0.283ns 0.00604 0 0 440 B
master AllCycleMoreComplexBody net472 180ns 0.0423ns 0.158ns 0.0662 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 240ns 0.056ns 0.21ns 0.00562 0 0 416 B
master BodyExtractorSimpleBody net472 285ns 0.223ns 0.834ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 234ns 0.0934ns 0.35ns 0.00376 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.9μs 12.8ns 47.8ns 1.21 0.016 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 3.3ns 12.8ns 0.0869 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 185ns 0.0717ns 0.268ns 0.0701 9.19E-05 0 441 B
#3346 AllCycleSimpleBody netcoreapp3.1 241ns 0.214ns 0.828ns 0.00602 0 0 440 B
#3346 AllCycleMoreComplexBody net472 181ns 0.155ns 0.6ns 0.0663 0 0 417 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 237ns 0.168ns 0.63ns 0.00576 0 0 416 B
#3346 BodyExtractorSimpleBody net472 280ns 0.26ns 0.901ns 0.0573 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 243ns 0.0761ns 0.264ns 0.0038 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 16.1μs 8.04ns 29ns 1.21 0.016 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 7.71ns 27.8ns 0.0889 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 176μs 190ns 735ns 0.262 0 0 20.44 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 175μs 164ns 634ns 0.263 0 0 20.44 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.75μs 1.54ns 5.97ns 0.157 0.000865 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.41μs 0.254ns 0.951ns 0.0134 0 0 984 B
#3346 ExecuteNonQuery net472 1.79μs 0.615ns 2.3ns 0.157 0.000894 0 995 B
#3346 ExecuteNonQuery netcoreapp3.1 1.41μs 0.455ns 1.7ns 0.0134 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.49μs 1.2ns 4.47ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.58μs 0.311ns 1.08ns 0.015 0 0 1.14 KB
master CallElasticsearchAsync net472 2.59μs 1ns 3.87ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.67μs 0.933ns 3.61ns 0.0167 0 0 1.26 KB
#3346 CallElasticsearch net472 2.54μs 0.744ns 2.78ns 0.191 0 0 1.2 KB
#3346 CallElasticsearch netcoreapp3.1 1.52μs 0.591ns 2.29ns 0.0152 0 0 1.14 KB
#3346 CallElasticsearchAsync net472 2.65μs 0.877ns 3.04ns 0.212 0 0 1.34 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.6μs 0.459ns 1.72ns 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.71μs 1.82ns 6.8ns 0.232 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.72μs 0.611ns 2.28ns 0.0189 0 0 1.39 KB
#3346 ExecuteAsync net472 2.68μs 1.15ns 4.31ns 0.233 0 0 1.47 KB
#3346 ExecuteAsync netcoreapp3.1 1.71μs 0.765ns 2.86ns 0.0187 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.84μs 2.61ns 9.75ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.59μs 1.46ns 5.27ns 0.0361 0 0 2.65 KB
#3346 SendAsync net472 5.87μs 2.92ns 11.3ns 0.446 0 0 2.82 KB
#3346 SendAsync netcoreapp3.1 3.61μs 0.999ns 3.6ns 0.0359 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 1.49ns 5.58ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.54μs 3.22ns 12.5ns 0.0252 0 0 1.91 KB
#3346 EnrichedLog net472 3.12μs 3.46ns 13.4ns 0.297 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.49μs 2.5ns 9.69ns 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 153μs 132ns 495ns 0.7 0.233 0 4.72 KB
master EnrichedLog netcoreapp3.1 120μs 108ns 404ns 0.0598 0 0 4.55 KB
#3346 EnrichedLog net472 150μs 158ns 613ns 0.749 0.225 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 120μs 161ns 601ns 0.06 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.69μs 2.61ns 10.1ns 0.578 0.00285 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.65μs 2.4ns 8.97ns 0.0534 0 0 3.98 KB
#3346 EnrichedLog net472 5.78μs 1.89ns 7.08ns 0.578 0.00287 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.5μs 0.97ns 3.63ns 0.0517 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 3.24ns 12.6ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.8μs 0.942ns 3.53ns 0.019 0 0 1.37 KB
#3346 SendReceive net472 2.31μs 1.3ns 4.7ns 0.225 0 0 1.42 KB
#3346 SendReceive netcoreapp3.1 1.84μs 1.43ns 5.56ns 0.0183 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.17μs 3.54ns 13.7ns 0.362 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.08μs 2.07ns 8.02ns 0.0245 0 0 1.86 KB
#3346 EnrichedLog net472 5.05μs 1.9ns 7.37ns 0.363 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.31μs 1.73ns 6.49ns 0.0237 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.2μs 0.673ns 2.61ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 955ns 0.272ns 1.02ns 0.0109 0 0 808 B
master StartFinishScope net472 1.51μs 0.693ns 2.59ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.08μs 0.767ns 2.87ns 0.0124 0 0 928 B
#3346 StartFinishSpan net472 1.16μs 0.452ns 1.75ns 0.136 0 0 859 B
#3346 StartFinishSpan netcoreapp3.1 948ns 0.381ns 1.48ns 0.0108 0 0 808 B
#3346 StartFinishScope net472 1.44μs 0.44ns 1.65ns 0.149 0 0 939 B
#3346 StartFinishScope netcoreapp3.1 1.13μs 0.421ns 1.57ns 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.47μs 1.06ns 4.09ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.14μs 0.383ns 1.49ns 0.0125 0 0 928 B
#3346 RunOnMethodBegin net472 1.5μs 1.54ns 5.96ns 0.149 0 0 939 B
#3346 RunOnMethodBegin netcoreapp3.1 1.12μs 0.394ns 1.48ns 0.0124 0 0 928 B

andrewlock avatar Oct 26 '22 22:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3346 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.120
  • 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 573ns 2.07μs 0.403 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 526μs 235ns 880ns 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 788μs 399ns 1.49μs 0.401 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 549μs 200ns 774ns 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 183ns 0.0521ns 0.188ns 0.0701 9.17E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 244ns 0.184ns 0.712ns 0.00595 0 0 440 B
master AllCycleMoreComplexBody net472 181ns 0.0334ns 0.12ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 240ns 0.12ns 0.466ns 0.00574 0 0 416 B
master BodyExtractorSimpleBody net472 279ns 0.339ns 1.27ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 260ns 0.142ns 0.533ns 0.00364 0 0 272 B
master BodyExtractorMoreComplexBody net472 16.3μs 14.3ns 53.5ns 1.21 0.0161 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 6.5ns 24.3ns 0.0899 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 184ns 0.0498ns 0.18ns 0.0701 9.32E-05 0 441 B
#3346 AllCycleSimpleBody netcoreapp3.1 241ns 0.284ns 1.1ns 0.006 0 0 440 B
#3346 AllCycleMoreComplexBody net472 181ns 0.0203ns 0.0759ns 0.0663 0 0 417 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 237ns 0.136ns 0.472ns 0.0056 0 0 416 B
#3346 BodyExtractorSimpleBody net472 303ns 0.354ns 1.33ns 0.0573 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 266ns 0.291ns 1.13ns 0.00363 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 16.6μs 19.9ns 77.2ns 1.21 0.0165 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 5.87ns 22.7ns 0.0888 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 175μs 186ns 722ns 0.262 0 0 20.44 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 175μs 176ns 680ns 0.261 0 0 20.44 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.658ns 2.55ns 0.158 0.000901 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.46μs 0.465ns 1.8ns 0.0132 0 0 984 B
#3346 ExecuteNonQuery net472 1.72μs 0.41ns 1.48ns 0.158 0.000859 0 995 B
#3346 ExecuteNonQuery netcoreapp3.1 1.41μs 0.816ns 3.16ns 0.0134 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.57μs 1.08ns 4.17ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.91ns 3.52ns 0.0153 0 0 1.14 KB
master CallElasticsearchAsync net472 2.58μs 1.6ns 5.98ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.59μs 0.992ns 3.84ns 0.0174 0 0 1.26 KB
#3346 CallElasticsearch net472 2.48μs 2.52ns 9.76ns 0.19 0 0 1.2 KB
#3346 CallElasticsearch netcoreapp3.1 1.51μs 0.881ns 3.41ns 0.0158 0 0 1.14 KB
#3346 CallElasticsearchAsync net472 2.63μs 1.32ns 5.11ns 0.212 0 0 1.34 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.62μs 0.519ns 1.87ns 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.67μs 2.45ns 9.47ns 0.232 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.415ns 1.55ns 0.0191 0 0 1.39 KB
#3346 ExecuteAsync net472 2.71μs 2.29ns 8.58ns 0.233 0 0 1.47 KB
#3346 ExecuteAsync netcoreapp3.1 1.79μs 0.791ns 2.85ns 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.83μs 1.86ns 6.96ns 0.445 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.75μs 2.07ns 7.75ns 0.0355 0 0 2.65 KB
#3346 SendAsync net472 5.8μs 1.72ns 6.68ns 0.447 0 0 2.82 KB
#3346 SendAsync netcoreapp3.1 3.66μs 0.784ns 2.93ns 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.16μs 2.42ns 9.07ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.46μs 1.2ns 4.64ns 0.0258 0 0 1.91 KB
#3346 EnrichedLog net472 3.1μs 3.4ns 13.2ns 0.297 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.51μs 3.21ns 12ns 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 187ns 723ns 0.675 0.225 0 4.72 KB
master EnrichedLog netcoreapp3.1 120μs 308ns 1.19μs 0 0 0 4.55 KB
#3346 EnrichedLog net472 150μs 183ns 685ns 0.675 0.225 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 121μs 245ns 949ns 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.68μs 1.94ns 6.98ns 0.58 0.00284 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.6μs 2.32ns 8.69ns 0.0553 0 0 3.98 KB
#3346 EnrichedLog net472 5.71μs 3.64ns 14.1ns 0.58 0.00286 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.49μs 1.52ns 5.68ns 0.0536 0 0 3.98 KB
Benchmarks.Trace.RedisBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3346

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.120 1,889.82 1,687.64

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.18μs 2.25ns 8.43ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.89μs 0.955ns 3.57ns 0.0188 0 0 1.37 KB
#3346 SendReceive net472 2.3μs 2.23ns 8.63ns 0.226 0 0 1.42 KB
#3346 SendReceive netcoreapp3.1 1.69μs 0.709ns 2.74ns 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.03μs 2.63ns 10.2ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.09μs 3.74ns 14.5ns 0.0243 0 0 1.86 KB
#3346 EnrichedLog net472 5.01μs 1.52ns 5.89ns 0.363 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.35μs 2.54ns 9.51ns 0.0241 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.22μs 0.373ns 1.4ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 952ns 0.35ns 1.31ns 0.0109 0 0 808 B
master StartFinishScope net472 1.47μs 0.422ns 1.63ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.1μs 0.4ns 1.55ns 0.0125 0 0 928 B
#3346 StartFinishSpan net472 1.17μs 0.406ns 1.52ns 0.136 0 0 859 B
#3346 StartFinishSpan netcoreapp3.1 936ns 1.9ns 7.36ns 0.0111 0 0 808 B
#3346 StartFinishScope net472 1.46μs 0.951ns 3.56ns 0.149 0 0 939 B
#3346 StartFinishScope netcoreapp3.1 1.12μs 0.302ns 1.09ns 0.013 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.37μs 0.583ns 2.1ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.22μs 0.325ns 1.22ns 0.0122 0 0 928 B
#3346 RunOnMethodBegin net472 1.48μs 0.654ns 2.53ns 0.149 0 0 939 B
#3346 RunOnMethodBegin netcoreapp3.1 1.2μs 0.431ns 1.55ns 0.0126 0 0 928 B

andrewlock avatar Nov 02 '22 19:11 andrewlock

Benchmarks Report :snail:

Benchmarks for #3346 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.121
  • 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 573ns 2.07μs 0.403 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 526μs 235ns 880ns 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 789μs 898ns 3.48μs 0.396 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 528μs 228ns 854ns 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 183ns 0.0521ns 0.188ns 0.0701 9.17E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 244ns 0.184ns 0.712ns 0.00595 0 0 440 B
master AllCycleMoreComplexBody net472 181ns 0.0334ns 0.12ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 240ns 0.12ns 0.466ns 0.00574 0 0 416 B
master BodyExtractorSimpleBody net472 279ns 0.339ns 1.27ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 260ns 0.142ns 0.533ns 0.00364 0 0 272 B
master BodyExtractorMoreComplexBody net472 16.3μs 14.3ns 53.5ns 1.21 0.0161 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 6.5ns 24.3ns 0.0899 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 184ns 0.0998ns 0.373ns 0.0701 9.31E-05 0 441 B
#3346 AllCycleSimpleBody netcoreapp3.1 244ns 0.248ns 0.929ns 0.00601 0 0 440 B
#3346 AllCycleMoreComplexBody net472 181ns 0.0422ns 0.158ns 0.0663 0 0 417 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 238ns 0.168ns 0.649ns 0.00568 0 0 416 B
#3346 BodyExtractorSimpleBody net472 300ns 0.224ns 0.868ns 0.0574 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 236ns 0.112ns 0.434ns 0.00367 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 15.7μs 15.1ns 58.5ns 1.2 0.0157 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 9.04ns 35ns 0.0904 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 175μs 186ns 722ns 0.262 0 0 20.44 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 177μs 227ns 878ns 0.264 0 0 20.44 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.658ns 2.55ns 0.158 0.000901 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.46μs 0.465ns 1.8ns 0.0132 0 0 984 B
#3346 ExecuteNonQuery net472 1.8μs 0.755ns 2.82ns 0.158 0.000897 0 995 B
#3346 ExecuteNonQuery netcoreapp3.1 1.38μs 0.468ns 1.75ns 0.0131 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.57μs 1.08ns 4.17ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.91ns 3.52ns 0.0153 0 0 1.14 KB
master CallElasticsearchAsync net472 2.58μs 1.6ns 5.98ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.59μs 0.992ns 3.84ns 0.0174 0 0 1.26 KB
#3346 CallElasticsearch net472 2.56μs 0.956ns 3.7ns 0.19 0 0 1.2 KB
#3346 CallElasticsearch netcoreapp3.1 1.51μs 0.83ns 3.11ns 0.0158 0 0 1.14 KB
#3346 CallElasticsearchAsync net472 2.59μs 1.38ns 5.35ns 0.212 0 0 1.34 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.56μs 0.287ns 0.994ns 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.67μs 2.45ns 9.47ns 0.232 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.415ns 1.55ns 0.0191 0 0 1.39 KB
#3346 ExecuteAsync net472 2.64μs 1.02ns 3.96ns 0.232 0 0 1.47 KB
#3346 ExecuteAsync netcoreapp3.1 1.7μs 0.6ns 2.32ns 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.83μs 1.86ns 6.96ns 0.445 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.75μs 2.07ns 7.75ns 0.0355 0 0 2.65 KB
#3346 SendAsync net472 5.79μs 2.3ns 8.59ns 0.446 0 0 2.82 KB
#3346 SendAsync netcoreapp3.1 3.64μs 1.66ns 6.43ns 0.0344 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.16μs 2.42ns 9.07ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.46μs 1.2ns 4.64ns 0.0258 0 0 1.91 KB
#3346 EnrichedLog net472 3.13μs 2.38ns 8.89ns 0.298 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.47μs 1.32ns 5.12ns 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 187ns 723ns 0.675 0.225 0 4.72 KB
master EnrichedLog netcoreapp3.1 120μs 308ns 1.19μs 0 0 0 4.55 KB
#3346 EnrichedLog net472 150μs 115ns 429ns 0.677 0.226 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 120μs 115ns 431ns 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.68μs 1.94ns 6.98ns 0.58 0.00284 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.6μs 2.32ns 8.69ns 0.0553 0 0 3.98 KB
#3346 EnrichedLog net472 5.73μs 2.14ns 8.02ns 0.579 0.00288 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.47μs 2.7ns 10.5ns 0.0534 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.18μs 2.25ns 8.43ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.89μs 0.955ns 3.57ns 0.0188 0 0 1.37 KB
#3346 SendReceive net472 2.18μs 3.36ns 13ns 0.225 0 0 1.42 KB
#3346 SendReceive netcoreapp3.1 1.75μs 1.04ns 3.9ns 0.0185 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.03μs 2.63ns 10.2ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.09μs 3.74ns 14.5ns 0.0243 0 0 1.86 KB
#3346 EnrichedLog net472 5.11μs 2.54ns 9.52ns 0.363 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.2μs 2.17ns 8.41ns 0.0253 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.22μs 0.373ns 1.4ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 952ns 0.35ns 1.31ns 0.0109 0 0 808 B
master StartFinishScope net472 1.47μs 0.422ns 1.63ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.1μs 0.4ns 1.55ns 0.0125 0 0 928 B
#3346 StartFinishSpan net472 1.22μs 0.41ns 1.54ns 0.136 0 0 859 B
#3346 StartFinishSpan netcoreapp3.1 951ns 0.334ns 1.25ns 0.011 0 0 808 B
#3346 StartFinishScope net472 1.39μs 0.705ns 2.73ns 0.149 0 0 939 B
#3346 StartFinishScope netcoreapp3.1 1.1μs 0.459ns 1.72ns 0.0127 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3346

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.121 1,371.66 1,537.09

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.37μs 0.583ns 2.1ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.22μs 0.325ns 1.22ns 0.0122 0 0 928 B
#3346 RunOnMethodBegin net472 1.54μs 0.744ns 2.88ns 0.149 0 0 939 B
#3346 RunOnMethodBegin netcoreapp3.1 1.18μs 0.393ns 1.47ns 0.0124 0 0 928 B

andrewlock avatar Nov 02 '22 22:11 andrewlock

Benchmarks Report :snail:

Benchmarks for #3346 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.157
  • 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 573ns 2.07μs 0.403 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 526μs 235ns 880ns 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 802μs 637ns 2.47μs 0.396 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 548μs 264ns 989ns 0 0 0 2.63 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3346

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.BodyExtractorSimpleBody‑net472 1.157 278.65 322.42

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 183ns 0.0521ns 0.188ns 0.0701 9.17E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 244ns 0.184ns 0.712ns 0.00595 0 0 440 B
master AllCycleMoreComplexBody net472 181ns 0.0334ns 0.12ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 240ns 0.12ns 0.466ns 0.00574 0 0 416 B
master BodyExtractorSimpleBody net472 279ns 0.339ns 1.27ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 260ns 0.142ns 0.533ns 0.00364 0 0 272 B
master BodyExtractorMoreComplexBody net472 16.3μs 14.3ns 53.5ns 1.21 0.0161 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 6.5ns 24.3ns 0.0899 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 184ns 0.11ns 0.395ns 0.07 9.23E-05 0 441 B
#3346 AllCycleSimpleBody netcoreapp3.1 242ns 0.333ns 1.29ns 0.00603 0 0 440 B
#3346 AllCycleMoreComplexBody net472 181ns 0.0515ns 0.2ns 0.0663 0 0 417 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 238ns 0.106ns 0.397ns 0.00565 0 0 416 B
#3346 BodyExtractorSimpleBody net472 323ns 0.428ns 1.6ns 0.0573 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 234ns 0.0976ns 0.352ns 0.00369 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 15.5μs 14.9ns 55.6ns 1.2 0.0155 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 4.69ns 18.2ns 0.0893 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 175μs 186ns 722ns 0.262 0 0 20.44 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 176μs 226ns 875ns 0.264 0 0 20.44 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.658ns 2.55ns 0.158 0.000901 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.46μs 0.465ns 1.8ns 0.0132 0 0 984 B
#3346 ExecuteNonQuery net472 1.84μs 0.668ns 2.31ns 0.158 0.000919 0 995 B
#3346 ExecuteNonQuery netcoreapp3.1 1.36μs 0.472ns 1.77ns 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.57μs 1.08ns 4.17ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.91ns 3.52ns 0.0153 0 0 1.14 KB
master CallElasticsearchAsync net472 2.58μs 1.6ns 5.98ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.59μs 0.992ns 3.84ns 0.0174 0 0 1.26 KB
#3346 CallElasticsearch net472 2.56μs 0.86ns 3.33ns 0.191 0 0 1.2 KB
#3346 CallElasticsearch netcoreapp3.1 1.54μs 0.293ns 1.06ns 0.0154 0 0 1.14 KB
#3346 CallElasticsearchAsync net472 2.66μs 1.62ns 6.27ns 0.212 0 0 1.34 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.62μs 0.652ns 2.44ns 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.67μs 2.45ns 9.47ns 0.232 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.415ns 1.55ns 0.0191 0 0 1.39 KB
#3346 ExecuteAsync net472 2.61μs 1.54ns 5.76ns 0.233 0 0 1.47 KB
#3346 ExecuteAsync netcoreapp3.1 1.73μs 0.859ns 3.21ns 0.0182 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.83μs 1.86ns 6.96ns 0.445 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.75μs 2.07ns 7.75ns 0.0355 0 0 2.65 KB
#3346 SendAsync net472 5.94μs 1.42ns 5.31ns 0.446 0 0 2.82 KB
#3346 SendAsync netcoreapp3.1 3.62μs 1.46ns 5.64ns 0.0362 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.16μs 2.42ns 9.07ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.46μs 1.2ns 4.64ns 0.0258 0 0 1.91 KB
#3346 EnrichedLog net472 3.06μs 3.12ns 11.7ns 0.297 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.51μs 0.897ns 3.47ns 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 187ns 723ns 0.675 0.225 0 4.72 KB
master EnrichedLog netcoreapp3.1 120μs 308ns 1.19μs 0 0 0 4.55 KB
#3346 EnrichedLog net472 151μs 128ns 495ns 0.678 0.226 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 121μs 190ns 710ns 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.68μs 1.94ns 6.98ns 0.58 0.00284 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.6μs 2.32ns 8.69ns 0.0553 0 0 3.98 KB
#3346 EnrichedLog net472 5.75μs 2.61ns 10.1ns 0.578 0.00287 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.36μs 1.15ns 4.3ns 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.18μs 2.25ns 8.43ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.89μs 0.955ns 3.57ns 0.0188 0 0 1.37 KB
#3346 SendReceive net472 2.25μs 2.03ns 7.87ns 0.225 0 0 1.42 KB
#3346 SendReceive netcoreapp3.1 1.78μs 0.852ns 3.19ns 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.03μs 2.63ns 10.2ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.09μs 3.74ns 14.5ns 0.0243 0 0 1.86 KB
#3346 EnrichedLog net472 5.01μs 1.85ns 7.18ns 0.363 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.14μs 1.52ns 5.68ns 0.0254 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.22μs 0.373ns 1.4ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 952ns 0.35ns 1.31ns 0.0109 0 0 808 B
master StartFinishScope net472 1.47μs 0.422ns 1.63ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.1μs 0.4ns 1.55ns 0.0125 0 0 928 B
#3346 StartFinishSpan net472 1.15μs 0.268ns 0.968ns 0.136 0 0 859 B
#3346 StartFinishSpan netcoreapp3.1 928ns 0.343ns 1.29ns 0.0107 0 0 808 B
#3346 StartFinishScope net472 1.41μs 0.723ns 2.7ns 0.149 0 0 939 B
#3346 StartFinishScope netcoreapp3.1 1.1μs 0.237ns 0.855ns 0.0126 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.37μs 0.583ns 2.1ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.22μs 0.325ns 1.22ns 0.0122 0 0 928 B
#3346 RunOnMethodBegin net472 1.47μs 0.622ns 2.41ns 0.149 0 0 939 B
#3346 RunOnMethodBegin netcoreapp3.1 1.17μs 2.69ns 10.4ns 0.0122 0 0 928 B

andrewlock avatar Nov 02 '22 22:11 andrewlock

Benchmarks Report :snail:

Benchmarks for #3346 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.116
  • 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 798μs 780ns 2.92μs 0.398 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 539μs 466ns 1.81μs 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 797μs 680ns 2.63μs 0.398 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 534μs 165ns 596ns 0 0 0 2.62 KB
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3346

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.BodyExtractorSimpleBody‑net472 1.116 306.56 274.81

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 182ns 0.0812ns 0.304ns 0.0701 9.1E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 257ns 0.153ns 0.571ns 0.00595 0 0 440 B
master AllCycleMoreComplexBody net472 180ns 0.0508ns 0.197ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 239ns 0.188ns 0.729ns 0.00563 0 0 416 B
master BodyExtractorSimpleBody net472 307ns 0.333ns 1.29ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 239ns 0.114ns 0.441ns 0.00361 0 0 272 B
master BodyExtractorMoreComplexBody net472 16μs 4.13ns 14.9ns 1.21 0.016 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 5.92ns 22.2ns 0.0893 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 182ns 0.124ns 0.464ns 0.0701 9.19E-05 0 441 B
#3346 AllCycleSimpleBody netcoreapp3.1 242ns 0.133ns 0.515ns 0.00601 0 0 440 B
#3346 AllCycleMoreComplexBody net472 181ns 0.0706ns 0.264ns 0.0663 0 0 417 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 239ns 0.269ns 1.04ns 0.00563 0 0 416 B
#3346 BodyExtractorSimpleBody net472 275ns 0.195ns 0.755ns 0.0573 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 237ns 0.0869ns 0.313ns 0.00371 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 16.6μs 15.2ns 59ns 1.2 0.0165 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 3.9ns 15.1ns 0.089 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 176μs 242ns 939ns 0.262 0 0 20.44 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 176μs 232ns 899ns 0.262 0 0 20.44 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.27ns 4.91ns 0.158 0.000918 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.36μs 0.701ns 2.72ns 0.0135 0 0 984 B
#3346 ExecuteNonQuery net472 1.75μs 0.561ns 2.17ns 0.158 0.000864 0 995 B
#3346 ExecuteNonQuery netcoreapp3.1 1.45μs 0.544ns 2.11ns 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.43μs 0.868ns 3.36ns 0.19 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.481ns 1.73ns 0.0152 0 0 1.14 KB
master CallElasticsearchAsync net472 2.6μs 1.51ns 5.83ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.58μs 0.621ns 2.4ns 0.0174 0 0 1.26 KB
#3346 CallElasticsearch net472 2.61μs 0.655ns 2.45ns 0.191 0 0 1.2 KB
#3346 CallElasticsearch netcoreapp3.1 1.51μs 1.47ns 5.3ns 0.0151 0 0 1.14 KB
#3346 CallElasticsearchAsync net472 2.62μs 0.739ns 2.76ns 0.213 0 0 1.34 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.61μs 0.506ns 1.83ns 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.78μs 1.27ns 4.74ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.72μs 0.56ns 2.1ns 0.0189 0 0 1.39 KB
#3346 ExecuteAsync net472 2.86μs 1.19ns 4.45ns 0.233 0 0 1.47 KB
#3346 ExecuteAsync netcoreapp3.1 1.72μs 0.58ns 2.17ns 0.0189 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.83μs 3.39ns 13.1ns 0.445 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.59μs 4.19ns 15.1ns 0.0357 0 0 2.65 KB
#3346 SendAsync net472 5.98μs 5.45ns 20.4ns 0.445 0 0 2.82 KB
#3346 SendAsync netcoreapp3.1 3.63μs 1.6ns 6ns 0.0365 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.12μs 1.69ns 6.1ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.48μs 1.16ns 4.36ns 0.0259 0 0 1.91 KB
#3346 EnrichedLog net472 3.18μs 1.8ns 6.99ns 0.298 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.48μs 1.21ns 4.38ns 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 152μs 206ns 799ns 0.683 0.228 0 4.72 KB
master EnrichedLog netcoreapp3.1 119μs 159ns 615ns 0 0 0 4.55 KB
#3346 EnrichedLog net472 151μs 66.9ns 241ns 0.678 0.226 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 122μs 264ns 1.02μ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.65μs 1.66ns 6.45ns 0.579 0.00281 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.37μs 1.69ns 6.32ns 0.0547 0 0 3.98 KB
#3346 EnrichedLog net472 5.68μs 1.85ns 6.68ns 0.578 0.00283 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.39μs 1.77ns 6.63ns 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.18μs 1.05ns 4.06ns 0.226 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.75μs 0.575ns 2.07ns 0.0184 0 0 1.37 KB
#3346 SendReceive net472 2.34μs 3.46ns 13.4ns 0.225 0 0 1.42 KB
#3346 SendReceive netcoreapp3.1 1.77μs 1.23ns 4.61ns 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.02μs 2.3ns 8.6ns 0.364 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.13μs 2.38ns 9.24ns 0.0248 0 0 1.86 KB
#3346 EnrichedLog net472 5.03μs 2.47ns 9.56ns 0.365 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.28μs 3.21ns 12ns 0.0235 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.217ns 0.814ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 906ns 0.402ns 1.5ns 0.0108 0 0 808 B
master StartFinishScope net472 1.4μs 0.57ns 2.21ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.09μs 0.381ns 1.42ns 0.0126 0 0 928 B
#3346 StartFinishSpan net472 1.22μs 0.477ns 1.79ns 0.136 0 0 859 B
#3346 StartFinishSpan netcoreapp3.1 982ns 0.433ns 1.62ns 0.0108 0 0 808 B
#3346 StartFinishScope net472 1.36μs 0.369ns 1.38ns 0.149 0 0 939 B
#3346 StartFinishScope netcoreapp3.1 1.1μs 0.538ns 2.08ns 0.0126 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.52μs 0.378ns 1.46ns 0.148 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.09μs 0.379ns 1.37ns 0.0125 0 0 928 B
#3346 RunOnMethodBegin net472 1.48μs 0.48ns 1.8ns 0.149 0 0 939 B
#3346 RunOnMethodBegin netcoreapp3.1 1.19μs 0.294ns 1.14ns 0.0124 0 0 928 B

andrewlock avatar Nov 03 '22 16:11 andrewlock

Datadog Report

Branch report: maximo/delete-old-log-files Commit report: 94c84b5

:white_check_mark: dd-trace-dotnet 0 Failed, 0 New Flaky, 231856 Passed, 1285 Skipped, 19m 39.23s Wall Time

datadog-ddstaging[bot] avatar Nov 03 '22 16:11 datadog-ddstaging[bot]

Benchmarks Report :snail:

Benchmarks for #3346 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.230
  • 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 806μs 719ns 2.78μs 0.403 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 532μs 199ns 744ns 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 804μs 1.05μs 4.08μs 0.403 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 548μs 443ns 1.66μs 0 0 0 2.63 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3346

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleMoreComplexBody‑netcoreapp3.1 1.230 238.03 292.86

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 183ns 0.0933ns 0.361ns 0.0701 9.15E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 243ns 0.231ns 0.833ns 0.00596 0 0 440 B
master AllCycleMoreComplexBody net472 180ns 0.0305ns 0.106ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 238ns 0.0652ns 0.235ns 0.00562 0 0 416 B
master BodyExtractorSimpleBody net472 287ns 0.418ns 1.56ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 236ns 0.0929ns 0.335ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 16.1μs 13.5ns 52.1ns 1.21 0.016 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13.6μs 4.16ns 16.1ns 0.0884 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 194ns 0.12ns 0.449ns 0.0701 9.66E-05 0 441 B
#3346 AllCycleSimpleBody netcoreapp3.1 239ns 0.287ns 1.11ns 0.00601 0 0 440 B
#3346 AllCycleMoreComplexBody net472 184ns 0.0821ns 0.307ns 0.0662 0 0 417 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 287ns 1.69ns 16.3ns 0.00572 0 0 416 B
#3346 BodyExtractorSimpleBody net472 284ns 0.214ns 0.802ns 0.0574 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 240ns 0.455ns 1.76ns 0.00372 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 15.7μs 13.2ns 51.1ns 1.21 0.0158 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 7.64ns 28.6ns 0.0935 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.00526ns 0.00261ns 0.0101ns 0 0 0 0 b
master SendRequest netcoreapp3.1 176μs 173ns 648ns 0.263 0 0 20.44 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 176μs 161ns 602ns 0.263 0 0 20.44 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.78μs 0.502ns 1.81ns 0.158 0.000892 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.47μs 0.311ns 1.12ns 0.0131 0 0 984 B
#3346 ExecuteNonQuery net472 1.85μs 0.365ns 1.36ns 0.158 0.000928 0 995 B
#3346 ExecuteNonQuery netcoreapp3.1 1.46μs 0.372ns 1.39ns 0.0131 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.49μs 1.01ns 3.91ns 0.19 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.48μs 0.77ns 2.98ns 0.0156 0 0 1.14 KB
master CallElasticsearchAsync net472 2.7μs 2.68ns 10.4ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.6μs 0.366ns 1.37ns 0.0176 0 0 1.26 KB
#3346 CallElasticsearch net472 2.54μs 0.807ns 3.12ns 0.191 0 0 1.2 KB
#3346 CallElasticsearch netcoreapp3.1 1.48μs 0.341ns 1.28ns 0.0155 0 0 1.14 KB
#3346 CallElasticsearchAsync net472 2.62μs 2.51ns 9.38ns 0.212 0 0 1.34 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.61μs 0.555ns 2.08ns 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.7μs 1.23ns 4.6ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.768ns 2.98ns 0.0192 0 0 1.39 KB
#3346 ExecuteAsync net472 2.71μs 1.23ns 4.75ns 0.233 0 0 1.47 KB
#3346 ExecuteAsync netcoreapp3.1 1.74μs 0.611ns 2.29ns 0.0183 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.93μs 3.25ns 12.2ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.64μs 15.1ns 58.5ns 0.0357 0 0 2.65 KB
#3346 SendAsync net472 5.82μs 2.57ns 9.96ns 0.446 0 0 2.82 KB
#3346 SendAsync netcoreapp3.1 3.6μs 2.15ns 8.06ns 0.0359 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.12μs 3.35ns 12.5ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.43μs 1.41ns 5.29ns 0.0255 0 0 1.91 KB
#3346 EnrichedLog net472 3.02μs 2.32ns 8.37ns 0.298 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.53μs 0.637ns 2.38ns 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 150μs 251ns 973ns 0.675 0.225 0 4.72 KB
master EnrichedLog netcoreapp3.1 121μs 210ns 813ns 0 0 0 4.55 KB
#3346 EnrichedLog net472 150μs 100ns 374ns 0.749 0.225 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 120μs 109ns 423ns 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.64μs 2.85ns 10.7ns 0.579 0.00282 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.46μs 2.08ns 8.04ns 0.0534 0 0 3.98 KB
#3346 EnrichedLog net472 5.81μs 2.21ns 8.25ns 0.578 0.00291 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.5μs 2.3ns 8.6ns 0.0539 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 3.69ns 14.3ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.79μs 1.09ns 4.08ns 0.0188 0 0 1.37 KB
#3346 SendReceive net472 2.25μs 1.25ns 4.31ns 0.226 0 0 1.42 KB
#3346 SendReceive netcoreapp3.1 1.74μs 0.578ns 2.16ns 0.0183 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.11μs 1.52ns 5.67ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.11μs 5.98ns 22.4ns 0.0249 0 0 1.86 KB
#3346 EnrichedLog net472 4.95μs 1.87ns 6.98ns 0.363 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.18μs 0.727ns 2.52ns 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.17μs 0.771ns 2.89ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 1.01μs 0.766ns 2.97ns 0.0111 0 0 808 B
master StartFinishScope net472 1.35μs 0.768ns 2.97ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.14μs 0.712ns 2.76ns 0.0125 0 0 928 B
#3346 StartFinishSpan net472 1.12μs 0.359ns 1.39ns 0.136 0 0 859 B
#3346 StartFinishSpan netcoreapp3.1 986ns 0.466ns 1.74ns 0.0108 0 0 808 B
#3346 StartFinishScope net472 1.46μs 0.391ns 1.41ns 0.149 0 0 939 B
#3346 StartFinishScope netcoreapp3.1 1.09μs 0.382ns 1.38ns 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.4μs 0.337ns 1.21ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.11μs 0.376ns 1.36ns 0.0123 0 0 928 B
#3346 RunOnMethodBegin net472 1.41μs 0.738ns 2.86ns 0.149 0 0 939 B
#3346 RunOnMethodBegin netcoreapp3.1 1.18μs 0.669ns 2.41ns 0.0124 0 0 928 B

andrewlock avatar Nov 03 '22 22:11 andrewlock

Benchmarks Report :snail:

Benchmarks for #3346 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.115
  • 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 806μs 719ns 2.78μs 0.403 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 532μs 199ns 744ns 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 804μs 746ns 2.89μs 0.393 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 557μs 536ns 2.08μ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 183ns 0.0933ns 0.361ns 0.0701 9.15E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 243ns 0.231ns 0.833ns 0.00596 0 0 440 B
master AllCycleMoreComplexBody net472 180ns 0.0305ns 0.106ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 238ns 0.0652ns 0.235ns 0.00562 0 0 416 B
master BodyExtractorSimpleBody net472 287ns 0.418ns 1.56ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 236ns 0.0929ns 0.335ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 16.1μs 13.5ns 52.1ns 1.21 0.016 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13.6μs 4.16ns 16.1ns 0.0884 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 183ns 0.0448ns 0.161ns 0.0701 9.16E-05 0 441 B
#3346 AllCycleSimpleBody netcoreapp3.1 241ns 0.193ns 0.746ns 0.00601 0 0 440 B
#3346 AllCycleMoreComplexBody net472 181ns 0.0552ns 0.206ns 0.0663 0 0 417 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 239ns 0.184ns 0.688ns 0.00574 0 0 416 B
#3346 BodyExtractorSimpleBody net472 281ns 0.365ns 1.41ns 0.0573 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 249ns 0.377ns 1.41ns 0.00376 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 15.9μs 17.5ns 67.9ns 1.21 0.0159 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 13.1μs 5.08ns 18.3ns 0.0915 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.00526ns 0.00261ns 0.0101ns 0 0 0 0 b
master SendRequest netcoreapp3.1 176μs 173ns 648ns 0.263 0 0 20.44 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 176μs 151ns 583ns 0.263 0 0 20.44 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.78μs 0.502ns 1.81ns 0.158 0.000892 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.47μs 0.311ns 1.12ns 0.0131 0 0 984 B
#3346 ExecuteNonQuery net472 1.72μs 0.892ns 3.34ns 0.158 0.000857 0 995 B
#3346 ExecuteNonQuery netcoreapp3.1 1.48μs 0.711ns 2.75ns 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.49μs 1.01ns 3.91ns 0.19 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.48μs 0.77ns 2.98ns 0.0156 0 0 1.14 KB
master CallElasticsearchAsync net472 2.7μs 2.68ns 10.4ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.6μs 0.366ns 1.37ns 0.0176 0 0 1.26 KB
#3346 CallElasticsearch net472 2.55μs 2.81ns 10.9ns 0.191 0 0 1.2 KB
#3346 CallElasticsearch netcoreapp3.1 1.52μs 1.07ns 4.13ns 0.0156 0 0 1.14 KB
#3346 CallElasticsearchAsync net472 2.7μs 2.6ns 10.1ns 0.213 0 0 1.34 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.61μs 1.87ns 7.24ns 0.0177 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.7μs 1.23ns 4.6ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.768ns 2.98ns 0.0192 0 0 1.39 KB
#3346 ExecuteAsync net472 2.71μs 0.663ns 2.3ns 0.233 0 0 1.47 KB
#3346 ExecuteAsync netcoreapp3.1 1.7μs 2.46ns 9.53ns 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.93μs 3.25ns 12.2ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.64μs 15.1ns 58.5ns 0.0357 0 0 2.65 KB
#3346 SendAsync net472 5.89μs 1.88ns 7.29ns 0.445 0 0 2.82 KB
#3346 SendAsync netcoreapp3.1 3.68μs 5.72ns 22.1ns 0.0369 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.12μs 3.35ns 12.5ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.43μs 1.41ns 5.29ns 0.0255 0 0 1.91 KB
#3346 EnrichedLog net472 3μs 1.09ns 3.78ns 0.298 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.52μs 1.08ns 4.17ns 0.0253 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 150μs 251ns 973ns 0.675 0.225 0 4.72 KB
master EnrichedLog netcoreapp3.1 121μs 210ns 813ns 0 0 0 4.55 KB
#3346 EnrichedLog net472 149μs 57.9ns 209ns 0.742 0.223 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 121μs 161ns 623ns 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.64μs 2.85ns 10.7ns 0.579 0.00282 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.46μs 2.08ns 8.04ns 0.0534 0 0 3.98 KB
#3346 EnrichedLog net472 5.68μs 2.43ns 9.42ns 0.578 0.00285 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.45μs 1.72ns 6.44ns 0.0555 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 3.69ns 14.3ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.79μs 1.09ns 4.08ns 0.0188 0 0 1.37 KB
#3346 SendReceive net472 2.21μs 1.78ns 6.42ns 0.225 0 0 1.42 KB
#3346 SendReceive netcoreapp3.1 1.83μs 0.961ns 3.33ns 0.0184 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.11μs 1.52ns 5.67ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.11μs 5.98ns 22.4ns 0.0249 0 0 1.86 KB
#3346 EnrichedLog net472 5.06μs 2.55ns 9.54ns 0.364 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.41μs 4.29ns 16.6ns 0.0241 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3346

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.115 1,007.01 903.40

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.17μs 0.771ns 2.89ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 1.01μs 0.766ns 2.97ns 0.0111 0 0 808 B
master StartFinishScope net472 1.35μs 0.768ns 2.97ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.14μs 0.712ns 2.76ns 0.0125 0 0 928 B
#3346 StartFinishSpan net472 1.24μs 0.533ns 2.06ns 0.136 0 0 859 B
#3346 StartFinishSpan netcoreapp3.1 903ns 0.283ns 1.1ns 0.0108 0 0 808 B
#3346 StartFinishScope net472 1.48μs 1.08ns 4.04ns 0.149 0 0 939 B
#3346 StartFinishScope netcoreapp3.1 1.08μs 0.555ns 2.15ns 0.0126 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.4μs 0.337ns 1.21ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.11μs 0.376ns 1.36ns 0.0123 0 0 928 B
#3346 RunOnMethodBegin net472 1.5μs 0.379ns 1.47ns 0.149 0 0 939 B
#3346 RunOnMethodBegin netcoreapp3.1 1.2μs 0.675ns 2.53ns 0.0127 0 0 928 B

andrewlock avatar Nov 04 '22 00:11 andrewlock

Benchmarks Report :snail:

Benchmarks for #3346 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 801μs 471ns 1.76μs 0.398 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 553μs 354ns 1.28μs 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 794μs 763ns 2.96μs 0.417 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 554μs 100ns 389ns 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 185ns 0.0527ns 0.19ns 0.0701 9.13E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 248ns 0.55ns 2.13ns 0.00603 0 0 440 B
master AllCycleMoreComplexBody net472 185ns 0.0509ns 0.184ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 240ns 0.101ns 0.379ns 0.00563 0 0 416 B
master BodyExtractorSimpleBody net472 288ns 1.04ns 4.03ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 253ns 0.773ns 2.99ns 0.00365 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.9μs 15.5ns 59.9ns 1.21 0.0159 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13.1μs 5.4ns 20.2ns 0.092 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 183ns 0.0544ns 0.196ns 0.0701 9.24E-05 0 441 B
#3346 AllCycleSimpleBody netcoreapp3.1 241ns 0.152ns 0.567ns 0.00599 0 0 440 B
#3346 AllCycleMoreComplexBody net472 181ns 0.105ns 0.394ns 0.0663 0 0 417 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 241ns 0.362ns 1.4ns 0.00565 0 0 416 B
#3346 BodyExtractorSimpleBody net472 277ns 0.18ns 0.65ns 0.0574 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 235ns 0.143ns 0.536ns 0.00366 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 15.7μs 20.1ns 77.7ns 1.21 0.0157 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 13.8μs 4.07ns 15.8ns 0.0909 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 175μs 181ns 703ns 0.261 0 0 20.44 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 178μs 183ns 710ns 0.268 0 0 20.44 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.82μs 0.256ns 0.923ns 0.158 0.000912 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.39μs 0.297ns 1.15ns 0.0132 0 0 984 B
#3346 ExecuteNonQuery net472 1.77μs 0.718ns 2.78ns 0.158 0.00089 0 995 B
#3346 ExecuteNonQuery netcoreapp3.1 1.45μs 0.76ns 2.94ns 0.0131 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.52μs 0.665ns 2.49ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.55μs 0.982ns 3.8ns 0.0155 0 0 1.14 KB
master CallElasticsearchAsync net472 2.64μs 0.951ns 3.69ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.66μs 1.22ns 4.57ns 0.0174 0 0 1.26 KB
#3346 CallElasticsearch net472 2.49μs 0.888ns 3.44ns 0.191 0 0 1.2 KB
#3346 CallElasticsearch netcoreapp3.1 1.5μs 3.01ns 11.7ns 0.0157 0 0 1.14 KB
#3346 CallElasticsearchAsync net472 2.56μs 0.542ns 2.03ns 0.213 0 0 1.34 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.63μs 0.648ns 2.33ns 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.64μs 1.34ns 5.19ns 0.232 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.75μs 1.38ns 5.33ns 0.0191 0 0 1.39 KB
#3346 ExecuteAsync net472 2.74μs 2.22ns 8.01ns 0.233 0 0 1.47 KB
#3346 ExecuteAsync netcoreapp3.1 1.68μs 0.59ns 2.21ns 0.0186 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 1.45ns 5.41ns 0.445 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.68μs 1.47ns 5.69ns 0.035 0 0 2.65 KB
#3346 SendAsync net472 5.81μs 1.93ns 7.49ns 0.445 0 0 2.82 KB
#3346 SendAsync netcoreapp3.1 3.56μs 1.26ns 4.9ns 0.0358 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.15μs 2.77ns 10.7ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.5μs 1.35ns 5.22ns 0.0255 0 0 1.91 KB
#3346 EnrichedLog net472 3.08μs 3.06ns 11.5ns 0.298 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.46μs 0.643ns 2.41ns 0.0259 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 102ns 382ns 0.685 0.228 0 4.72 KB
master EnrichedLog netcoreapp3.1 121μs 163ns 630ns 0.0606 0 0 4.55 KB
#3346 EnrichedLog net472 151μs 123ns 475ns 0.683 0.228 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 121μs 99ns 357ns 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.61ns 5.79ns 0.578 0.00291 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.49μs 1.87ns 6.47ns 0.0538 0 0 3.98 KB
#3346 EnrichedLog net472 5.63μs 2.25ns 8.7ns 0.579 0.00282 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.42μs 1.25ns 4.5ns 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.39μs 2.44ns 9.43ns 0.226 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.8μs 0.855ns 3.31ns 0.019 0 0 1.37 KB
#3346 SendReceive net472 2.28μs 3.25ns 12.6ns 0.226 0 0 1.42 KB
#3346 SendReceive netcoreapp3.1 1.81μs 0.658ns 2.55ns 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.07μs 2.25ns 8.1ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.19μs 1.07ns 3.86ns 0.0251 0 0 1.86 KB
#3346 EnrichedLog net472 5.08μs 1.8ns 6.99ns 0.363 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.3μs 2.45ns 9.5ns 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.12μs 0.506ns 1.96ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 962ns 0.547ns 2.12ns 0.0106 0 0 808 B
master StartFinishScope net472 1.36μs 0.265ns 0.918ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.07μs 0.564ns 2.18ns 0.0123 0 0 928 B
#3346 StartFinishSpan net472 1.15μs 0.39ns 1.46ns 0.136 0 0 859 B
#3346 StartFinishSpan netcoreapp3.1 916ns 0.302ns 1.17ns 0.011 0 0 808 B
#3346 StartFinishScope net472 1.38μs 1.07ns 4.14ns 0.149 0 0 939 B
#3346 StartFinishScope netcoreapp3.1 1.11μs 0.416ns 1.56ns 0.0126 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.48μs 0.495ns 1.92ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.09μs 0.482ns 1.87ns 0.0124 0 0 928 B
#3346 RunOnMethodBegin net472 1.45μs 0.326ns 1.26ns 0.149 0 0 939 B
#3346 RunOnMethodBegin netcoreapp3.1 1.15μs 0.365ns 1.36ns 0.0127 0 0 928 B

andrewlock avatar Nov 04 '22 17:11 andrewlock

Benchmarks Report :snail:

Benchmarks for #3346 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 795μs 593ns 2.3μs 0.401 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 550μs 218ns 786ns 0 0 0 2.63 KB
#3346 WriteAndFlushEnrichedTraces net472 803μs 444ns 1.72μs 0.401 0 0 3.22 KB
#3346 WriteAndFlushEnrichedTraces netcoreapp3.1 549μs 180ns 647ns 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 183ns 0.0473ns 0.171ns 0.0701 9.55E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 243ns 0.282ns 1.09ns 0.00601 0 0 440 B
master AllCycleMoreComplexBody net472 181ns 0.0794ns 0.307ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 251ns 0.125ns 0.486ns 0.00566 0 0 416 B
master BodyExtractorSimpleBody net472 293ns 0.287ns 1.11ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 230ns 0.0934ns 0.337ns 0.00372 0 0 272 B
master BodyExtractorMoreComplexBody net472 16.1μs 11.6ns 45ns 1.21 0.0161 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.3μs 5.81ns 22.5ns 0.0921 0 0 6.75 KB
#3346 AllCycleSimpleBody net472 184ns 0.0838ns 0.302ns 0.0701 0 0 441 B
#3346 AllCycleSimpleBody netcoreapp3.1 242ns 0.197ns 0.765ns 0.00592 0 0 440 B
#3346 AllCycleMoreComplexBody net472 182ns 0.125ns 0.468ns 0.0663 0 0 417 B
#3346 AllCycleMoreComplexBody netcoreapp3.1 240ns 0.272ns 1.05ns 0.00568 0 0 416 B
#3346 BodyExtractorSimpleBody net472 292ns 0.365ns 1.36ns 0.0574 0 0 361 B
#3346 BodyExtractorSimpleBody netcoreapp3.1 245ns 0.073ns 0.263ns 0.0037 0 0 272 B
#3346 BodyExtractorMoreComplexBody net472 16μs 14ns 54.4ns 1.2 0.0159 0 7.62 KB
#3346 BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 4.41ns 17.1ns 0.0891 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 175μs 187ns 723ns 0.176 0 0 20.44 KB
#3346 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3346 SendRequest netcoreapp3.1 177μs 206ns 798ns 0.265 0 0 20.44 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.66μs 0.764ns 2.86ns 0.158 0.000832 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.45μs 0.731ns 2.83ns 0.0137 0 0 984 B
#3346 ExecuteNonQuery net472 1.77μs 0.853ns 3.3ns 0.158 0.000887 0 995 B
#3346 ExecuteNonQuery netcoreapp3.1 1.42μs 0.304ns 1.18ns 0.0136 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.58μs 1.13ns 4.37ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.5μs 0.895ns 3.35ns 0.0153 0 0 1.14 KB
master CallElasticsearchAsync net472 2.58μs 1.18ns 4.27ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.6μs 0.482ns 1.8ns 0.0167 0 0 1.26 KB
#3346 CallElasticsearch net472 2.58μs 0.79ns 2.85ns 0.191 0 0 1.2 KB
#3346 CallElasticsearch netcoreapp3.1 1.55μs 0.87ns 3.37ns 0.0155 0 0 1.14 KB
#3346 CallElasticsearchAsync net472 2.67μs 1.76ns 6.82ns 0.212 0 0 1.34 KB
#3346 CallElasticsearchAsync netcoreapp3.1 1.64μs 2.33ns 9.04ns 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.7μs 0.774ns 3ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.68μs 0.848ns 3.29ns 0.0185 0 0 1.39 KB
#3346 ExecuteAsync net472 2.63μs 1.39ns 5.38ns 0.233 0 0 1.47 KB
#3346 ExecuteAsync netcoreapp3.1 1.75μs 0.909ns 3.4ns 0.0183 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.76μs 2.02ns 7.83ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.72μs 1.86ns 6.97ns 0.0354 0 0 2.65 KB
#3346 SendAsync net472 5.71μs 1.24ns 4.79ns 0.447 0 0 2.82 KB
#3346 SendAsync netcoreapp3.1 3.67μs 4.19ns 16.2ns 0.0348 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.15μs 2.76ns 10.3ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.42μs 4.43ns 17.1ns 0.0255 0 0 1.91 KB
#3346 EnrichedLog net472 3.01μs 4.59ns 17.8ns 0.298 0 0 1.88 KB
#3346 EnrichedLog netcoreapp3.1 2.56μs 1.34ns 5.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 150μs 169ns 656ns 0.749 0.225 0 4.72 KB
master EnrichedLog netcoreapp3.1 121μs 149ns 576ns 0.06 0 0 4.55 KB
#3346 EnrichedLog net472 151μs 198ns 765ns 0.678 0.226 0 4.72 KB
#3346 EnrichedLog netcoreapp3.1 120μs 263ns 1.02μs 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.64μs 2.69ns 10.4ns 0.58 0.00283 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.46μs 2.64ns 10.2ns 0.0535 0 0 3.98 KB
#3346 EnrichedLog net472 5.62μs 1.93ns 6.96ns 0.579 0.00281 0 3.65 KB
#3346 EnrichedLog netcoreapp3.1 4.4μs 1.39ns 5ns 0.0547 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 2.75ns 9.93ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.82μs 0.741ns 2.87ns 0.0182 0 0 1.37 KB
#3346 SendReceive net472 2.28μs 2.7ns 10.5ns 0.225 0 0 1.42 KB
#3346 SendReceive netcoreapp3.1 1.72μs 0.852ns 3.07ns 0.0189 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.11μs 2.4ns 8.98ns 0.362 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.16μs 8.75ns 32.8ns 0.0248 0 0 1.86 KB
#3346 EnrichedLog net472 5.05μs 1.37ns 4.96ns 0.362 0 0 2.3 KB
#3346 EnrichedLog netcoreapp3.1 4.31μs 2.78ns 10.8ns 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.17μs 0.29ns 1.04ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 960ns 0.99ns 3.83ns 0.0107 0 0 808 B
master StartFinishScope net472 1.43μs 0.59ns 2.04ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.1μs 0.432ns 1.62ns 0.0126 0 0 928 B
#3346 StartFinishSpan net472 1.15μs 0.39ns 1.46ns 0.136 0 0 859 B
#3346 StartFinishSpan netcoreapp3.1 1μs 0.461ns 1.79ns 0.0108 0 0 808 B
#3346 StartFinishScope net472 1.46μs 0.482ns 1.87ns 0.149 0 0 939 B
#3346 StartFinishScope netcoreapp3.1 1.11μs 0.647ns 2.51ns 0.0121 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.48μs 0.776ns 3.01ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.11μs 0.348ns 1.3ns 0.0122 0 0 928 B
#3346 RunOnMethodBegin net472 1.54μs 0.528ns 1.97ns 0.149 0 0 939 B
#3346 RunOnMethodBegin netcoreapp3.1 1.19μs 0.394ns 1.42ns 0.0123 0 0 928 B

andrewlock avatar Nov 07 '22 16:11 andrewlock

Code Coverage Report :bar_chart:

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

master #3346 Change
Lines 20179 / 27560 20238 / 27583
Lines % 73% 73% 0% :heavy_check_mark:
Branches 11924 / 17176 11961 / 17192
Branches % 69% 70% 0% :heavy_check_mark:
Complexity 18587 18602 15 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3346 Change
Lines % 73% 73% 0% :heavy_check_mark:
Branches % 69% 70% 0% :heavy_check_mark:
Complexity 18587 18602 15 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Logging.DatadogLogging 3% :heavy_check_mark: 15% :heavy_check_mark: 12 :no_entry:
Datadog.Trace.Ci.GitInfo 5% :heavy_check_mark: 8% :heavy_check_mark: 0 :heavy_check_mark:

View the full reports for further details:

andrewlock avatar Nov 07 '22 17:11 andrewlock