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

[Asm] Try removing dispose

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

Summary of changes

Reason for change

Implementation details

Test coverage

Other details

anna-git avatar Oct 11 '22 13:10 anna-git

Benchmarks Report :snail:

Benchmarks for #3340 compared to master:

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

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 792μs 549ns 2.05μs 0.396 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 543μs 446ns 1.67μs 0 0 0 2.63 KB
#3340 WriteAndFlushEnrichedTraces net472 788μs 591ns 2.29μs 0.396 0 0 3.22 KB
#3340 WriteAndFlushEnrichedTraces netcoreapp3.1 551μs 339ns 1.27μ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 199ns 0.391ns 1.46ns 0.0727 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 252ns 0.287ns 1.11ns 0.00621 0 0 456 B
master AllCycleMoreComplexBody net472 200ns 0.312ns 1.21ns 0.0688 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 256ns 0.184ns 0.712ns 0.00592 0 0 432 B
master BodyExtractorSimpleBody net472 283ns 0.228ns 0.884ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 233ns 0.297ns 1.11ns 0.00377 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.5μs 15.8ns 59.3ns 1.2 0.0155 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13.2μs 3.84ns 14.4ns 0.0927 0 0 6.75 KB
#3340 AllCycleSimpleBody net472 196ns 0.0561ns 0.21ns 0.0726 0 0 457 B
#3340 AllCycleSimpleBody netcoreapp3.1 258ns 0.156ns 0.603ns 0.0062 0 0 456 B
#3340 AllCycleMoreComplexBody net472 193ns 0.0656ns 0.246ns 0.0688 0 0 433 B
#3340 AllCycleMoreComplexBody netcoreapp3.1 250ns 0.204ns 0.788ns 0.00589 0 0 432 B
#3340 BodyExtractorSimpleBody net472 278ns 0.241ns 0.933ns 0.0574 0 0 361 B
#3340 BodyExtractorSimpleBody netcoreapp3.1 238ns 0.117ns 0.455ns 0.00371 0 0 272 B
#3340 BodyExtractorMoreComplexBody net472 15.8μs 12.1ns 43.8ns 1.2 0.0158 0 7.62 KB
#3340 BodyExtractorMoreComplexBody netcoreapp3.1 13μs 5.39ns 20.2ns 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 180μs 231ns 893ns 0.181 0 0 20.68 KB
#3340 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3340 SendRequest netcoreapp3.1 179μs 122ns 472ns 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.93μs 0.893ns 3.22ns 0.155 0.000967 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.39μs 0.378ns 1.42ns 0.0132 0 0 968 B
#3340 ExecuteNonQuery net472 1.86μs 0.642ns 2.4ns 0.155 0.000939 0 979 B
#3340 ExecuteNonQuery netcoreapp3.1 1.46μs 0.55ns 2.06ns 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.56μs 2.35ns 9.1ns 0.188 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.56μs 0.604ns 2.26ns 0.0147 0 0 1.13 KB
master CallElasticsearchAsync net472 2.68μs 0.901ns 3.49ns 0.21 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.67μs 0.505ns 1.82ns 0.0167 0 0 1.25 KB
#3340 CallElasticsearch net472 2.45μs 1.25ns 4.85ns 0.188 0 0 1.19 KB
#3340 CallElasticsearch netcoreapp3.1 1.59μs 0.707ns 2.74ns 0.0151 0 0 1.13 KB
#3340 CallElasticsearchAsync net472 2.63μs 1.09ns 4.09ns 0.209 0 0 1.32 KB
#3340 CallElasticsearchAsync netcoreapp3.1 1.6μs 0.74ns 2.77ns 0.0167 0 0 1.25 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.88μs 0.844ns 3.27ns 0.23 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.85μs 0.457ns 1.58ns 0.0185 0 0 1.38 KB
#3340 ExecuteAsync net472 2.79μs 1.47ns 5.51ns 0.23 0 0 1.45 KB
#3340 ExecuteAsync netcoreapp3.1 1.73μs 0.519ns 2.01ns 0.0182 0 0 1.38 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.82μs 2.99ns 11.6ns 0.444 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.77μs 1.79ns 6.69ns 0.0355 0 0 2.63 KB
#3340 SendAsync net472 5.86μs 1.86ns 6.71ns 0.444 0 0 2.8 KB
#3340 SendAsync netcoreapp3.1 3.69μs 3.22ns 12.5ns 0.0353 0 0 2.63 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.18μs 3.56ns 13.8ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.59μs 1.06ns 3.83ns 0.026 0 0 1.91 KB
#3340 EnrichedLog net472 3.23μs 2.7ns 10.1ns 0.297 0 0 1.88 KB
#3340 EnrichedLog netcoreapp3.1 2.49μs 1.67ns 6.25ns 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 153μs 140ns 541ns 0.683 0.228 0 4.72 KB
master EnrichedLog netcoreapp3.1 117μs 222ns 858ns 0.0584 0 0 4.55 KB
#3340 EnrichedLog net472 152μs 128ns 497ns 0.679 0.226 0 4.72 KB
#3340 EnrichedLog netcoreapp3.1 118μs 169ns 653ns 0.0587 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.87μs 3.15ns 12.2ns 0.578 0.00293 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.47μs 2.01ns 7.51ns 0.0539 0 0 3.98 KB
#3340 EnrichedLog net472 5.88μs 2.36ns 9.13ns 0.579 0.00294 0 3.65 KB
#3340 EnrichedLog netcoreapp3.1 4.63μs 1.01ns 3.51ns 0.0535 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 1.02ns 3.68ns 0.222 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.83μs 0.698ns 2.61ns 0.0183 0 0 1.35 KB
#3340 SendReceive net472 2.32μs 2.95ns 11.4ns 0.223 0 0 1.4 KB
#3340 SendReceive netcoreapp3.1 1.77μs 0.787ns 2.94ns 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μs 2.04ns 7.64ns 0.362 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.4μs 1.58ns 6.11ns 0.0242 0 0 1.86 KB
#3340 EnrichedLog net472 4.96μs 1.05ns 3.94ns 0.364 0 0 2.3 KB
#3340 EnrichedLog netcoreapp3.1 4.29μs 1.22ns 4.57ns 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.11μs 0.523ns 2.02ns 0.134 0 0 842 B
master StartFinishSpan netcoreapp3.1 968ns 0.263ns 0.986ns 0.0111 0 0 792 B
master StartFinishScope net472 1.33μs 3.8ns 14.2ns 0.146 0 0 923 B
master StartFinishScope netcoreapp3.1 1.05μs 2.84ns 11ns 0.0126 0 0 912 B
#3340 StartFinishSpan net472 1.21μs 0.778ns 3.01ns 0.133 0 0 842 B
#3340 StartFinishSpan netcoreapp3.1 972ns 0.265ns 1.03ns 0.0107 0 0 792 B
#3340 StartFinishScope net472 1.42μs 1.1ns 4.13ns 0.146 0 0 923 B
#3340 StartFinishScope netcoreapp3.1 1.09μs 0.467ns 1.68ns 0.012 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.43μs 0.636ns 2.46ns 0.146 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.2μs 0.378ns 1.36ns 0.0121 0 0 912 B
#3340 RunOnMethodBegin net472 1.54μs 3.01ns 11.6ns 0.146 0 0 923 B
#3340 RunOnMethodBegin netcoreapp3.1 1.2μs 0.683ns 2.64ns 0.012 0 0 912 B

andrewlock avatar Oct 11 '22 14:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3340 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 800μs 583ns 2.26μs 0.396 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 542μs 318ns 1.19μs 0 0 0 2.63 KB
#3340 WriteAndFlushEnrichedTraces net472 786μs 746ns 2.89μs 0.391 0 0 3.22 KB
#3340 WriteAndFlushEnrichedTraces netcoreapp3.1 533μs 211ns 761ns 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.117ns 0.454ns 0.0726 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 257ns 0.181ns 0.702ns 0.00629 0 0 456 B
master AllCycleMoreComplexBody net472 194ns 0.0508ns 0.183ns 0.0689 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 255ns 0.08ns 0.299ns 0.00577 0 0 432 B
master BodyExtractorSimpleBody net472 276ns 0.238ns 0.924ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 238ns 0.0896ns 0.335ns 0.00372 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.8μs 14.7ns 56.8ns 1.21 0.0157 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13μs 11.8ns 45.6ns 0.091 0 0 6.75 KB
#3340 AllCycleSimpleBody net472 198ns 0.33ns 1.28ns 0.0726 0 0 457 B
#3340 AllCycleSimpleBody netcoreapp3.1 252ns 0.157ns 0.566ns 0.00622 0 0 456 B
#3340 AllCycleMoreComplexBody net472 211ns 0.268ns 1ns 0.0688 0 0 433 B
#3340 AllCycleMoreComplexBody netcoreapp3.1 255ns 0.149ns 0.556ns 0.00591 0 0 432 B
#3340 BodyExtractorSimpleBody net472 281ns 0.263ns 1.02ns 0.0573 0 0 361 B
#3340 BodyExtractorSimpleBody netcoreapp3.1 241ns 0.115ns 0.446ns 0.00371 0 0 272 B
#3340 BodyExtractorMoreComplexBody net472 15.9μs 16.4ns 63.4ns 1.21 0.0159 0 7.62 KB
#3340 BodyExtractorMoreComplexBody netcoreapp3.1 13μs 4.09ns 15.3ns 0.0907 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 183μs 184ns 713ns 0.275 0 0 20.68 KB
#3340 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3340 SendRequest netcoreapp3.1 183μs 274ns 1.06μs 0.183 0 0 20.68 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.85μs 1.07ns 4ns 0.155 0.000928 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.48μs 0.996ns 3.59ns 0.0132 0 0 968 B
#3340 ExecuteNonQuery net472 1.85μs 1.17ns 4.55ns 0.155 0.000926 0 979 B
#3340 ExecuteNonQuery netcoreapp3.1 1.43μs 0.474ns 1.78ns 0.0128 0 0 968 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.55μs 1.01ns 3.65ns 0.188 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.54μs 1.1ns 4.11ns 0.0153 0 0 1.13 KB
master CallElasticsearchAsync net472 2.55μs 1.82ns 6.56ns 0.209 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.57μs 0.718ns 2.69ns 0.0165 0 0 1.25 KB
#3340 CallElasticsearch net472 2.55μs 1.2ns 4.64ns 0.188 0 0 1.19 KB
#3340 CallElasticsearch netcoreapp3.1 1.58μs 1.3ns 4.85ns 0.015 0 0 1.13 KB
#3340 CallElasticsearchAsync net472 2.75μs 1.22ns 4.72ns 0.21 0 0 1.32 KB
#3340 CallElasticsearchAsync netcoreapp3.1 1.64μs 0.652ns 2.52ns 0.0172 0 0 1.25 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.79μs 2.8ns 10.9ns 0.23 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.77μs 0.541ns 2.02ns 0.0186 0 0 1.38 KB
#3340 ExecuteAsync net472 2.84μs 2.17ns 7.84ns 0.23 0 0 1.45 KB
#3340 ExecuteAsync netcoreapp3.1 1.8μs 2.27ns 8.78ns 0.0187 0 0 1.38 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.83μs 2.85ns 11.1ns 0.442 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.82μs 4.22ns 15.2ns 0.0352 0 0 2.63 KB
#3340 SendAsync net472 5.84μs 2.95ns 11ns 0.444 0 0 2.8 KB
#3340 SendAsync netcoreapp3.1 3.65μs 1.42ns 5.12ns 0.0347 0 0 2.63 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.19μs 2.76ns 10.7ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.45μs 1.21ns 4.38ns 0.026 0 0 1.91 KB
#3340 EnrichedLog net472 3.2μs 2.26ns 8.76ns 0.297 0 0 1.88 KB
#3340 EnrichedLog netcoreapp3.1 2.6μs 2.27ns 8.49ns 0.026 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 153μs 144ns 559ns 0.688 0.229 0 4.72 KB
master EnrichedLog netcoreapp3.1 117μs 225ns 872ns 0 0 0 4.55 KB
#3340 EnrichedLog net472 151μs 203ns 784ns 0.747 0.224 0 4.72 KB
#3340 EnrichedLog netcoreapp3.1 117μs 97.5ns 378ns 0.0586 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 1.66ns 6.41ns 0.58 0.0029 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.5μs 1.86ns 6.71ns 0.054 0 0 3.98 KB
#3340 EnrichedLog net472 5.79μs 3.4ns 13.2ns 0.578 0.00291 0 3.65 KB
#3340 EnrichedLog netcoreapp3.1 4.6μs 1.91ns 7.13ns 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.33μs 2.98ns 11.5ns 0.223 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.86μs 0.924ns 3.46ns 0.0186 0 0 1.35 KB
#3340 SendReceive net472 2.36μs 3.59ns 13.9ns 0.222 0 0 1.4 KB
#3340 SendReceive netcoreapp3.1 1.84μs 3.95ns 15.3ns 0.0182 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.09μs 1.98ns 7.69ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.28μs 1.4ns 5.03ns 0.0236 0 0 1.86 KB
#3340 EnrichedLog net472 5μs 2.22ns 8.59ns 0.362 0 0 2.3 KB
#3340 EnrichedLog netcoreapp3.1 4.27μs 16.4ns 63.4ns 0.0255 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.16μs 0.454ns 1.76ns 0.134 0 0 842 B
master StartFinishSpan netcoreapp3.1 925ns 0.419ns 1.62ns 0.0106 0 0 792 B
master StartFinishScope net472 1.42μs 0.324ns 1.26ns 0.147 0 0 923 B
master StartFinishScope netcoreapp3.1 1.13μs 0.486ns 1.82ns 0.0124 0 0 912 B
#3340 StartFinishSpan net472 1.17μs 0.611ns 2.36ns 0.134 0 0 842 B
#3340 StartFinishSpan netcoreapp3.1 980ns 0.342ns 1.32ns 0.0108 0 0 792 B
#3340 StartFinishScope net472 1.44μs 0.768ns 2.97ns 0.146 0 0 923 B
#3340 StartFinishScope netcoreapp3.1 1.13μs 0.489ns 1.9ns 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.54μs 0.409ns 1.59ns 0.146 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.19μs 0.387ns 1.45ns 0.0125 0 0 912 B
#3340 RunOnMethodBegin net472 1.46μs 0.602ns 2.17ns 0.146 0 0 923 B
#3340 RunOnMethodBegin netcoreapp3.1 1.18μs 0.391ns 1.41ns 0.0125 0 0 912 B

andrewlock avatar Oct 11 '22 15:10 andrewlock

Code Coverage Report :bar_chart:

:heavy_check_mark: Merging #3340 into master will not change line coverage :heavy_check_mark: Merging #3340 into master will not change branch coverage :heavy_check_mark: Merging #3340 into master will not change complexity

master #3340 Change
Lines 19367 / 26705 19345 / 26705
Lines % 73% 72% 0% :heavy_check_mark:
Branches 11527 / 16615 11512 / 16615
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 17944 17944 0 :heavy_check_mark:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3340 Change
Lines % 73% 72% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 17944 17944 0 :heavy_check_mark:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Debugger.PInvoke.DebuggerNativeMethods 6% :heavy_check_mark: 10% :heavy_check_mark: 0 :heavy_check_mark:

View the full reports for further details:

andrewlock avatar Oct 11 '22 20:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3340 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 811μs 434ns 1.68μs 0.403 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 558μs 338ns 1.27μs 0 0 0 2.63 KB
#3340 WriteAndFlushEnrichedTraces net472 808μs 437ns 1.69μs 0.401 0 0 3.22 KB
#3340 WriteAndFlushEnrichedTraces netcoreapp3.1 555μs 218ns 815ns 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.0447ns 0.161ns 0.0701 0 0 441 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.17ns 0.659ns 0.00601 0 0 440 B
master AllCycleMoreComplexBody net472 197ns 0.0723ns 0.28ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 255ns 0.27ns 1.05ns 0.00555 0 0 416 B
master BodyExtractorSimpleBody net472 276ns 0.173ns 0.646ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 258ns 0.175ns 0.679ns 0.00377 0 0 272 B
master BodyExtractorMoreComplexBody net472 16.1μs 7.21ns 27ns 1.2 0.0161 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13.3μs 5.12ns 18.5ns 0.0923 0 0 6.75 KB
#3340 AllCycleSimpleBody net472 195ns 0.0447ns 0.167ns 0.0701 0 0 441 B
#3340 AllCycleSimpleBody netcoreapp3.1 251ns 0.225ns 0.841ns 0.00596 0 0 440 B
#3340 AllCycleMoreComplexBody net472 194ns 0.0467ns 0.168ns 0.0663 0 0 417 B
#3340 AllCycleMoreComplexBody netcoreapp3.1 250ns 0.118ns 0.456ns 0.00566 0 0 416 B
#3340 BodyExtractorSimpleBody net472 268ns 0.0929ns 0.335ns 0.0574 0 0 361 B
#3340 BodyExtractorSimpleBody netcoreapp3.1 243ns 0.194ns 0.727ns 0.00362 0 0 272 B
#3340 BodyExtractorMoreComplexBody net472 15.8μs 19.1ns 74ns 1.21 0.0156 0 7.62 KB
#3340 BodyExtractorMoreComplexBody netcoreapp3.1 13μs 4.86ns 18.8ns 0.091 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 276ns 1.07μs 0.267 0 0 20.66 KB
#3340 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3340 SendRequest netcoreapp3.1 179μs 320ns 1.15μs 0.268 0 0 20.66 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.81μs 1.2ns 4.64ns 0.157 0.000909 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.42μs 0.463ns 1.67ns 0.0135 0 0 984 B
#3340 ExecuteNonQuery net472 1.89μs 0.498ns 1.86ns 0.157 0.000948 0 995 B
#3340 ExecuteNonQuery netcoreapp3.1 1.43μs 0.54ns 2.02ns 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.57μs 0.855ns 3.2ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.54μs 0.628ns 2.27ns 0.0154 0 0 1.14 KB
master CallElasticsearchAsync net472 2.65μs 1.34ns 5.01ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.63μs 0.513ns 1.92ns 0.0171 0 0 1.26 KB
#3340 CallElasticsearch net472 2.58μs 1.33ns 5.16ns 0.191 0 0 1.2 KB
#3340 CallElasticsearch netcoreapp3.1 1.59μs 0.69ns 2.58ns 0.0151 0 0 1.14 KB
#3340 CallElasticsearchAsync net472 2.73μs 1.74ns 6.53ns 0.213 0 0 1.34 KB
#3340 CallElasticsearchAsync netcoreapp3.1 1.54μs 0.44ns 1.59ns 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.64μs 1.84ns 7.14ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.72μs 0.709ns 2.46ns 0.0188 0 0 1.39 KB
#3340 ExecuteAsync net472 2.69μs 1.31ns 5.07ns 0.233 0 0 1.47 KB
#3340 ExecuteAsync netcoreapp3.1 1.75μs 0.562ns 2.02ns 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.95μs 2.16ns 8.09ns 0.445 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.71μs 1.02ns 3.68ns 0.0353 0 0 2.65 KB
#3340 SendAsync net472 5.83μs 2.86ns 11.1ns 0.447 0 0 2.82 KB
#3340 SendAsync netcoreapp3.1 3.63μs 2.74ns 10.6ns 0.0364 0 0 2.65 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.19μs 4.13ns 15.4ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.55μs 2.59ns 9.68ns 0.0256 0 0 1.91 KB
#3340 EnrichedLog net472 3.26μs 5.3ns 20.5ns 0.298 0 0 1.88 KB
#3340 EnrichedLog netcoreapp3.1 2.58μs 1.61ns 6.24ns 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 66.3ns 257ns 0.748 0.224 0 4.72 KB
master EnrichedLog netcoreapp3.1 118μs 68.3ns 237ns 0.0591 0 0 4.55 KB
#3340 EnrichedLog net472 152μs 204ns 791ns 0.682 0.227 0 4.72 KB
#3340 EnrichedLog netcoreapp3.1 121μs 205ns 767ns 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.84μs 2.37ns 9.18ns 0.579 0.00293 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.4μs 1.26ns 4.55ns 0.0551 0 0 3.98 KB
#3340 EnrichedLog net472 5.67μs 3.03ns 11.3ns 0.578 0.00283 0 3.65 KB
#3340 EnrichedLog netcoreapp3.1 4.51μs 1.58ns 5.92ns 0.054 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.22μs 4.44ns 17.2ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.84μs 0.609ns 2.28ns 0.0184 0 0 1.37 KB
#3340 SendReceive net472 2.29μs 4.97ns 18.6ns 0.225 0 0 1.42 KB
#3340 SendReceive netcoreapp3.1 1.81μs 0.923ns 3.58ns 0.0182 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.07μs 1.53ns 5.92ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.19μs 1.54ns 5.76ns 0.0254 0 0 1.86 KB
#3340 EnrichedLog net472 4.96μs 3.61ns 14ns 0.365 0 0 2.3 KB
#3340 EnrichedLog netcoreapp3.1 4.45μs 3.26ns 12.6ns 0.0245 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.23μs 0.308ns 1.15ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 936ns 0.354ns 1.33ns 0.0112 0 0 808 B
master StartFinishScope net472 1.49μs 0.35ns 1.26ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.05μs 0.479ns 1.85ns 0.0125 0 0 928 B
#3340 StartFinishSpan net472 1.18μs 0.269ns 1ns 0.136 0 0 859 B
#3340 StartFinishSpan netcoreapp3.1 942ns 0.236ns 0.849ns 0.0109 0 0 808 B
#3340 StartFinishScope net472 1.36μs 0.711ns 2.66ns 0.149 0 0 939 B
#3340 StartFinishScope netcoreapp3.1 1.08μs 0.614ns 2.38ns 0.0124 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.57μs 0.352ns 1.32ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.16μs 0.389ns 1.45ns 0.0124 0 0 928 B
#3340 RunOnMethodBegin net472 1.54μs 0.483ns 1.81ns 0.149 0 0 939 B
#3340 RunOnMethodBegin netcoreapp3.1 1.13μs 0.352ns 1.36ns 0.0125 0 0 928 B

andrewlock avatar Oct 21 '22 14:10 andrewlock

Code Coverage Report :bar_chart:

:heavy_check_mark: Merging #3340 into master will not change line coverage :heavy_check_mark: Merging #3340 into master will not change branch coverage :heavy_check_mark: Merging #3340 into master will not change complexity

master #3340 Change
Lines 19616 / 27081 19625 / 27081
Lines % 72% 72% 0% :heavy_check_mark:
Branches 11602 / 16764 11609 / 16764
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18146 18146 0 :heavy_check_mark:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3340 Change
Lines % 72% 72% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18146 18146 0 :heavy_check_mark:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change

View the full reports for further details:

andrewlock avatar Oct 21 '22 15:10 andrewlock