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

Tracking sampling mechanism with `_dd.p.dm` tag

Open lucaspimentel opened this issue 3 years ago • 29 comments

Summary of changes

In this PR, we start tracking a traces sampling mechanism (new) in addition to the sampling priority. The sampling mechanism indicates how a sampling decision was made:

  • set manually by the user
  • using a sampling rate from the agent
  • using a sampling rate configured by the user
  • sampled by ASM due to security event
  • etc

We propagate this information vertically (as tags sent to the Agent) and horizontally (as headers to downstream services).

Reason for change

Tracking sampling decisions helps us provide additional information to users. Horizontal propagation is used to handle individual chunks more efficiently in the backend and to improve the chances that the tag reaches the backend (e.g. if some trace chunks are dropped).

Implementation details

All sampler implementations now return a SamplingDecision instead of a sampling priority (int). In the future we may add more fields, like the sampling rate.

readonly struct SamplingDecision
{
   // sampling priority (-1, 0, 1, 2)
   int Priority;

   // sampling mechanism (0..8), if known
   int? Mechanism;
}

The TraceContext now keeps track of the sampling mechanism in addition to the sampling priority.

When a trace is serialized, we now add the new _dd.p.dm trace tag in addition to the older _sampling_priority_v1 tag. Note that _dd.p.dm uses the new "trace tag" collection. We can migrate _sampling_priority_v1 and other tag to use this feature in a future PR.

Test coverage

  • vertical propagation: updated ~900 snapshots to add the new _dd.p.dm tag to traces
  • [TODO] horizontal propagation: add end-to-end tests for _dd.p.dm tag in x-datadog-tags header

Other details

Based on #2459

TODO:

  • propagating x-datadog-tags during "version conflict" scenarios (multiple tracer versions are loaded)

lucaspimentel avatar Jul 14 '22 14:07 lucaspimentel

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 17 benchmarks are slower, with geometric mean 1.219
  • 26 benchmarks have more 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 720μs 535ns 2μs 0.359 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 477μs 394ns 1.53μs 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 724μs 669ns 2.59μs 0.359 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 465μs 194ns 725ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.68μs 1.24ns 4.82ns 0.236 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.83μs 1.96ns 7.06ns 0.0185 0 0 1.37 KB
master AllCycleMoreComplexBody net472 16.6μs 11ns 39.5ns 1.39 0.0249 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.1μs 17ns 63.6ns 0.106 0 0 7.85 KB
master BodyExtractorSimpleBody net472 250ns 0.314ns 1.22ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 229ns 0.352ns 1.32ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.9μs 9.81ns 38ns 1.21 0.0148 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 23.4ns 84.4ns 0.0904 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 1.73μs 1.48ns 5.33ns 0.236 0 0 1.49 KB
#2982 AllCycleSimpleBody netcoreapp3.1 1.81μs 2.16ns 8.07ns 0.019 0 0 1.37 KB
#2982 AllCycleMoreComplexBody net472 17.1μs 14.1ns 54.4ns 1.39 0.0253 0 8.75 KB
#2982 AllCycleMoreComplexBody netcoreapp3.1 14.6μs 17.7ns 66.3ns 0.102 0 0 7.85 KB
#2982 BodyExtractorSimpleBody net472 258ns 0.425ns 1.64ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 221ns 0.237ns 0.887ns 0.00378 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.7μs 10.2ns 39.7ns 1.21 0.0148 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12μs 14.2ns 53.1ns 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 134ns 500ns 0.175 0 0 20 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 179μs 198ns 765ns 0.269 0 0 20.1 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.159 1,671.50 1,938.05
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.146 1,324.97 1,517.85

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 987 B 193 B 24.31%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 976 B 152 B 18.45%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.67μs 2.89ns 10.4ns 0.126 0.000801 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.32μs 0.402ns 1.5ns 0.0106 0 0 824 B
#2982 ExecuteNonQuery net472 1.94μs 0.613ns 2.38ns 0.156 0.000966 0 987 B
#2982 ExecuteNonQuery netcoreapp3.1 1.52μs 0.493ns 1.78ns 0.0129 0 0 976 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.245 2,075.24 2,584.34
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.172 2,294.16 2,687.68
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.162 1,470.71 1,708.62

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.2 KB 193 B 19.24%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.33 KB 193 B 16.94%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.14 KB 152 B 15.45%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.26 KB 152 B 13.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.07μs 2.18ns 8.46ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 2.3ns 8.6ns 0.0133 0 0 984 B
master CallElasticsearchAsync net472 2.3μs 2.33ns 8.72ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.47μs 2.18ns 8.17ns 0.0147 0 0 1.1 KB
#2982 CallElasticsearch net472 2.58μs 3.94ns 15.3ns 0.189 0 0 1.2 KB
#2982 CallElasticsearch netcoreapp3.1 1.55μs 2.06ns 7.99ns 0.0156 0 0 1.14 KB
#2982 CallElasticsearchAsync net472 2.69μs 3.74ns 14.5ns 0.211 0 0 1.33 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.71μs 2.19ns 8.47ns 0.017 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.192 2,355.01 2,806.49
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.151 1,555.91 1,791.53

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.45 KB 192 B 15.24%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.38 KB 152 B 12.42%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.35μs 3.11ns 12ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.56μs 3.52ns 13.6ns 0.017 0 0 1.22 KB
#2982 ExecuteAsync net472 2.81μs 2.23ns 8.65ns 0.231 0 0 1.45 KB
#2982 ExecuteAsync netcoreapp3.1 1.79μs 1.05ns 3.93ns 0.0189 0 0 1.38 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.53 KB 2.67 KB 144 B 5.70%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.44 KB 2.55 KB 112 B 4.59%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.28μs 11.8ns 45.6ns 0.401 0 0 2.53 KB
master SendAsync netcoreapp3.1 3.43μs 7.49ns 29ns 0.0328 0 0 2.44 KB
#2982 SendAsync net472 5.44μs 4.68ns 18.1ns 0.423 0 0 2.67 KB
#2982 SendAsync netcoreapp3.1 3.69μs 1.77ns 6.86ns 0.0351 0 0 2.55 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.127 2,882.10 3,249.18
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.119 2,374.60 2,656.34

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.85 KB 192 B 11.56%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.89 KB 152 B 8.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.88μs 0.808ns 3.02ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.37μs 0.917ns 3.55ns 0.0238 0 0 1.73 KB
#2982 EnrichedLog net472 3.25μs 1.88ns 7.29ns 0.293 0 0 1.85 KB
#2982 EnrichedLog netcoreapp3.1 2.66μs 0.875ns 3.39ns 0.0253 0 0 1.89 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.69 KB 193 B 4.29%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.53 KB 152 B 3.47%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 144μs 90.9ns 352ns 0.644 0.215 0 4.5 KB
master EnrichedLog netcoreapp3.1 112μs 88.8ns 344ns 0.0559 0 0 4.38 KB
#2982 EnrichedLog net472 149μs 90.8ns 352ns 0.677 0.226 0 4.69 KB
#2982 EnrichedLog netcoreapp3.1 115μs 63.6ns 238ns 0.0572 0 0 4.53 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.63 KB 192 B 5.59%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.95 KB 152 B 4.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.29μs 13.6ns 52.6ns 0.543 0.00262 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.18μs 4.38ns 15.2ns 0.0516 0 0 3.8 KB
#2982 EnrichedLog net472 5.82μs 6.4ns 23.9ns 0.574 0.0029 0 3.63 KB
#2982 EnrichedLog netcoreapp3.1 4.58μs 2.29ns 8.85ns 0.0544 0 0 3.95 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.205 1,981.35 2,388.09
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.173 1,674.02 1,963.29

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.21 KB 1.4 KB 192 B 15.84%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.2 KB 1.35 KB 152 B 12.67%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.98μs 0.688ns 2.48ns 0.193 0 0 1.21 KB
master SendReceive netcoreapp3.1 1.67μs 0.77ns 2.98ns 0.0159 0 0 1.2 KB
#2982 SendReceive net472 2.39μs 1.46ns 5.67ns 0.223 0 0 1.4 KB
#2982 SendReceive netcoreapp3.1 1.96μs 0.93ns 3.48ns 0.0184 0 0 1.35 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.27 KB 193 B 9.29%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.84 KB 152 B 9.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.64μs 7.2ns 27.9ns 0.329 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.11μs 6.42ns 24.9ns 0.0225 0 0 1.69 KB
#2982 EnrichedLog net472 4.96μs 5.06ns 17.5ns 0.36 0 0 2.27 KB
#2982 EnrichedLog netcoreapp3.1 4.23μs 4.48ns 17.3ns 0.025 0 0 1.84 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.589 783.31 1,244.57
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.386 768.19 1,064.38
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.379 1,077.19 1,484.99
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.223 940.97 1,150.75

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 850 B 192 B 29.18%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 931 B 193 B 26.15%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 800 B 152 B 23.46%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 920 B 152 B 19.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 783ns 0.665ns 2.58ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 768ns 0.299ns 1.12ns 0.00881 0 0 648 B
master StartFinishScope net472 1.08μs 0.789ns 2.95ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 941ns 0.361ns 1.35ns 0.0104 0 0 768 B
#2982 StartFinishSpan net472 1.24μs 0.844ns 3.27ns 0.135 0 0 850 B
#2982 StartFinishSpan netcoreapp3.1 1.06μs 0.39ns 1.51ns 0.0106 0 0 800 B
#2982 StartFinishScope net472 1.49μs 0.774ns 3ns 0.147 0 0 931 B
#2982 StartFinishScope netcoreapp3.1 1.15μs 0.356ns 1.38ns 0.0127 0 0 920 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.268 1,228.45 1,558.00
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.124 1,049.11 1,179.50

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 931 B 193 B 26.15%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 920 B 152 B 19.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.23μs 0.756ns 2.93ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.05μs 0.472ns 1.83ns 0.0103 0 0 768 B
#2982 RunOnMethodBegin net472 1.56μs 1.3ns 5.03ns 0.147 0 0 931 B
#2982 RunOnMethodBegin netcoreapp3.1 1.18μs 0.414ns 1.6ns 0.0126 0 0 920 B

andrewlock avatar Jul 21 '22 19:07 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 17 benchmarks are slower, with geometric mean 1.262
  • 27 benchmarks have more 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 724μs 392ns 1.52μs 0.359 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 458μs 267ns 964ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 723μs 352ns 1.27μs 0.361 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 463μs 189ns 706ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.69μs 2.66ns 10.3ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.82μs 2.48ns 8.95ns 0.0181 0 0 1.37 KB
master AllCycleMoreComplexBody net472 16.8μs 14.8ns 57.4ns 1.38 0.025 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 13.6μs 18.9ns 73.3ns 0.101 0 0 7.85 KB
master BodyExtractorSimpleBody net472 270ns 0.343ns 1.33ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 223ns 0.307ns 1.19ns 0.00382 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.7μs 13.3ns 51.5ns 1.21 0.0147 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12μs 11.3ns 40.7ns 0.0892 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 1.75μs 2.1ns 8.12ns 0.237 0 0 1.49 KB
#2982 AllCycleSimpleBody netcoreapp3.1 1.83μs 1.55ns 6.01ns 0.0185 0 0 1.37 KB
#2982 AllCycleMoreComplexBody net472 16.7μs 8.3ns 31.1ns 1.38 0.025 0 8.75 KB
#2982 AllCycleMoreComplexBody netcoreapp3.1 13.8μs 15.1ns 56.7ns 0.103 0 0 7.85 KB
#2982 BodyExtractorSimpleBody net472 254ns 0.18ns 0.695ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 226ns 0.394ns 1.47ns 0.00373 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.8μs 7.5ns 29.1ns 1.21 0.0148 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 17.3ns 67ns 0.09 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 19.94 KB 20.1 KB 152 B 0.76%

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 152ns 590ns 0.264 0 0 19.94 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 179μs 217ns 784ns 0.265 0 0 20.1 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.277 1,544.20 1,972.37
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.261 1,215.79 1,533.41

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 987 B 193 B 24.31%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 976 B 152 B 18.45%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.54μs 0.438ns 1.7ns 0.126 0.000774 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.22μs 0.394ns 1.47ns 0.011 0 0 824 B
#2982 ExecuteNonQuery net472 1.97μs 0.92ns 3.56ns 0.156 0.00099 0 987 B
#2982 ExecuteNonQuery netcoreapp3.1 1.53μs 0.51ns 1.91ns 0.0137 0 0 976 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.213 2,355.14 2,856.85
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.177 1,368.51 1,610.19
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.159 1,475.95 1,710.09
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.157 2,219.63 2,568.05

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.2 KB 193 B 19.24%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.33 KB 193 B 16.94%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.14 KB 152 B 15.45%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.26 KB 152 B 13.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.22μs 0.815ns 3.05ns 0.158 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.37μs 0.648ns 2.51ns 0.0131 0 0 984 B
master CallElasticsearchAsync net472 2.36μs 0.697ns 2.7ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.47μs 0.738ns 2.86ns 0.0148 0 0 1.1 KB
#2982 CallElasticsearch net472 2.57μs 0.281ns 1.01ns 0.19 0 0 1.2 KB
#2982 CallElasticsearch netcoreapp3.1 1.61μs 0.808ns 2.91ns 0.0157 0 0 1.14 KB
#2982 CallElasticsearchAsync net472 2.86μs 0.844ns 3.27ns 0.211 0 0 1.33 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.71μs 0.408ns 1.53ns 0.0171 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.228 2,333.64 2,865.12
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.189 1,527.10 1,815.30

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.45 KB 192 B 15.24%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.38 KB 152 B 12.42%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.33μs 2.38ns 8.59ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.53μs 1.5ns 5.81ns 0.016 0 0 1.22 KB
#2982 ExecuteAsync net472 2.87μs 6.08ns 23.6ns 0.23 0 0 1.45 KB
#2982 ExecuteAsync netcoreapp3.1 1.82μs 2.75ns 10.7ns 0.019 0 0 1.38 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.67 KB 193 B 7.79%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.4 KB 2.55 KB 152 B 6.33%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.04μs 5.27ns 20.4ns 0.394 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.37μs 3.2ns 12.4ns 0.032 0 0 2.4 KB
#2982 SendAsync net472 5.39μs 5.5ns 19.8ns 0.423 0 0 2.67 KB
#2982 SendAsync netcoreapp3.1 3.6μs 8.56ns 33.2ns 0.0341 0 0 2.55 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.180 2,845.95 3,358.23

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.85 KB 192 B 11.56%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.89 KB 152 B 8.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.85μs 1.7ns 6.58ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.34μs 1.23ns 4.45ns 0.0234 0 0 1.73 KB
#2982 EnrichedLog net472 3.36μs 3.41ns 13.2ns 0.294 0 0 1.85 KB
#2982 EnrichedLog netcoreapp3.1 2.53μs 1.02ns 3.82ns 0.025 0 0 1.89 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.69 KB 192 B 4.26%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.53 KB 152 B 3.47%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 146μs 128ns 497ns 0.661 0.22 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 141ns 546ns 0.0569 0 0 4.38 KB
#2982 EnrichedLog net472 150μs 141ns 526ns 0.677 0.226 0 4.69 KB
#2982 EnrichedLog netcoreapp3.1 115μs 208ns 779ns 0.0565 0 0 4.53 KB
Benchmarks.Trace.NLogBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 1.133 5,169.11 5,857.36

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.63 KB 192 B 5.59%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.95 KB 152 B 4.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.17μs 10.3ns 40ns 0.545 0.00252 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.11μs 5.41ns 21ns 0.0509 0 0 3.8 KB
#2982 EnrichedLog net472 5.86μs 8.48ns 32.8ns 0.574 0.00291 0 3.63 KB
#2982 EnrichedLog netcoreapp3.1 4.41μs 8.63ns 33.4ns 0.0533 0 0 3.95 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.170 1,927.84 2,255.60

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.21 KB 1.4 KB 192 B 15.84%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.2 KB 1.35 KB 152 B 12.67%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.93μs 1.3ns 4.69ns 0.192 0 0 1.21 KB
master SendReceive netcoreapp3.1 1.66μs 0.581ns 2.25ns 0.0165 0 0 1.2 KB
#2982 SendReceive net472 2.26μs 1.29ns 5ns 0.222 0 0 1.4 KB
#2982 SendReceive netcoreapp3.1 1.84μs 0.95ns 3.68ns 0.0184 0 0 1.35 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.27 KB 193 B 9.29%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.84 KB 152 B 9.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.85μs 1.11ns 4.28ns 0.328 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.21μs 1.67ns 6.25ns 0.021 0 0 1.69 KB
#2982 EnrichedLog net472 5.09μs 1.01ns 3.76ns 0.359 0 0 2.27 KB
#2982 EnrichedLog netcoreapp3.1 4.34μs 2.91ns 10.9ns 0.0239 0 0 1.84 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.504 811.88 1,221.35
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.480 716.56 1,060.65
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.460 988.89 1,443.86
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.298 916.58 1,189.57

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 851 B 193 B 29.33%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 931 B 193 B 26.15%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 800 B 152 B 23.46%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 920 B 152 B 19.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 812ns 0.369ns 1.43ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 716ns 0.199ns 0.773ns 0.00856 0 0 648 B
master StartFinishScope net472 988ns 0.259ns 1ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 918ns 1.1ns 4.27ns 0.0106 0 0 768 B
#2982 StartFinishSpan net472 1.22μs 0.502ns 1.94ns 0.135 0 0 851 B
#2982 StartFinishSpan netcoreapp3.1 1.06μs 0.348ns 1.3ns 0.0107 0 0 800 B
#2982 StartFinishScope net472 1.44μs 0.363ns 1.36ns 0.148 0 0 931 B
#2982 StartFinishScope netcoreapp3.1 1.19μs 0.559ns 2.16ns 0.0124 0 0 920 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.349 970.76 1,309.76
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.298 1,228.50 1,594.42

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 931 B 193 B 26.15%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 920 B 152 B 19.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.23μs 0.424ns 1.64ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 971ns 0.417ns 1.62ns 0.0103 0 0 768 B
#2982 RunOnMethodBegin net472 1.59μs 0.446ns 1.67ns 0.147 0 0 931 B
#2982 RunOnMethodBegin netcoreapp3.1 1.31μs 0.939ns 3.64ns 0.0123 0 0 920 B

andrewlock avatar Jul 22 '22 15:07 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 18 benchmarks are slower, with geometric mean 1.214
  • 27 benchmarks have more 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 711μs 360ns 1.39μs 0.353 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 455μs 177ns 664ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 720μs 389ns 1.51μs 0.359 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 106ns 398ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.68μs 1.25ns 4.86ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.76μs 2.69ns 9.71ns 0.0186 0 0 1.37 KB
master AllCycleMoreComplexBody net472 16.7μs 12.2ns 45.6ns 1.38 0.0251 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.2μs 12.8ns 49.6ns 0.107 0 0 7.85 KB
master BodyExtractorSimpleBody net472 252ns 0.198ns 0.741ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 235ns 0.306ns 1.18ns 0.00369 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.1μs 21.1ns 81.9ns 1.2 0.0151 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 11.6μs 13.1ns 49ns 0.0867 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 1.73μs 1.47ns 5.69ns 0.237 0 0 1.49 KB
#2982 AllCycleSimpleBody netcoreapp3.1 1.76μs 1.84ns 7.11ns 0.0185 0 0 1.37 KB
#2982 AllCycleMoreComplexBody net472 16.6μs 9.79ns 36.6ns 1.38 0.0247 0 8.75 KB
#2982 AllCycleMoreComplexBody netcoreapp3.1 14.1μs 12ns 45ns 0.105 0 0 7.85 KB
#2982 BodyExtractorSimpleBody net472 252ns 0.321ns 1.2ns 0.0574 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 224ns 0.364ns 1.41ns 0.0037 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.6μs 9.14ns 34.2ns 1.21 0.0219 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 17.6ns 65.7ns 0.0911 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 19.95 KB 20.1 KB 151 B 0.76%

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 133ns 514ns 0.263 0 0 19.95 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 180μs 96.4ns 373ns 0.179 0 0 20.1 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.251 1,608.31 2,012.58
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.139 1,312.01 1,494.81

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 987 B 193 B 24.31%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 976 B 152 B 18.45%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.61μs 0.647ns 2.51ns 0.126 0.00081 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.31μs 0.321ns 1.2ns 0.0111 0 0 824 B
#2982 ExecuteNonQuery net472 2.01μs 0.521ns 1.95ns 0.157 0.001 0 987 B
#2982 ExecuteNonQuery netcoreapp3.1 1.5μs 0.641ns 2.31ns 0.0134 0 0 976 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.175 2,338.97 2,747.29
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.164 2,173.44 2,528.83
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.147 1,486.88 1,705.68
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.125 1,420.06 1,597.58

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.2 KB 193 B 19.24%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.33 KB 193 B 16.94%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.14 KB 152 B 15.45%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.26 KB 152 B 13.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.17μs 1.43ns 5.55ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.42μs 0.595ns 2.23ns 0.0136 0 0 984 B
master CallElasticsearchAsync net472 2.34μs 0.915ns 3.42ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.49μs 1.25ns 4.31ns 0.0149 0 0 1.1 KB
#2982 CallElasticsearch net472 2.53μs 0.655ns 2.45ns 0.189 0 0 1.2 KB
#2982 CallElasticsearch netcoreapp3.1 1.6μs 1.03ns 3.85ns 0.0152 0 0 1.14 KB
#2982 CallElasticsearchAsync net472 2.75μs 0.573ns 2.14ns 0.21 0 0 1.33 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.71μs 0.918ns 3.43ns 0.0171 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.166 2,400.91 2,799.69
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.141 1,622.52 1,851.41

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.45 KB 192 B 15.24%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.38 KB 152 B 12.42%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.4μs 5.06ns 19.6ns 0.199 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.62μs 3.43ns 13.3ns 0.0163 0 0 1.22 KB
#2982 ExecuteAsync net472 2.8μs 6.88ns 26.6ns 0.23 0 0 1.45 KB
#2982 ExecuteAsync netcoreapp3.1 1.85μs 2.63ns 10.2ns 0.019 0 0 1.38 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.67 KB 193 B 7.79%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.4 KB 2.55 KB 152 B 6.33%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 4.94μs 10.1ns 39.2ns 0.393 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.29μs 3.37ns 13.1ns 0.0327 0 0 2.4 KB
#2982 SendAsync net472 5.46μs 12.3ns 45.9ns 0.423 0 0 2.67 KB
#2982 SendAsync netcoreapp3.1 3.56μs 9.21ns 35.7ns 0.0358 0 0 2.55 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.153 2,310.12 2,662.82
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.114 2,888.23 3,216.30

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.85 KB 192 B 11.56%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.89 KB 152 B 8.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.89μs 2.09ns 8.1ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.31μs 1.68ns 6.29ns 0.0233 0 0 1.73 KB
#2982 EnrichedLog net472 3.22μs 0.861ns 3.34ns 0.293 0 0 1.85 KB
#2982 EnrichedLog netcoreapp3.1 2.66μs 1.44ns 5.59ns 0.0253 0 0 1.89 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.69 KB 193 B 4.29%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.53 KB 152 B 3.47%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 147μs 123ns 476ns 0.662 0.221 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 251ns 971ns 0.0561 0 0 4.38 KB
#2982 EnrichedLog net472 149μs 145ns 563ns 0.676 0.225 0 4.69 KB
#2982 EnrichedLog netcoreapp3.1 114μs 254ns 983ns 0.0573 0 0 4.53 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.63 KB 192 B 5.59%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.95 KB 152 B 4.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.44μs 12ns 46.6ns 0.546 0.00271 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.18μs 9.44ns 35.3ns 0.0505 0 0 3.8 KB
#2982 EnrichedLog net472 5.89μs 19.5ns 75.4ns 0.574 0.0029 0 3.63 KB
#2982 EnrichedLog netcoreapp3.1 4.39μs 6.73ns 26.1ns 0.0523 0 0 3.95 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.214 1,948.59 2,364.63
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.119 1,659.42 1,857.51

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.21 KB 1.4 KB 192 B 15.84%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.2 KB 1.35 KB 152 B 12.67%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.95μs 0.986ns 3.82ns 0.192 0 0 1.21 KB
master SendReceive netcoreapp3.1 1.66μs 1.35ns 5.06ns 0.0159 0 0 1.2 KB
#2982 SendReceive net472 2.36μs 0.632ns 2.45ns 0.222 0 0 1.4 KB
#2982 SendReceive netcoreapp3.1 1.86μs 1.12ns 4.33ns 0.0177 0 0 1.35 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.27 KB 193 B 9.29%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.84 KB 152 B 9.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.84μs 1.31ns 4.91ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.16μs 1.19ns 4.6ns 0.0228 0 0 1.69 KB
#2982 EnrichedLog net472 5.06μs 1.38ns 5.36ns 0.359 0 0 2.27 KB
#2982 EnrichedLog netcoreapp3.1 4.28μs 2.13ns 8.26ns 0.024 0 0 1.84 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.584 778.84 1,233.41
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.461 1,004.37 1,467.02
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.359 783.91 1,065.08
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.181 920.18 1,086.99

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 851 B 193 B 29.33%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 931 B 193 B 26.15%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 800 B 152 B 23.46%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 920 B 152 B 19.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 779ns 0.289ns 1.12ns 0.105 0 0 658 B
master StartFinishSpan netcoreapp3.1 784ns 0.261ns 0.977ns 0.00862 0 0 648 B
master StartFinishScope net472 1μs 0.351ns 1.27ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 920ns 0.308ns 1.19ns 0.0101 0 0 768 B
#2982 StartFinishSpan net472 1.23μs 0.527ns 1.97ns 0.135 0 0 851 B
#2982 StartFinishSpan netcoreapp3.1 1.06μs 0.387ns 1.45ns 0.0106 0 0 800 B
#2982 StartFinishScope net472 1.47μs 0.506ns 1.96ns 0.148 0 0 931 B
#2982 StartFinishScope netcoreapp3.1 1.09μs 0.547ns 2.12ns 0.0126 0 0 920 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.249 1,241.47 1,550.00
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.214 1,058.77 1,284.87

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 931 B 193 B 26.15%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 920 B 152 B 19.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.24μs 0.893ns 3.46ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.06μs 0.283ns 1.02ns 0.0106 0 0 768 B
#2982 RunOnMethodBegin net472 1.55μs 0.662ns 2.56ns 0.147 0 0 931 B
#2982 RunOnMethodBegin netcoreapp3.1 1.28μs 0.965ns 3.61ns 0.0121 0 0 920 B

andrewlock avatar Jul 22 '22 18:07 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 17 benchmarks are slower, with geometric mean 1.223
  • 27 benchmarks have more 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 711μs 360ns 1.39μs 0.353 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 455μs 177ns 664ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 720μs 344ns 1.24μs 0.359 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 466μs 176ns 658ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.68μs 1.25ns 4.86ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.76μs 2.69ns 9.71ns 0.0186 0 0 1.37 KB
master AllCycleMoreComplexBody net472 16.7μs 12.2ns 45.6ns 1.38 0.0251 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.2μs 12.8ns 49.6ns 0.107 0 0 7.85 KB
master BodyExtractorSimpleBody net472 252ns 0.198ns 0.741ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 235ns 0.306ns 1.18ns 0.00369 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.1μs 21.1ns 81.9ns 1.2 0.0151 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 11.6μs 13.1ns 49ns 0.0867 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 1.71μs 2.47ns 9.59ns 0.237 0 0 1.49 KB
#2982 AllCycleSimpleBody netcoreapp3.1 1.82μs 1.64ns 6.35ns 0.0189 0 0 1.37 KB
#2982 AllCycleMoreComplexBody net472 16.8μs 8.7ns 32.5ns 1.39 0.0252 0 8.75 KB
#2982 AllCycleMoreComplexBody netcoreapp3.1 13.6μs 27.5ns 103ns 0.108 0 0 7.85 KB
#2982 BodyExtractorSimpleBody net472 251ns 0.163ns 0.629ns 0.0574 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 229ns 0.246ns 0.886ns 0.00356 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.6μs 9.24ns 34.6ns 1.21 0.0218 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 11.9μs 16ns 59.7ns 0.0888 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 19.95 KB 20.1 KB 151 B 0.76%

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 133ns 514ns 0.263 0 0 19.95 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 178μs 144ns 556ns 0.177 0 0 20.1 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.156 1,608.31 1,858.61
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.142 1,312.01 1,498.80

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 987 B 193 B 24.31%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 976 B 152 B 18.45%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.61μs 0.647ns 2.51ns 0.126 0.00081 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.31μs 0.321ns 1.2ns 0.0111 0 0 824 B
#2982 ExecuteNonQuery net472 1.86μs 0.664ns 2.57ns 0.156 0.000931 0 987 B
#2982 ExecuteNonQuery netcoreapp3.1 1.5μs 0.498ns 1.86ns 0.0128 0 0 976 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.237 2,173.44 2,688.07
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.203 1,486.88 1,788.44
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.164 2,338.97 2,723.55
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.161 1,420.06 1,648.35

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.2 KB 193 B 19.24%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.33 KB 193 B 16.94%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.14 KB 152 B 15.45%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.26 KB 152 B 13.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.17μs 1.43ns 5.55ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.42μs 0.595ns 2.23ns 0.0136 0 0 984 B
master CallElasticsearchAsync net472 2.34μs 0.915ns 3.42ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.49μs 1.25ns 4.31ns 0.0149 0 0 1.1 KB
#2982 CallElasticsearch net472 2.68μs 3.18ns 12.3ns 0.189 0 0 1.2 KB
#2982 CallElasticsearch netcoreapp3.1 1.65μs 3.01ns 11.6ns 0.0151 0 0 1.14 KB
#2982 CallElasticsearchAsync net472 2.72μs 2.09ns 8.08ns 0.211 0 0 1.33 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.79μs 1.81ns 7.02ns 0.0168 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.127 1,622.52 1,828.24
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.118 2,400.91 2,684.80

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.45 KB 192 B 15.24%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.38 KB 152 B 12.42%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.4μs 5.06ns 19.6ns 0.199 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.62μs 3.43ns 13.3ns 0.0163 0 0 1.22 KB
#2982 ExecuteAsync net472 2.68μs 5.18ns 20.1ns 0.231 0 0 1.45 KB
#2982 ExecuteAsync netcoreapp3.1 1.83μs 3.96ns 14.8ns 0.0189 0 0 1.38 KB
Benchmarks.Trace.HttpClientBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 1.124 3,286.54 3,695.64

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.67 KB 193 B 7.79%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.4 KB 2.55 KB 152 B 6.33%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 4.94μs 10.1ns 39.2ns 0.393 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.29μs 3.37ns 13.1ns 0.0327 0 0 2.4 KB
#2982 SendAsync net472 5.41μs 9.56ns 37ns 0.423 0 0 2.67 KB
#2982 SendAsync netcoreapp3.1 3.69μs 10.9ns 42.3ns 0.035 0 0 2.55 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.85 KB 192 B 11.56%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.89 KB 152 B 8.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.89μs 2.09ns 8.1ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.31μs 1.68ns 6.29ns 0.0233 0 0 1.73 KB
#2982 EnrichedLog net472 3.21μs 2.63ns 10.2ns 0.294 0 0 1.85 KB
#2982 EnrichedLog netcoreapp3.1 2.47μs 1.28ns 4.95ns 0.025 0 0 1.89 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.69 KB 193 B 4.29%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.53 KB 152 B 3.47%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 147μs 123ns 476ns 0.662 0.221 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 251ns 971ns 0.0561 0 0 4.38 KB
#2982 EnrichedLog net472 151μs 165ns 638ns 0.742 0.223 0 4.69 KB
#2982 EnrichedLog netcoreapp3.1 115μs 99.4ns 372ns 0.0574 0 0 4.53 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.63 KB 192 B 5.59%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.95 KB 152 B 4.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.44μs 12ns 46.6ns 0.546 0.00271 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.18μs 9.44ns 35.3ns 0.0505 0 0 3.8 KB
#2982 EnrichedLog net472 5.64μs 13ns 50.4ns 0.575 0.00278 0 3.63 KB
#2982 EnrichedLog netcoreapp3.1 4.55μs 7.71ns 27.8ns 0.0521 0 0 3.95 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.191 1,948.59 2,320.16
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.161 1,659.42 1,925.95

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.21 KB 1.4 KB 192 B 15.84%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.2 KB 1.35 KB 152 B 12.67%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.95μs 0.986ns 3.82ns 0.192 0 0 1.21 KB
master SendReceive netcoreapp3.1 1.66μs 1.35ns 5.06ns 0.0159 0 0 1.2 KB
#2982 SendReceive net472 2.32μs 0.702ns 2.63ns 0.222 0 0 1.4 KB
#2982 SendReceive netcoreapp3.1 1.93μs 0.514ns 1.92ns 0.0184 0 0 1.35 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.27 KB 193 B 9.29%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.84 KB 152 B 9.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.84μs 1.31ns 4.91ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.16μs 1.19ns 4.6ns 0.0228 0 0 1.69 KB
#2982 EnrichedLog net472 4.95μs 4.56ns 17.1ns 0.359 0 0 2.27 KB
#2982 EnrichedLog netcoreapp3.1 4.35μs 3.09ns 12ns 0.0241 0 0 1.84 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.587 778.84 1,236.28
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.378 1,004.37 1,383.80
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.370 783.91 1,073.87
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.318 920.18 1,212.59

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 850 B 192 B 29.18%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 931 B 193 B 26.15%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 800 B 152 B 23.46%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 920 B 152 B 19.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 779ns 0.289ns 1.12ns 0.105 0 0 658 B
master StartFinishSpan netcoreapp3.1 784ns 0.261ns 0.977ns 0.00862 0 0 648 B
master StartFinishScope net472 1μs 0.351ns 1.27ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 920ns 0.308ns 1.19ns 0.0101 0 0 768 B
#2982 StartFinishSpan net472 1.24μs 0.579ns 2.24ns 0.135 0 0 850 B
#2982 StartFinishSpan netcoreapp3.1 1.07μs 1.01ns 3.9ns 0.0107 0 0 800 B
#2982 StartFinishScope net472 1.38μs 0.496ns 1.85ns 0.148 0 0 931 B
#2982 StartFinishScope netcoreapp3.1 1.21μs 0.276ns 1.03ns 0.0122 0 0 920 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.265 1,241.47 1,570.54
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.182 1,058.77 1,250.96

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 931 B 193 B 26.15%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 920 B 152 B 19.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.24μs 0.893ns 3.46ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.06μs 0.283ns 1.02ns 0.0106 0 0 768 B
#2982 RunOnMethodBegin net472 1.57μs 0.655ns 2.54ns 0.148 0 0 931 B
#2982 RunOnMethodBegin netcoreapp3.1 1.25μs 0.456ns 1.71ns 0.0125 0 0 920 B

andrewlock avatar Jul 23 '22 02:07 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 18 benchmarks are slower, with geometric mean 1.237
  • 27 benchmarks have more allocations

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 727μs 502ns 1.95μs 0.359 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 443μs 128ns 462ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 709μs 301ns 1.13μs 0.355 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 492μs 378ns 1.46μs 0 0 0 2.59 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.72μs 0.513ns 1.85ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.79μs 1.91ns 6.9ns 0.0188 0 0 1.37 KB
master AllCycleMoreComplexBody net472 17.3μs 6.77ns 23.5ns 1.39 0.0251 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.3μs 36.6ns 142ns 0.106 0 0 7.85 KB
master BodyExtractorSimpleBody net472 273ns 0.221ns 0.857ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 221ns 0.363ns 1.41ns 0.00366 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.9μs 13.1ns 50.9ns 1.21 0.0148 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12μs 12.8ns 49.4ns 0.0903 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 1.66μs 5.23ns 19.6ns 0.237 0 0 1.49 KB
#2982 AllCycleSimpleBody netcoreapp3.1 1.83μs 3.3ns 12.3ns 0.0183 0 0 1.37 KB
#2982 AllCycleMoreComplexBody net472 16.6μs 12ns 46.6ns 1.39 0.0248 0 8.75 KB
#2982 AllCycleMoreComplexBody netcoreapp3.1 14.3μs 15.2ns 58.9ns 0.0999 0 0 7.85 KB
#2982 BodyExtractorSimpleBody net472 255ns 0.169ns 0.633ns 0.0574 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 222ns 0.241ns 0.932ns 0.00367 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 15μs 12.5ns 48.2ns 1.21 0.015 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 11.9μs 10.2ns 38.1ns 0.0897 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.48 KB 153 B 0.75%

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 90.2ns 349ns 0.179 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 185μs 282ns 1.09μs 0.185 0 0 20.48 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.320 1,495.10 1,973.25
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.295 1,237.51 1,602.68

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 987 B 193 B 24.31%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 976 B 152 B 18.45%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.49μs 0.73ns 2.83ns 0.126 0.000752 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.24μs 0.426ns 1.54ns 0.0111 0 0 824 B
#2982 ExecuteNonQuery net472 1.98μs 1.84ns 6.37ns 0.156 0.001 0 987 B
#2982 ExecuteNonQuery netcoreapp3.1 1.6μs 0.464ns 1.74ns 0.0129 0 0 976 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.204 1,428.95 1,721.02
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.180 2,312.94 2,729.61
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.155 2,291.79 2,646.07
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.139 1,417.55 1,615.01

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.2 KB 193 B 19.24%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.33 KB 193 B 16.94%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.14 KB 152 B 15.45%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.26 KB 152 B 13.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.29μs 1.05ns 3.93ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.42μs 1.25ns 4.69ns 0.0134 0 0 984 B
master CallElasticsearchAsync net472 2.31μs 0.535ns 1.93ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.43μs 0.451ns 1.63ns 0.0151 0 0 1.1 KB
#2982 CallElasticsearch net472 2.65μs 0.853ns 3.19ns 0.189 0 0 1.2 KB
#2982 CallElasticsearch netcoreapp3.1 1.61μs 0.995ns 3.85ns 0.0153 0 0 1.14 KB
#2982 CallElasticsearchAsync net472 2.73μs 1.03ns 3.99ns 0.211 0 0 1.33 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.72μs 0.47ns 1.76ns 0.0174 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.227 2,455.45 3,013.20

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.45 KB 192 B 15.24%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.38 KB 152 B 12.42%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.45μs 5.32ns 19.9ns 0.199 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.63μs 2.52ns 9.44ns 0.0162 0 0 1.22 KB
#2982 ExecuteAsync net472 3.01μs 3.94ns 15.3ns 0.23 0 0 1.45 KB
#2982 ExecuteAsync netcoreapp3.1 1.82μs 3.03ns 11.7ns 0.0179 0 0 1.38 KB
Benchmarks.Trace.HttpClientBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 1.121 4,862.46 5,453.12

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.67 KB 193 B 7.79%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.51 KB 152 B 6.44%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 4.85μs 9.14ns 34.2ns 0.393 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.17μs 6.8ns 26.3ns 0.0319 0 0 2.36 KB
#2982 SendAsync net472 5.45μs 7.08ns 27.4ns 0.424 0 0 2.67 KB
#2982 SendAsync netcoreapp3.1 3.49μs 5.05ns 19.6ns 0.0331 0 0 2.51 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.137 2,817.08 3,203.98

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.85 KB 192 B 11.56%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.89 KB 152 B 8.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.82μs 1.45ns 5.61ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.35μs 0.461ns 1.73ns 0.0234 0 0 1.73 KB
#2982 EnrichedLog net472 3.2μs 0.891ns 3.33ns 0.293 0 0 1.85 KB
#2982 EnrichedLog netcoreapp3.1 2.58μs 0.843ns 3.04ns 0.0257 0 0 1.89 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.69 KB 192 B 4.26%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.53 KB 152 B 3.47%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 147μs 70.7ns 274ns 0.664 0.221 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 86.3ns 334ns 0.0565 0 0 4.38 KB
#2982 EnrichedLog net472 149μs 204ns 790ns 0.741 0.222 0 4.69 KB
#2982 EnrichedLog netcoreapp3.1 115μs 45.3ns 170ns 0.0572 0 0 4.53 KB
Benchmarks.Trace.NLogBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 1.116 5,270.29 5,882.91

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.63 KB 192 B 5.59%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.95 KB 152 B 4.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.27μs 7.37ns 28.5ns 0.545 0.00263 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.19μs 7.55ns 29.3ns 0.0525 0 0 3.8 KB
#2982 EnrichedLog net472 5.88μs 4.99ns 19.3ns 0.576 0.00291 0 3.63 KB
#2982 EnrichedLog netcoreapp3.1 4.53μs 3.22ns 12ns 0.0519 0 0 3.95 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.264 1,939.45 2,452.27
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.139 1,655.47 1,885.21

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.41 KB 192 B 15.74%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.36 KB 152 B 12.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.94μs 0.645ns 2.5ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.66μs 0.503ns 1.74ns 0.0167 0 0 1.21 KB
#2982 SendReceive net472 2.45μs 1.43ns 5.36ns 0.224 0 0 1.41 KB
#2982 SendReceive netcoreapp3.1 1.88μs 0.536ns 1.93ns 0.0181 0 0 1.36 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.27 KB 193 B 9.29%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.84 KB 152 B 9.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.62μs 1.07ns 4ns 0.328 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.17μs 1.21ns 4.68ns 0.0228 0 0 1.69 KB
#2982 EnrichedLog net472 5.07μs 2.17ns 8.4ns 0.359 0 0 2.27 KB
#2982 EnrichedLog netcoreapp3.1 4.32μs 2.17ns 8.39ns 0.0238 0 0 1.84 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.448 1,062.10 1,537.76
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.404 903.77 1,268.96
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.309 803.54 1,052.06
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.291 912.35 1,177.66

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 850 B 192 B 29.18%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 931 B 193 B 26.15%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 800 B 152 B 23.46%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 920 B 152 B 19.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 904ns 0.284ns 1.1ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 803ns 0.3ns 1.16ns 0.0089 0 0 648 B
master StartFinishScope net472 1.06μs 0.513ns 1.99ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 912ns 0.2ns 0.72ns 0.0106 0 0 768 B
#2982 StartFinishSpan net472 1.27μs 0.476ns 1.84ns 0.135 0 0 850 B
#2982 StartFinishSpan netcoreapp3.1 1.05μs 0.453ns 1.75ns 0.0105 0 0 800 B
#2982 StartFinishScope net472 1.54μs 0.588ns 2.2ns 0.148 0 0 931 B
#2982 StartFinishScope netcoreapp3.1 1.18μs 1.35ns 5.24ns 0.0122 0 0 920 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.329 1,196.12 1,589.58
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.247 1,020.31 1,272.73

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 931 B 193 B 26.15%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 920 B 152 B 19.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.2μs 0.42ns 1.63ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.02μs 0.37ns 1.28ns 0.0102 0 0 768 B
#2982 RunOnMethodBegin net472 1.59μs 0.665ns 2.57ns 0.148 0 0 931 B
#2982 RunOnMethodBegin netcoreapp3.1 1.27μs 0.5ns 1.94ns 0.0125 0 0 920 B

andrewlock avatar Aug 03 '22 18:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 16 benchmarks are slower, with geometric mean 1.234
  • 27 benchmarks have more 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 719μs 673ns 2.52μs 0.359 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 458μs 220ns 824ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 712μs 507ns 1.9μs 0.353 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 462μs 152ns 570ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.71μs 4.24ns 16.4ns 0.236 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.87μs 1.95ns 7.3ns 0.0187 0 0 1.37 KB
master AllCycleMoreComplexBody net472 16.8μs 56.3ns 218ns 1.39 0.0249 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.2μs 18.3ns 70.9ns 0.107 0 0 7.85 KB
master BodyExtractorSimpleBody net472 251ns 0.19ns 0.737ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 226ns 0.427ns 1.6ns 0.0038 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.6μs 9.35ns 33.7ns 1.21 0.0147 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 12.1ns 46.8ns 0.0905 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 1.71μs 2.01ns 7.78ns 0.237 0 0 1.49 KB
#2982 AllCycleSimpleBody netcoreapp3.1 1.76μs 2.3ns 8.93ns 0.0184 0 0 1.37 KB
#2982 AllCycleMoreComplexBody net472 17μs 11.4ns 44ns 1.39 0.0253 0 8.75 KB
#2982 AllCycleMoreComplexBody netcoreapp3.1 14.1μs 13.5ns 48.7ns 0.106 0 0 7.85 KB
#2982 BodyExtractorSimpleBody net472 275ns 0.315ns 1.22ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 223ns 0.219ns 0.848ns 0.00369 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.8μs 8.74ns 32.7ns 1.21 0.0147 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 13.4ns 51.8ns 0.0889 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.48 KB 152 B 0.75%

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 166ns 642ns 0.181 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 186μs 281ns 1.09μs 0.186 0 0 20.48 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.299 1,511.83 1,963.82
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.141 1,266.70 1,444.85

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 987 B 193 B 24.31%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 976 B 152 B 18.45%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.51μs 0.67ns 2.59ns 0.126 0.000761 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.27μs 0.378ns 1.47ns 0.0114 0 0 824 B
#2982 ExecuteNonQuery net472 1.96μs 0.655ns 2.45ns 0.156 0.000981 0 987 B
#2982 ExecuteNonQuery netcoreapp3.1 1.45μs 0.676ns 2.62ns 0.0131 0 0 976 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.216 2,116.70 2,573.64
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.172 1,413.44 1,656.08
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.154 1,478.13 1,705.18
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.127 2,450.59 2,761.05

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.2 KB 193 B 19.24%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.33 KB 192 B 16.84%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.14 KB 152 B 15.45%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.26 KB 152 B 13.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.12μs 1.05ns 4.06ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.41μs 0.982ns 3.67ns 0.0134 0 0 984 B
master CallElasticsearchAsync net472 2.45μs 0.989ns 3.83ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.48μs 0.503ns 1.88ns 0.0148 0 0 1.1 KB
#2982 CallElasticsearch net472 2.57μs 0.633ns 2.45ns 0.189 0 0 1.2 KB
#2982 CallElasticsearch netcoreapp3.1 1.66μs 1.42ns 5.32ns 0.015 0 0 1.14 KB
#2982 CallElasticsearchAsync net472 2.77μs 3.39ns 13.1ns 0.211 0 0 1.33 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.71μs 1.36ns 4.91ns 0.0168 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.178 2,387.53 2,811.99

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.45 KB 192 B 15.24%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.38 KB 152 B 12.42%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.39μs 5.36ns 20ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.63μs 2.21ns 8.28ns 0.0164 0 0 1.22 KB
#2982 ExecuteAsync net472 2.81μs 5.18ns 19.4ns 0.23 0 0 1.45 KB
#2982 ExecuteAsync netcoreapp3.1 1.76μs 2.84ns 11ns 0.0185 0 0 1.38 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.67 KB 193 B 7.79%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.51 KB 152 B 6.44%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 4.92μs 5.04ns 19.5ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.22μs 2.52ns 9.43ns 0.032 0 0 2.36 KB
#2982 SendAsync net472 5.38μs 8.97ns 34.8ns 0.423 0 0 2.67 KB
#2982 SendAsync netcoreapp3.1 3.56μs 4.54ns 17.6ns 0.0337 0 0 2.51 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.197 2,731.30 3,268.04
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.133 2,360.69 2,674.05

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.85 KB 192 B 11.56%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.89 KB 152 B 8.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.73μs 0.783ns 2.82ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.36μs 0.97ns 3.76ns 0.0238 0 0 1.73 KB
#2982 EnrichedLog net472 3.27μs 0.629ns 2.44ns 0.294 0 0 1.85 KB
#2982 EnrichedLog netcoreapp3.1 2.67μs 0.795ns 3.08ns 0.0253 0 0 1.89 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.69 KB 192 B 4.26%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.53 KB 152 B 3.47%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 146μs 114ns 440ns 0.659 0.22 0 4.5 KB
master EnrichedLog netcoreapp3.1 112μs 144ns 557ns 0.0562 0 0 4.38 KB
#2982 EnrichedLog net472 146μs 65.4ns 253ns 0.74 0.222 0 4.69 KB
#2982 EnrichedLog netcoreapp3.1 115μs 67ns 259ns 0.057 0 0 4.53 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.63 KB 192 B 5.59%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.95 KB 152 B 4.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.42μs 5.29ns 19.8ns 0.543 0.0027 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.39μs 2.26ns 8.77ns 0.0525 0 0 3.8 KB
#2982 EnrichedLog net472 5.83μs 11.2ns 41.9ns 0.574 0.00291 0 3.63 KB
#2982 EnrichedLog netcoreapp3.1 4.61μs 8.18ns 30.6ns 0.0536 0 0 3.95 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.165 2,020.94 2,355.32

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.41 KB 192 B 15.74%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.36 KB 152 B 12.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.02μs 1.61ns 6.25ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.72μs 0.607ns 2.27ns 0.0163 0 0 1.21 KB
#2982 SendReceive net472 2.35μs 2.52ns 9.07ns 0.224 0 0 1.41 KB
#2982 SendReceive netcoreapp3.1 1.85μs 0.924ns 3.46ns 0.0186 0 0 1.36 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.27 KB 193 B 9.29%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.84 KB 152 B 9.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.63μs 1.88ns 7.05ns 0.328 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.22μs 1.37ns 5.32ns 0.0232 0 0 1.69 KB
#2982 EnrichedLog net472 5.04μs 2.18ns 8.43ns 0.359 0 0 2.27 KB
#2982 EnrichedLog netcoreapp3.1 4.35μs 3.99ns 14.9ns 0.0239 0 0 1.84 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.467 849.18 1,245.89
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.372 1,089.83 1,495.53
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.353 761.74 1,030.84
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.278 888.50 1,135.69

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 850 B 192 B 29.18%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 931 B 193 B 26.15%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 800 B 152 B 23.46%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 920 B 152 B 19.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 849ns 0.263ns 0.985ns 0.105 0 0 658 B
master StartFinishSpan netcoreapp3.1 762ns 0.226ns 0.875ns 0.00877 0 0 648 B
master StartFinishScope net472 1.09μs 0.281ns 1.05ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 888ns 0.66ns 2.47ns 0.0101 0 0 768 B
#2982 StartFinishSpan net472 1.25μs 0.483ns 1.81ns 0.135 0 0 850 B
#2982 StartFinishSpan netcoreapp3.1 1.03μs 0.486ns 1.75ns 0.0109 0 0 800 B
#2982 StartFinishScope net472 1.5μs 0.215ns 0.806ns 0.148 0 0 931 B
#2982 StartFinishScope netcoreapp3.1 1.14μs 0.377ns 1.41ns 0.0124 0 0 920 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.330 1,192.98 1,586.70
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.229 1,009.14 1,240.55

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 931 B 193 B 26.15%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 920 B 152 B 19.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.19μs 0.319ns 1.23ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.01μs 0.491ns 1.84ns 0.0101 0 0 768 B
#2982 RunOnMethodBegin net472 1.59μs 0.417ns 1.56ns 0.147 0 0 931 B
#2982 RunOnMethodBegin netcoreapp3.1 1.24μs 0.287ns 1.03ns 0.0125 0 0 920 B

andrewlock avatar Aug 03 '22 19:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 16 benchmarks are slower, with geometric mean 1.263
  • 27 benchmarks have more 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 719μs 673ns 2.52μs 0.359 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 458μs 220ns 824ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 713μs 564ns 2.19μs 0.359 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 468μs 299ns 1.12μs 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.71μs 4.24ns 16.4ns 0.236 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.87μs 1.95ns 7.3ns 0.0187 0 0 1.37 KB
master AllCycleMoreComplexBody net472 16.8μs 56.3ns 218ns 1.39 0.0249 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.2μs 18.3ns 70.9ns 0.107 0 0 7.85 KB
master BodyExtractorSimpleBody net472 251ns 0.19ns 0.737ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 226ns 0.427ns 1.6ns 0.0038 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.6μs 9.35ns 33.7ns 1.21 0.0147 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 12.1ns 46.8ns 0.0905 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 1.77μs 0.739ns 2.76ns 0.236 0 0 1.49 KB
#2982 AllCycleSimpleBody netcoreapp3.1 1.8μs 1.51ns 5.85ns 0.0187 0 0 1.37 KB
#2982 AllCycleMoreComplexBody net472 16.3μs 9.7ns 36.3ns 1.38 0.0246 0 8.75 KB
#2982 AllCycleMoreComplexBody netcoreapp3.1 14μs 19.4ns 72.7ns 0.105 0 0 7.85 KB
#2982 BodyExtractorSimpleBody net472 253ns 0.136ns 0.508ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 224ns 0.274ns 0.987ns 0.00366 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.8μs 9.8ns 38ns 1.21 0.0148 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12μs 12.1ns 47ns 0.0894 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.49 KB 160 B 0.79%

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 166ns 642ns 0.181 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 186μs 277ns 1.07μs 0.186 0 0 20.49 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.329 1,511.83 2,008.98
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.202 1,266.70 1,522.56

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 995 B 201 B 25.31%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 984 B 160 B 19.42%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.51μs 0.67ns 2.59ns 0.126 0.000761 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.27μs 0.378ns 1.47ns 0.0114 0 0 824 B
#2982 ExecuteNonQuery net472 2.01μs 0.774ns 2.9ns 0.157 0.001 0 995 B
#2982 ExecuteNonQuery netcoreapp3.1 1.52μs 0.554ns 2.07ns 0.0131 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.239 2,116.70 2,622.00
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.161 1,413.44 1,640.69
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.135 2,450.59 2,780.77
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.135 1,478.13 1,677.26

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.2 KB 201 B 20.04%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.34 KB 200 B 17.54%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.14 KB 160 B 16.26%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.26 KB 160 B 14.49%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.12μs 1.05ns 4.06ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.41μs 0.982ns 3.67ns 0.0134 0 0 984 B
master CallElasticsearchAsync net472 2.45μs 0.989ns 3.83ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.48μs 0.503ns 1.88ns 0.0148 0 0 1.1 KB
#2982 CallElasticsearch net472 2.62μs 0.832ns 3.22ns 0.191 0 0 1.2 KB
#2982 CallElasticsearch netcoreapp3.1 1.64μs 0.684ns 2.65ns 0.0156 0 0 1.14 KB
#2982 CallElasticsearchAsync net472 2.78μs 1.75ns 6.79ns 0.213 0 0 1.34 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.68μs 0.56ns 2.02ns 0.0168 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.177 2,387.53 2,810.68

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.46 KB 200 B 15.87%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.38 KB 160 B 13.07%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.39μs 5.36ns 20ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.63μs 2.21ns 8.28ns 0.0164 0 0 1.22 KB
#2982 ExecuteAsync net472 2.81μs 4.99ns 19.3ns 0.232 0 0 1.46 KB
#2982 ExecuteAsync netcoreapp3.1 1.8μs 2.95ns 11.4ns 0.0189 0 0 1.38 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.68 KB 201 B 8.11%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.52 KB 160 B 6.78%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 4.92μs 5.04ns 19.5ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.22μs 2.52ns 9.43ns 0.032 0 0 2.36 KB
#2982 SendAsync net472 5.43μs 7.28ns 28.2ns 0.425 0 0 2.68 KB
#2982 SendAsync netcoreapp3.1 3.53μs 3.01ns 10.8ns 0.0348 0 0 2.52 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.171 2,731.30 3,198.22

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.86 KB 200 B 12.04%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.89 KB 160 B 9.23%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.73μs 0.783ns 2.82ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.36μs 0.97ns 3.76ns 0.0238 0 0 1.73 KB
#2982 EnrichedLog net472 3.2μs 1.1ns 4.25ns 0.295 0 0 1.86 KB
#2982 EnrichedLog netcoreapp3.1 2.58μs 1.11ns 4.14ns 0.0256 0 0 1.89 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.7 KB 200 B 4.44%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.54 KB 160 B 3.66%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 146μs 114ns 440ns 0.659 0.22 0 4.5 KB
master EnrichedLog netcoreapp3.1 112μs 144ns 557ns 0.0562 0 0 4.38 KB
#2982 EnrichedLog net472 149μs 66ns 247ns 0.675 0.225 0 4.7 KB
#2982 EnrichedLog netcoreapp3.1 112μs 183ns 708ns 0.0561 0 0 4.54 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.63 KB 200 B 5.82%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.96 KB 160 B 4.21%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.42μs 5.29ns 19.8ns 0.543 0.0027 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.39μs 2.26ns 8.77ns 0.0525 0 0 3.8 KB
#2982 EnrichedLog net472 5.96μs 4.43ns 17.2ns 0.575 0.00295 0 3.63 KB
#2982 EnrichedLog netcoreapp3.1 4.6μs 4.02ns 15.6ns 0.0526 0 0 3.96 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.214 2,020.94 2,453.64
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.157 1,718.49 1,988.89

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.42 KB 200 B 16.39%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.37 KB 160 B 13.25%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.02μs 1.61ns 6.25ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.72μs 0.607ns 2.27ns 0.0163 0 0 1.21 KB
#2982 SendReceive net472 2.45μs 2.12ns 8.21ns 0.225 0 0 1.42 KB
#2982 SendReceive netcoreapp3.1 1.99μs 0.932ns 3.61ns 0.0178 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.28 KB 201 B 9.67%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.85 KB 160 B 9.48%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.63μs 1.88ns 7.05ns 0.328 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.22μs 1.37ns 5.32ns 0.0232 0 0 1.69 KB
#2982 EnrichedLog net472 4.93μs 1.43ns 5.55ns 0.361 0 0 2.28 KB
#2982 EnrichedLog netcoreapp3.1 4.41μs 2.19ns 8.19ns 0.0243 0 0 1.85 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.497 849.18 1,271.41
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.492 761.74 1,136.50
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.360 888.50 1,208.59
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.356 1,089.83 1,478.29

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 859 B 201 B 30.55%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 939 B 201 B 27.24%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 808 B 160 B 24.69%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 928 B 160 B 20.83%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 849ns 0.263ns 0.985ns 0.105 0 0 658 B
master StartFinishSpan netcoreapp3.1 762ns 0.226ns 0.875ns 0.00877 0 0 648 B
master StartFinishScope net472 1.09μs 0.281ns 1.05ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 888ns 0.66ns 2.47ns 0.0101 0 0 768 B
#2982 StartFinishSpan net472 1.27μs 0.272ns 1.02ns 0.136 0 0 859 B
#2982 StartFinishSpan netcoreapp3.1 1.14μs 0.772ns 2.89ns 0.0108 0 0 808 B
#2982 StartFinishScope net472 1.48μs 0.785ns 2.94ns 0.149 0 0 939 B
#2982 StartFinishScope netcoreapp3.1 1.21μs 3.49ns 13ns 0.0128 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.393 1,192.98 1,661.54
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.282 1,009.14 1,293.80

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 939 B 201 B 27.24%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 928 B 160 B 20.83%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.19μs 0.319ns 1.23ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.01μs 0.491ns 1.84ns 0.0101 0 0 768 B
#2982 RunOnMethodBegin net472 1.66μs 0.676ns 2.53ns 0.149 0 0 939 B
#2982 RunOnMethodBegin netcoreapp3.1 1.29μs 0.394ns 1.47ns 0.0123 0 0 928 B

andrewlock avatar Aug 04 '22 02:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.316
  • 18 benchmarks are slower, with geometric mean 1.237
  • 27 benchmarks have more 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 722μs 326ns 1.26μs 0.359 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 478μs 344ns 1.33μs 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 709μs 400ns 1.55μs 0.353 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 461μs 339ns 1.27μs 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #2982

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 1.316 2,208.74 1,677.98

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 2.21μs 2.52ns 9.44ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.8μs 2.11ns 8.16ns 0.0186 0 0 1.37 KB
master AllCycleMoreComplexBody net472 17.1μs 14.3ns 53.6ns 1.38 0.0171 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.2μs 17.1ns 63.8ns 0.107 0 0 7.85 KB
master BodyExtractorSimpleBody net472 277ns 0.284ns 1.02ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 227ns 0.136ns 0.509ns 0.00376 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.1μs 6.97ns 26.1ns 1.21 0.0151 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12μs 16.6ns 62.2ns 0.0902 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 1.68μs 1.15ns 4.3ns 0.237 0 0 1.49 KB
#2982 AllCycleSimpleBody netcoreapp3.1 1.82μs 3.15ns 12.2ns 0.0181 0 0 1.37 KB
#2982 AllCycleMoreComplexBody net472 17μs 12.5ns 48.4ns 1.39 0.017 0 8.75 KB
#2982 AllCycleMoreComplexBody netcoreapp3.1 14.4μs 20.7ns 80.1ns 0.108 0 0 7.85 KB
#2982 BodyExtractorSimpleBody net472 251ns 0.183ns 0.684ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 222ns 0.334ns 1.29ns 0.00366 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 15.1μs 13.5ns 52.4ns 1.2 0.0151 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 20.6ns 79.8ns 0.0907 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.49 KB 161 B 0.79%

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 177μs 225ns 872ns 0.266 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 185μs 217ns 813ns 0.185 0 0 20.49 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.296 1,571.42 2,036.63
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.250 1,224.74 1,531.26

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 995 B 201 B 25.31%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 984 B 160 B 19.42%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.57μs 0.513ns 1.92ns 0.126 0.000785 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.22μs 0.346ns 1.29ns 0.011 0 0 824 B
#2982 ExecuteNonQuery net472 2.04μs 0.546ns 2.11ns 0.158 0.00102 0 995 B
#2982 ExecuteNonQuery netcoreapp3.1 1.53μs 0.441ns 1.71ns 0.013 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.192 2,280.79 2,718.63
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.186 1,493.76 1,771.07
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.148 2,432.39 2,792.54

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.2 KB 201 B 20.04%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.34 KB 201 B 17.65%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.14 KB 160 B 16.26%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.26 KB 160 B 14.49%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.28μs 0.705ns 2.73ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.43μs 0.613ns 2.3ns 0.0136 0 0 984 B
master CallElasticsearchAsync net472 2.43μs 0.81ns 3.14ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.49μs 0.281ns 1.09ns 0.0149 0 0 1.1 KB
#2982 CallElasticsearch net472 2.72μs 1.07ns 4.14ns 0.19 0 0 1.2 KB
#2982 CallElasticsearch netcoreapp3.1 1.53μs 0.686ns 2.66ns 0.0161 0 0 1.14 KB
#2982 CallElasticsearchAsync net472 2.79μs 2.6ns 10.1ns 0.213 0 0 1.34 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.77μs 0.687ns 2.48ns 0.0169 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.228 2,342.40 2,876.35
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.134 1,585.19 1,797.82

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.46 KB 200 B 15.87%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.38 KB 160 B 13.07%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.34μs 5.11ns 19.8ns 0.199 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.59μs 2.72ns 10.2ns 0.0164 0 0 1.22 KB
#2982 ExecuteAsync net472 2.88μs 2.81ns 10.5ns 0.231 0 0 1.46 KB
#2982 ExecuteAsync netcoreapp3.1 1.8μs 0.794ns 2.97ns 0.0189 0 0 1.38 KB
Benchmarks.Trace.HttpClientBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 1.156 3,274.56 3,786.97

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.68 KB 201 B 8.11%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.52 KB 160 B 6.78%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 4.88μs 8.01ns 31ns 0.393 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.28μs 7.51ns 29.1ns 0.0324 0 0 2.36 KB
#2982 SendAsync net472 5.42μs 6.24ns 23.3ns 0.423 0 0 2.68 KB
#2982 SendAsync netcoreapp3.1 3.79μs 3.46ns 12.9ns 0.034 0 0 2.52 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.141 2,288.78 2,611.18
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.120 2,886.57 3,232.70

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.86 KB 200 B 12.04%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.89 KB 160 B 9.23%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.89μs 0.935ns 3.5ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.29μs 0.961ns 3.72ns 0.0239 0 0 1.73 KB
#2982 EnrichedLog net472 3.23μs 2.1ns 7.86ns 0.295 0 0 1.86 KB
#2982 EnrichedLog netcoreapp3.1 2.61μs 2.91ns 11.3ns 0.0259 0 0 1.89 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.7 KB 200 B 4.44%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.54 KB 160 B 3.66%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 146μs 93.9ns 364ns 0.66 0.22 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 82.4ns 308ns 0.056 0 0 4.38 KB
#2982 EnrichedLog net472 149μs 82ns 307ns 0.675 0.225 0 4.7 KB
#2982 EnrichedLog netcoreapp3.1 114μs 89.2ns 309ns 0.0571 0 0 4.54 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.63 KB 200 B 5.82%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.96 KB 160 B 4.21%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.32μs 12.7ns 49.4ns 0.545 0.00262 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.22μs 6.58ns 25.5ns 0.0512 0 0 3.8 KB
#2982 EnrichedLog net472 5.86μs 4.72ns 17.7ns 0.577 0.00294 0 3.63 KB
#2982 EnrichedLog netcoreapp3.1 4.35μs 2.37ns 9.19ns 0.0542 0 0 3.96 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.166 1,612.04 1,879.89
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.147 1,983.05 2,273.88

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.42 KB 200 B 16.39%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.37 KB 160 B 13.25%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.98μs 1.18ns 4.43ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.61μs 0.467ns 1.75ns 0.0162 0 0 1.21 KB
#2982 SendReceive net472 2.27μs 1.11ns 3.83ns 0.225 0 0 1.42 KB
#2982 SendReceive netcoreapp3.1 1.88μs 0.96ns 3.59ns 0.0187 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.28 KB 201 B 9.67%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.85 KB 160 B 9.48%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.78μs 1.93ns 7.46ns 0.329 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.12μs 1.73ns 6.48ns 0.0227 0 0 1.69 KB
#2982 EnrichedLog net472 5.05μs 2.3ns 8.89ns 0.361 0 0 2.28 KB
#2982 EnrichedLog netcoreapp3.1 4.52μs 2.65ns 9.91ns 0.0243 0 0 1.85 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.487 732.76 1,089.49
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.414 859.39 1,214.92
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.384 1,045.42 1,447.19
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.283 880.57 1,129.58

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 859 B 201 B 30.55%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 939 B 201 B 27.24%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 808 B 160 B 24.69%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 928 B 160 B 20.83%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 860ns 0.59ns 2.28ns 0.105 0 0 658 B
master StartFinishSpan netcoreapp3.1 733ns 0.251ns 0.906ns 0.00875 0 0 648 B
master StartFinishScope net472 1.05μs 0.702ns 2.63ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 881ns 0.501ns 1.87ns 0.0101 0 0 768 B
#2982 StartFinishSpan net472 1.21μs 0.323ns 1.21ns 0.136 0 0 859 B
#2982 StartFinishSpan netcoreapp3.1 1.09μs 0.282ns 1.06ns 0.0109 0 0 808 B
#2982 StartFinishScope net472 1.45μs 0.552ns 2.07ns 0.149 0 0 939 B
#2982 StartFinishScope netcoreapp3.1 1.13μs 0.64ns 2.48ns 0.0124 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.395 1,155.89 1,612.86
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.214 1,042.22 1,265.56

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 939 B 201 B 27.24%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 928 B 160 B 20.83%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.16μs 0.7ns 2.71ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.04μs 0.506ns 1.75ns 0.0104 0 0 768 B
#2982 RunOnMethodBegin net472 1.61μs 0.596ns 2.31ns 0.149 0 0 939 B
#2982 RunOnMethodBegin netcoreapp3.1 1.27μs 0.334ns 1.25ns 0.012 0 0 928 B

andrewlock avatar Aug 04 '22 17:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 17 benchmarks are slower, with geometric mean 1.258
  • 27 benchmarks have more 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 728μs 324ns 1.21μs 0.359 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 463μs 160ns 597ns 0 0 0 2.59 KB
#2982 WriteAndFlushEnrichedTraces net472 708μs 788ns 3.05μs 0.353 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 461μs 111ns 400ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.74μs 1.74ns 6.73ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.84μs 1.67ns 6.27ns 0.0185 0 0 1.37 KB
master AllCycleMoreComplexBody net472 16.8μs 23.1ns 89.5ns 1.39 0.0172 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.2μs 13.7ns 51.3ns 0.106 0 0 7.85 KB
master BodyExtractorSimpleBody net472 252ns 0.192ns 0.72ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 221ns 0.198ns 0.769ns 0.00368 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.7μs 10.3ns 38.5ns 1.21 0.0147 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12μs 8.8ns 32.9ns 0.0895 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 1.73μs 2ns 7.75ns 0.237 0 0 1.49 KB
#2982 AllCycleSimpleBody netcoreapp3.1 1.77μs 1.24ns 4.49ns 0.0189 0 0 1.37 KB
#2982 AllCycleMoreComplexBody net472 16.4μs 13.6ns 51ns 1.38 0.0245 0 8.75 KB
#2982 AllCycleMoreComplexBody netcoreapp3.1 13.9μs 12.3ns 46ns 0.104 0 0 7.85 KB
#2982 BodyExtractorSimpleBody net472 274ns 0.201ns 0.751ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 222ns 0.2ns 0.774ns 0.00367 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.7μs 10.5ns 37.7ns 1.21 0.0147 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 14.6ns 56.6ns 0.0867 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.5 KB 173 B 0.85%

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 112ns 390ns 0.179 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 185μs 300ns 1.12μs 0.185 0 0 20.5 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.282 1,527.34 1,957.78
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.232 1,253.68 1,545.01

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 995 B 201 B 25.31%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 984 B 160 B 19.42%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.53μs 0.455ns 1.76ns 0.126 0.000756 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.25μs 0.24ns 0.866ns 0.0113 0 0 824 B
#2982 ExecuteNonQuery net472 1.96μs 0.514ns 1.92ns 0.158 0.000981 0 995 B
#2982 ExecuteNonQuery netcoreapp3.1 1.55μs 0.796ns 3.08ns 0.0131 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.254 2,136.69 2,679.39
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.177 1,432.87 1,686.22
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.161 1,401.10 1,626.58
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.133 2,387.02 2,704.29

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.2 KB 201 B 20.04%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.34 KB 201 B 17.65%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.14 KB 160 B 16.26%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.26 KB 160 B 14.49%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.14μs 0.759ns 2.94ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 0.844ns 3.16ns 0.0133 0 0 984 B
master CallElasticsearchAsync net472 2.39μs 1.54ns 5.95ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.43μs 1.01ns 3.64ns 0.015 0 0 1.1 KB
#2982 CallElasticsearch net472 2.68μs 0.592ns 2.22ns 0.191 0 0 1.2 KB
#2982 CallElasticsearch netcoreapp3.1 1.63μs 0.443ns 1.66ns 0.0153 0 0 1.14 KB
#2982 CallElasticsearchAsync net472 2.7μs 1.79ns 6.92ns 0.213 0 0 1.34 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.69μs 0.637ns 2.47ns 0.017 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.189 2,419.74 2,876.07
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.186 1,578.31 1,871.66

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.46 KB 200 B 15.87%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.38 KB 160 B 13.07%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.42μs 2.32ns 8.68ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.57μs 3.22ns 12.5ns 0.0165 0 0 1.22 KB
#2982 ExecuteAsync net472 2.88μs 4.39ns 17ns 0.231 0 0 1.46 KB
#2982 ExecuteAsync netcoreapp3.1 1.87μs 1.22ns 4.73ns 0.0185 0 0 1.38 KB
Benchmarks.Trace.HttpClientBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 1.127 3,230.45 3,641.92

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.68 KB 201 B 8.11%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.52 KB 160 B 6.78%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.04μs 2.67ns 10.3ns 0.394 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.23μs 2.54ns 9.49ns 0.0307 0 0 2.36 KB
#2982 SendAsync net472 5.48μs 3.05ns 11.8ns 0.424 0 0 2.68 KB
#2982 SendAsync netcoreapp3.1 3.67μs 11ns 42.7ns 0.0347 0 0 2.52 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.169 2,857.33 3,339.91

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.86 KB 200 B 12.04%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.89 KB 160 B 9.23%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.86μs 1.24ns 4.63ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.38μs 0.652ns 2.44ns 0.024 0 0 1.73 KB
#2982 EnrichedLog net472 3.34μs 1.87ns 7.25ns 0.296 0 0 1.86 KB
#2982 EnrichedLog netcoreapp3.1 2.64μs 0.722ns 2.7ns 0.0262 0 0 1.89 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.7 KB 201 B 4.47%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.54 KB 160 B 3.66%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 148μs 43.7ns 164ns 0.663 0.221 0 4.5 KB
master EnrichedLog netcoreapp3.1 112μs 66.1ns 247ns 0.0559 0 0 4.38 KB
#2982 EnrichedLog net472 147μs 325ns 1.26μs 0.674 0.225 0 4.7 KB
#2982 EnrichedLog netcoreapp3.1 115μs 165ns 595ns 0.0572 0 0 4.54 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.63 KB 200 B 5.82%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.96 KB 160 B 4.21%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.49μs 3.67ns 13.7ns 0.545 0.00273 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.25μs 3.24ns 12.1ns 0.0507 0 0 3.8 KB
#2982 EnrichedLog net472 5.84μs 4.33ns 16.8ns 0.577 0.00294 0 3.63 KB
#2982 EnrichedLog netcoreapp3.1 4.47μs 3.66ns 13.7ns 0.0538 0 0 3.96 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.151 2,016.14 2,320.37

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.42 KB 200 B 16.39%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.37 KB 160 B 13.25%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.02μs 0.468ns 1.75ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.64μs 0.616ns 2.39ns 0.0164 0 0 1.21 KB
#2982 SendReceive net472 2.32μs 0.901ns 3.49ns 0.225 0 0 1.42 KB
#2982 SendReceive netcoreapp3.1 1.8μs 0.476ns 1.84ns 0.0181 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.28 KB 201 B 9.67%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.85 KB 160 B 9.48%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.67μs 1.11ns 4.28ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.08μs 1.8ns 6.72ns 0.0224 0 0 1.69 KB
#2982 EnrichedLog net472 5μs 1.24ns 4.81ns 0.36 0 0 2.28 KB
#2982 EnrichedLog netcoreapp3.1 4.37μs 1.76ns 6.35ns 0.024 0 0 1.85 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.487 853.69 1,269.08
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.464 719.87 1,053.90
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.451 838.20 1,216.19
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.392 1,056.63 1,471.21

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 859 B 201 B 30.55%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 939 B 201 B 27.24%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 808 B 160 B 24.69%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 928 B 160 B 20.83%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 853ns 0.255ns 0.986ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 720ns 0.283ns 1.06ns 0.00863 0 0 648 B
master StartFinishScope net472 1.06μs 0.37ns 1.43ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 838ns 0.174ns 0.626ns 0.0105 0 0 768 B
#2982 StartFinishSpan net472 1.27μs 0.171ns 0.615ns 0.136 0 0 859 B
#2982 StartFinishSpan netcoreapp3.1 1.05μs 0.451ns 1.69ns 0.0104 0 0 808 B
#2982 StartFinishScope net472 1.47μs 0.617ns 2.39ns 0.149 0 0 939 B
#2982 StartFinishScope netcoreapp3.1 1.22μs 0.41ns 1.53ns 0.0122 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.354 1,161.54 1,572.33
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.275 1,008.80 1,286.49

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 939 B 201 B 27.24%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 928 B 160 B 20.83%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.16μs 0.446ns 1.73ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.01μs 0.607ns 2.27ns 0.0106 0 0 768 B
#2982 RunOnMethodBegin net472 1.57μs 1.08ns 4.19ns 0.149 0 0 939 B
#2982 RunOnMethodBegin netcoreapp3.1 1.29μs 0.417ns 1.56ns 0.0122 0 0 928 B

andrewlock avatar Aug 05 '22 21:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 19 benchmarks are slower, with geometric mean 1.244
  • 27 benchmarks have more 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 720μs 456ns 1.71μs 0.357 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 163ns 609ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 715μs 666ns 2.58μs 0.355 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 462μs 137ns 529ns 0 0 0 2.59 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.7μs 1.79ns 6.44ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.84μs 3.08ns 11.9ns 0.0184 0 0 1.37 KB
master AllCycleMoreComplexBody net472 17.2μs 12.3ns 44.3ns 1.38 0.025 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.2μs 23.2ns 86.7ns 0.0989 0 0 7.85 KB
master BodyExtractorSimpleBody net472 253ns 0.245ns 0.95ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 223ns 0.293ns 1.1ns 0.00362 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.8μs 4.43ns 15.4ns 1.2 0.0148 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 11.9μs 20.2ns 78.4ns 0.0887 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 1.79μs 1.88ns 7.03ns 0.237 0 0 1.49 KB
#2982 AllCycleSimpleBody netcoreapp3.1 1.75μs 2.4ns 9.29ns 0.0183 0 0 1.37 KB
#2982 AllCycleMoreComplexBody net472 17.3μs 8.27ns 31ns 1.39 0.0172 0 8.75 KB
#2982 AllCycleMoreComplexBody netcoreapp3.1 14.1μs 15.1ns 58.5ns 0.106 0 0 7.85 KB
#2982 BodyExtractorSimpleBody net472 253ns 0.209ns 0.808ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 227ns 0.16ns 0.553ns 0.00366 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.7μs 10.9ns 42.3ns 1.21 0.0221 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 11.8μs 9.79ns 37.9ns 0.0883 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.49 KB 160 B 0.79%

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 118ns 458ns 0.179 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 185μs 175ns 656ns 0.186 0 0 20.49 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.208 1,258.59 1,520.81
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.206 1,605.20 1,936.08

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 995 B 201 B 25.31%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 984 B 160 B 19.42%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.61μs 0.912ns 3.29ns 0.126 0.000796 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.26μs 0.524ns 2.03ns 0.0109 0 0 824 B
#2982 ExecuteNonQuery net472 1.94μs 0.918ns 3.31ns 0.157 0.000965 0 995 B
#2982 ExecuteNonQuery netcoreapp3.1 1.52μs 0.474ns 1.83ns 0.0129 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.244 2,294.07 2,853.51
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.219 2,212.81 2,696.42
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.170 1,403.14 1,641.49
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.148 1,481.66 1,701.57

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.2 KB 201 B 20.04%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.34 KB 201 B 17.65%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.14 KB 160 B 16.26%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.26 KB 160 B 14.49%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.21μs 0.412ns 1.6ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 0.536ns 2ns 0.0133 0 0 984 B
master CallElasticsearchAsync net472 2.29μs 1.11ns 4.28ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.48μs 0.436ns 1.63ns 0.0147 0 0 1.1 KB
#2982 CallElasticsearch net472 2.7μs 0.87ns 3.26ns 0.19 0 0 1.2 KB
#2982 CallElasticsearch netcoreapp3.1 1.64μs 0.632ns 2.45ns 0.0156 0 0 1.14 KB
#2982 CallElasticsearchAsync net472 2.85μs 1.58ns 6.14ns 0.213 0 0 1.34 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.7μs 1.77ns 6.87ns 0.017 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.204 2,409.60 2,900.88
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.173 1,600.00 1,876.33

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.46 KB 200 B 15.87%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.38 KB 160 B 13.07%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.41μs 3.94ns 15.2ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.6μs 1.51ns 5.46ns 0.0169 0 0 1.22 KB
#2982 ExecuteAsync net472 2.9μs 0.802ns 2.89ns 0.232 0 0 1.46 KB
#2982 ExecuteAsync netcoreapp3.1 1.87μs 4.13ns 15.5ns 0.0192 0 0 1.38 KB
Benchmarks.Trace.HttpClientBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 1.116 5,016.58 5,597.23

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.68 KB 201 B 8.11%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.52 KB 160 B 6.78%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.02μs 7.17ns 27.8ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.28μs 3.92ns 14.7ns 0.0323 0 0 2.36 KB
#2982 SendAsync net472 5.6μs 0.862ns 3.34ns 0.424 0 0 2.68 KB
#2982 SendAsync netcoreapp3.1 3.58μs 1.23ns 4.77ns 0.0339 0 0 2.52 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.167 2,330.30 2,720.36
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.140 2,891.85 3,297.74

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.86 KB 200 B 12.04%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.89 KB 160 B 9.23%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.89μs 0.858ns 3.21ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.33μs 1.07ns 4.01ns 0.0235 0 0 1.73 KB
#2982 EnrichedLog net472 3.3μs 0.828ns 3.21ns 0.295 0 0 1.86 KB
#2982 EnrichedLog netcoreapp3.1 2.72μs 0.786ns 2.94ns 0.0258 0 0 1.89 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.7 KB 200 B 4.44%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.54 KB 160 B 3.66%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 146μs 83.8ns 324ns 0.665 0.222 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 81ns 314ns 0.0565 0 0 4.38 KB
#2982 EnrichedLog net472 150μs 50.6ns 189ns 0.68 0.227 0 4.7 KB
#2982 EnrichedLog netcoreapp3.1 115μs 137ns 511ns 0.0568 0 0 4.54 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.63 KB 200 B 5.82%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.96 KB 160 B 4.21%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.39μs 6.31ns 24.4ns 0.543 0.00265 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.25μs 20.3ns 78.5ns 0.0504 0 0 3.8 KB
#2982 EnrichedLog net472 5.81μs 1.45ns 5.63ns 0.577 0.00292 0 3.63 KB
#2982 EnrichedLog netcoreapp3.1 4.63μs 1.81ns 6.78ns 0.0527 0 0 3.96 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.197 1,994.61 2,387.35
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.188 1,611.00 1,914.36

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.42 KB 200 B 16.39%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.37 KB 160 B 13.25%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2μs 0.576ns 2.23ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.61μs 0.479ns 1.79ns 0.0169 0 0 1.21 KB
#2982 SendReceive net472 2.39μs 0.818ns 3.17ns 0.226 0 0 1.42 KB
#2982 SendReceive netcoreapp3.1 1.91μs 0.614ns 2.3ns 0.0182 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.28 KB 201 B 9.67%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.85 KB 160 B 9.48%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.72μs 1.95ns 7.56ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.05μs 0.699ns 2.61ns 0.0223 0 0 1.69 KB
#2982 EnrichedLog net472 5.04μs 1.09ns 4.09ns 0.361 0 0 2.28 KB
#2982 EnrichedLog netcoreapp3.1 4.31μs 2.02ns 7.82ns 0.0237 0 0 1.85 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.497 849.63 1,272.15
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.470 723.19 1,062.74
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.420 847.51 1,203.74
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.330 1,079.20 1,435.54

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 859 B 201 B 30.55%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 939 B 201 B 27.24%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 808 B 160 B 24.69%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 928 B 160 B 20.83%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 850ns 0.271ns 1.05ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 723ns 0.411ns 1.59ns 0.00869 0 0 648 B
master StartFinishScope net472 1.08μs 0.181ns 0.678ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 848ns 0.376ns 1.46ns 0.0102 0 0 768 B
#2982 StartFinishSpan net472 1.27μs 0.261ns 0.943ns 0.136 0 0 859 B
#2982 StartFinishSpan netcoreapp3.1 1.06μs 0.291ns 1.13ns 0.0111 0 0 808 B
#2982 StartFinishScope net472 1.44μs 0.357ns 1.34ns 0.149 0 0 939 B
#2982 StartFinishScope netcoreapp3.1 1.2μs 1.37ns 5.13ns 0.0125 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.352 938.02 1,268.25
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.266 1,261.60 1,597.73

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 939 B 201 B 27.24%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 928 B 160 B 20.83%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.26μs 0.3ns 1.12ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 938ns 0.584ns 2.11ns 0.0103 0 0 768 B
#2982 RunOnMethodBegin net472 1.6μs 0.662ns 2.48ns 0.148 0 0 939 B
#2982 RunOnMethodBegin netcoreapp3.1 1.27μs 0.725ns 2.71ns 0.0123 0 0 928 B

andrewlock avatar Aug 08 '22 16:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 16 benchmarks are slower, with geometric mean 1.200
  • 27 benchmarks have more 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 720μs 456ns 1.71μs 0.357 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 163ns 609ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 720μs 279ns 1.01μs 0.361 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 456μs 166ns 623ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.7μs 1.79ns 6.44ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.84μs 3.08ns 11.9ns 0.0184 0 0 1.37 KB
master AllCycleMoreComplexBody net472 17.2μs 12.3ns 44.3ns 1.38 0.025 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.2μs 23.2ns 86.7ns 0.0989 0 0 7.85 KB
master BodyExtractorSimpleBody net472 253ns 0.245ns 0.95ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 223ns 0.293ns 1.1ns 0.00362 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.8μs 4.43ns 15.4ns 1.2 0.0148 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 11.9μs 20.2ns 78.4ns 0.0887 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 1.69μs 1.74ns 6.27ns 0.236 0 0 1.49 KB
#2982 AllCycleSimpleBody netcoreapp3.1 1.8μs 3.52ns 13.6ns 0.0188 0 0 1.37 KB
#2982 AllCycleMoreComplexBody net472 16.9μs 13.4ns 52ns 1.39 0.0253 0 8.75 KB
#2982 AllCycleMoreComplexBody netcoreapp3.1 14.3μs 14.5ns 54.3ns 0.101 0 0 7.85 KB
#2982 BodyExtractorSimpleBody net472 272ns 0.295ns 1.14ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 224ns 0.291ns 1.13ns 0.00371 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 15.1μs 20.3ns 78.8ns 1.21 0.0152 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 11.8μs 10.6ns 41.1ns 0.0928 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.46 KB 136 B 0.67%

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 118ns 458ns 0.179 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 186μs 199ns 744ns 0.185 0 0 20.46 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.182 1,258.59 1,487.76
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.161 1,605.20 1,863.88

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 971 B 177 B 22.29%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 960 B 136 B 16.50%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.61μs 0.912ns 3.29ns 0.126 0.000796 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.26μs 0.524ns 2.03ns 0.0109 0 0 824 B
#2982 ExecuteNonQuery net472 1.86μs 0.435ns 1.57ns 0.154 0.000919 0 971 B
#2982 ExecuteNonQuery netcoreapp3.1 1.49μs 0.323ns 1.25ns 0.0126 0 0 960 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.178 2,294.07 2,702.87
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.177 2,212.81 2,604.10
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.168 1,403.14 1,639.49
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.148 1,481.66 1,701.48

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.18 KB 177 B 17.65%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.32 KB 177 B 15.54%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.12 KB 136 B 13.82%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.24 KB 136 B 12.32%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.21μs 0.412ns 1.6ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 0.536ns 2ns 0.0133 0 0 984 B
master CallElasticsearchAsync net472 2.29μs 1.11ns 4.28ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.48μs 0.436ns 1.63ns 0.0147 0 0 1.1 KB
#2982 CallElasticsearch net472 2.6μs 0.933ns 3.49ns 0.187 0 0 1.18 KB
#2982 CallElasticsearch netcoreapp3.1 1.64μs 1.57ns 6.07ns 0.0147 0 0 1.12 KB
#2982 CallElasticsearchAsync net472 2.7μs 1.29ns 5.01ns 0.209 0 0 1.32 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.7μs 0.615ns 2.22ns 0.0162 0 0 1.24 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.192 2,409.60 2,873.43

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.44 KB 176 B 13.97%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.36 KB 136 B 11.11%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.41μs 3.94ns 15.2ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.6μs 1.51ns 5.46ns 0.0169 0 0 1.22 KB
#2982 ExecuteAsync net472 2.88μs 4.04ns 15.6ns 0.228 0 0 1.44 KB
#2982 ExecuteAsync netcoreapp3.1 1.76μs 1.65ns 6.19ns 0.0184 0 0 1.36 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.66 KB 177 B 7.14%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.5 KB 136 B 5.76%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.02μs 7.17ns 27.8ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.28μs 3.92ns 14.7ns 0.0323 0 0 2.36 KB
#2982 SendAsync net472 5.46μs 8.76ns 32.8ns 0.421 0 0 2.66 KB
#2982 SendAsync netcoreapp3.1 3.46μs 4.35ns 16.3ns 0.0327 0 0 2.5 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.119 2,891.85 3,235.93

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.84 KB 176 B 10.60%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.87 KB 136 B 7.84%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.89μs 0.858ns 3.21ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.33μs 1.07ns 4.01ns 0.0235 0 0 1.73 KB
#2982 EnrichedLog net472 3.24μs 1.04ns 3.89ns 0.291 0 0 1.84 KB
#2982 EnrichedLog netcoreapp3.1 2.49μs 0.744ns 2.79ns 0.0257 0 0 1.87 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.68 KB 176 B 3.91%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.51 KB 136 B 3.11%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 146μs 83.8ns 324ns 0.665 0.222 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 81ns 314ns 0.0565 0 0 4.38 KB
#2982 EnrichedLog net472 148μs 317ns 1.23μs 0.732 0.22 0 4.68 KB
#2982 EnrichedLog netcoreapp3.1 115μs 250ns 969ns 0.0571 0 0 4.51 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.61 KB 176 B 5.13%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.94 KB 136 B 3.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.39μs 6.31ns 24.4ns 0.543 0.00265 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.25μs 20.3ns 78.5ns 0.0504 0 0 3.8 KB
#2982 EnrichedLog net472 5.76μs 7.17ns 26.8ns 0.573 0.00291 0 3.61 KB
#2982 EnrichedLog netcoreapp3.1 4.67μs 5.6ns 21.7ns 0.0533 0 0 3.94 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.172 1,994.61 2,337.59
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.112 1,611.00 1,792.16

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.4 KB 176 B 14.43%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.34 KB 136 B 11.26%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2μs 0.576ns 2.23ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.61μs 0.479ns 1.79ns 0.0169 0 0 1.21 KB
#2982 SendReceive net472 2.34μs 0.947ns 3.67ns 0.221 0 0 1.4 KB
#2982 SendReceive netcoreapp3.1 1.79μs 0.432ns 1.67ns 0.0179 0 0 1.34 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.26 KB 177 B 8.52%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.82 KB 136 B 8.06%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.72μs 1.95ns 7.56ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.05μs 0.699ns 2.61ns 0.0223 0 0 1.69 KB
#2982 EnrichedLog net472 5.16μs 1.82ns 6.82ns 0.356 0 0 2.26 KB
#2982 EnrichedLog netcoreapp3.1 4.34μs 1.4ns 5.03ns 0.0242 0 0 1.82 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.319 1,079.20 1,423.16
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.315 849.63 1,117.36
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.283 723.19 927.66
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.215 847.51 1,030.06

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 834 B 176 B 26.75%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 915 B 177 B 23.98%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 784 B 136 B 20.99%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 904 B 136 B 17.71%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 850ns 0.271ns 1.05ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 723ns 0.411ns 1.59ns 0.00869 0 0 648 B
master StartFinishScope net472 1.08μs 0.181ns 0.678ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 848ns 0.376ns 1.46ns 0.0102 0 0 768 B
#2982 StartFinishSpan net472 1.12μs 0.497ns 1.86ns 0.132 0 0 834 B
#2982 StartFinishSpan netcoreapp3.1 928ns 0.238ns 0.889ns 0.0106 0 0 784 B
#2982 StartFinishScope net472 1.42μs 0.5ns 1.93ns 0.145 0 0 915 B
#2982 StartFinishScope netcoreapp3.1 1.03μs 0.528ns 1.97ns 0.0125 0 0 904 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.249 1,261.60 1,575.32
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.240 938.02 1,162.75

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 915 B 177 B 23.98%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 904 B 136 B 17.71%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.26μs 0.3ns 1.12ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 938ns 0.584ns 2.11ns 0.0103 0 0 768 B
#2982 RunOnMethodBegin net472 1.58μs 0.701ns 2.72ns 0.145 0 0 915 B
#2982 RunOnMethodBegin netcoreapp3.1 1.16μs 0.51ns 1.98ns 0.0121 0 0 904 B

andrewlock avatar Aug 08 '22 22:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 14 benchmarks are slower, with geometric mean 1.214
  • 27 benchmarks have more 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 720μs 456ns 1.71μs 0.357 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 163ns 609ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 720μs 360ns 1.4μs 0.357 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 451μs 124ns 479ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.7μs 1.79ns 6.44ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.84μs 3.08ns 11.9ns 0.0184 0 0 1.37 KB
master AllCycleMoreComplexBody net472 17.2μs 12.3ns 44.3ns 1.38 0.025 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.2μs 23.2ns 86.7ns 0.0989 0 0 7.85 KB
master BodyExtractorSimpleBody net472 253ns 0.245ns 0.95ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 223ns 0.293ns 1.1ns 0.00362 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.8μs 4.43ns 15.4ns 1.2 0.0148 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 11.9μs 20.2ns 78.4ns 0.0887 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 1.72μs 1.25ns 4.85ns 0.237 0 0 1.49 KB
#2982 AllCycleSimpleBody netcoreapp3.1 1.8μs 3.52ns 13.6ns 0.0181 0 0 1.37 KB
#2982 AllCycleMoreComplexBody net472 16.7μs 14.2ns 53.3ns 1.39 0.025 0 8.75 KB
#2982 AllCycleMoreComplexBody netcoreapp3.1 14.4μs 18.5ns 71.7ns 0.101 0 0 7.85 KB
#2982 BodyExtractorSimpleBody net472 272ns 0.172ns 0.644ns 0.0574 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 220ns 0.425ns 1.65ns 0.00362 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.8μs 10.5ns 39.2ns 1.21 0.0148 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 13.1ns 50.9ns 0.091 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.46 KB 136 B 0.67%

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 118ns 458ns 0.179 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 186μs 109ns 409ns 0.186 0 0 20.46 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.210 1,605.20 1,942.78
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.189 1,258.59 1,496.78

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 971 B 177 B 22.29%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 960 B 136 B 16.50%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.61μs 0.912ns 3.29ns 0.126 0.000796 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.26μs 0.524ns 2.03ns 0.0109 0 0 824 B
#2982 ExecuteNonQuery net472 1.94μs 0.515ns 1.99ns 0.154 0.000969 0 971 B
#2982 ExecuteNonQuery netcoreapp3.1 1.5μs 0.496ns 1.79ns 0.0127 0 0 960 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.159 2,212.81 2,563.81
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.137 2,294.07 2,607.30
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.117 1,403.14 1,567.97

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.18 KB 177 B 17.65%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.32 KB 177 B 15.54%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.12 KB 136 B 13.82%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.24 KB 136 B 12.32%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.21μs 0.412ns 1.6ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 0.536ns 2ns 0.0133 0 0 984 B
master CallElasticsearchAsync net472 2.29μs 1.11ns 4.28ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.48μs 0.436ns 1.63ns 0.0147 0 0 1.1 KB
#2982 CallElasticsearch net472 2.56μs 0.551ns 2.13ns 0.186 0 0 1.18 KB
#2982 CallElasticsearch netcoreapp3.1 1.57μs 1.88ns 7.03ns 0.0148 0 0 1.12 KB
#2982 CallElasticsearchAsync net472 2.61μs 0.494ns 1.78ns 0.208 0 0 1.32 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.61μs 2.79ns 10.8ns 0.0166 0 0 1.24 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.147 2,409.60 2,763.54

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.44 KB 176 B 13.97%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.36 KB 136 B 11.11%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.41μs 3.94ns 15.2ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.6μs 1.51ns 5.46ns 0.0169 0 0 1.22 KB
#2982 ExecuteAsync net472 2.77μs 4.72ns 18.3ns 0.227 0 0 1.44 KB
#2982 ExecuteAsync netcoreapp3.1 1.77μs 3.05ns 11.8ns 0.0187 0 0 1.36 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.66 KB 177 B 7.14%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.5 KB 136 B 5.76%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.02μs 7.17ns 27.8ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.28μs 3.92ns 14.7ns 0.0323 0 0 2.36 KB
#2982 SendAsync net472 5.44μs 6.8ns 26.3ns 0.42 0 0 2.66 KB
#2982 SendAsync netcoreapp3.1 3.37μs 3.19ns 12.4ns 0.0337 0 0 2.5 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.84 KB 176 B 10.60%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.87 KB 136 B 7.84%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.89μs 0.858ns 3.21ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.33μs 1.07ns 4.01ns 0.0235 0 0 1.73 KB
#2982 EnrichedLog net472 3.16μs 0.757ns 2.93ns 0.291 0 0 1.84 KB
#2982 EnrichedLog netcoreapp3.1 2.51μs 0.979ns 3.79ns 0.0249 0 0 1.87 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.68 KB 176 B 3.91%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.51 KB 136 B 3.11%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 146μs 83.8ns 324ns 0.665 0.222 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 81ns 314ns 0.0565 0 0 4.38 KB
#2982 EnrichedLog net472 149μs 119ns 446ns 0.674 0.225 0 4.68 KB
#2982 EnrichedLog netcoreapp3.1 115μs 181ns 699ns 0.0569 0 0 4.51 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.61 KB 176 B 5.13%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.94 KB 136 B 3.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.39μs 6.31ns 24.4ns 0.543 0.00265 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.25μs 20.3ns 78.5ns 0.0504 0 0 3.8 KB
#2982 EnrichedLog net472 5.8μs 6.23ns 23.3ns 0.572 0.0029 0 3.61 KB
#2982 EnrichedLog netcoreapp3.1 4.43μs 7.42ns 28.8ns 0.053 0 0 3.94 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.213 1,994.61 2,419.11
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.187 1,611.00 1,912.93

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.4 KB 176 B 14.43%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.34 KB 136 B 11.26%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2μs 0.576ns 2.23ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.61μs 0.479ns 1.79ns 0.0169 0 0 1.21 KB
#2982 SendReceive net472 2.42μs 0.623ns 2.33ns 0.221 0 0 1.4 KB
#2982 SendReceive netcoreapp3.1 1.91μs 0.65ns 2.35ns 0.0181 0 0 1.34 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.26 KB 177 B 8.52%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.82 KB 136 B 8.06%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.72μs 1.95ns 7.56ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.05μs 0.699ns 2.61ns 0.0223 0 0 1.69 KB
#2982 EnrichedLog net472 5.12μs 1.95ns 7.31ns 0.356 0 0 2.26 KB
#2982 EnrichedLog netcoreapp3.1 4.25μs 4.15ns 16.1ns 0.0251 0 0 1.82 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.387 849.63 1,178.64
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.295 847.51 1,097.95
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.262 723.19 912.92
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.254 1,079.20 1,353.19

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 834 B 176 B 26.75%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 915 B 177 B 23.98%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 784 B 136 B 20.99%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 904 B 136 B 17.71%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 850ns 0.271ns 1.05ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 723ns 0.411ns 1.59ns 0.00869 0 0 648 B
master StartFinishScope net472 1.08μs 0.181ns 0.678ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 848ns 0.376ns 1.46ns 0.0102 0 0 768 B
#2982 StartFinishSpan net472 1.18μs 0.464ns 1.8ns 0.132 0 0 834 B
#2982 StartFinishSpan netcoreapp3.1 913ns 0.424ns 1.59ns 0.0105 0 0 784 B
#2982 StartFinishScope net472 1.35μs 0.376ns 1.46ns 0.145 0 0 915 B
#2982 StartFinishScope netcoreapp3.1 1.1μs 0.499ns 1.87ns 0.0122 0 0 904 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.243 938.02 1,166.08
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.217 1,261.60 1,535.49

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 915 B 177 B 23.98%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 904 B 136 B 17.71%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.26μs 0.3ns 1.12ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 938ns 0.584ns 2.11ns 0.0103 0 0 768 B
#2982 RunOnMethodBegin net472 1.54μs 0.6ns 2.25ns 0.145 0 0 915 B
#2982 RunOnMethodBegin netcoreapp3.1 1.17μs 0.436ns 1.51ns 0.012 0 0 904 B

andrewlock avatar Aug 09 '22 02:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 13 benchmarks are slower, with geometric mean 1.203
  • 27 benchmarks have more 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 722μs 472ns 1.77μs 0.357 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 482μs 204ns 789ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 715μs 514ns 1.99μs 0.357 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 469μs 150ns 561ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.67μs 1.64ns 6.36ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.8μs 2.16ns 8.37ns 0.0187 0 0 1.37 KB
master AllCycleMoreComplexBody net472 17.3μs 11.4ns 42.5ns 1.39 0.025 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.4μs 47.3ns 183ns 0.106 0 0 7.85 KB
master BodyExtractorSimpleBody net472 259ns 0.536ns 2.08ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 225ns 0.234ns 0.874ns 0.00361 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.5μs 9.1ns 35.2ns 1.2 0.0154 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 11.9μs 16.9ns 65.6ns 0.0892 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 1.63μs 1.23ns 4.76ns 0.237 0 0 1.49 KB
#2982 AllCycleSimpleBody netcoreapp3.1 1.77μs 2.99ns 10.8ns 0.0183 0 0 1.37 KB
#2982 AllCycleMoreComplexBody net472 16.6μs 10.1ns 39ns 1.39 0.0248 0 8.75 KB
#2982 AllCycleMoreComplexBody netcoreapp3.1 14.1μs 24.4ns 94.6ns 0.105 0 0 7.85 KB
#2982 BodyExtractorSimpleBody net472 252ns 0.167ns 0.626ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 228ns 0.319ns 1.19ns 0.00379 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.5μs 7.41ns 26.7ns 1.21 0.0217 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 11.8μs 15.4ns 59.7ns 0.0884 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.47 KB 137 B 0.67%

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 285ns 1.03μs 0.268 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 184μs 250ns 936ns 0.185 0 0 20.47 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.253 1,560.86 1,955.49
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.199 1,214.05 1,455.50

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 971 B 177 B 22.29%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 960 B 136 B 16.50%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.56μs 0.907ns 3.51ns 0.126 0.000782 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.21μs 1.72ns 6.67ns 0.0112 0 0 824 B
#2982 ExecuteNonQuery net472 1.96μs 1.01ns 3.92ns 0.154 0.00097 0 971 B
#2982 ExecuteNonQuery netcoreapp3.1 1.46μs 0.815ns 3.05ns 0.0131 0 0 960 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.155 2,288.69 2,643.89
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.155 2,198.94 2,539.93

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.18 KB 177 B 17.65%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.32 KB 176 B 15.44%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.12 KB 136 B 13.82%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.24 KB 136 B 12.32%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.2μs 0.993ns 3.85ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 1.58ns 5.9ns 0.0131 0 0 984 B
master CallElasticsearchAsync net472 2.29μs 0.554ns 2.14ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.5μs 1.53ns 5.92ns 0.0143 0 0 1.1 KB
#2982 CallElasticsearch net472 2.54μs 0.359ns 1.39ns 0.186 0 0 1.18 KB
#2982 CallElasticsearch netcoreapp3.1 1.52μs 0.382ns 1.43ns 0.0154 0 0 1.12 KB
#2982 CallElasticsearchAsync net472 2.64μs 0.969ns 3.75ns 0.208 0 0 1.32 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.61μs 0.972ns 3.76ns 0.0168 0 0 1.24 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.186 2,281.98 2,707.55
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.128 1,521.14 1,715.63

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.44 KB 176 B 13.97%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.36 KB 136 B 11.11%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.28μs 4.83ns 18.7ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.52μs 2.24ns 8.39ns 0.0168 0 0 1.22 KB
#2982 ExecuteAsync net472 2.71μs 2.83ns 10.6ns 0.228 0 0 1.44 KB
#2982 ExecuteAsync netcoreapp3.1 1.72μs 2.68ns 10.4ns 0.0179 0 0 1.36 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.66 KB 177 B 7.14%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.5 KB 136 B 5.76%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 4.89μs 10.6ns 40.9ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.19μs 6.85ns 26.5ns 0.0324 0 0 2.36 KB
#2982 SendAsync net472 5.35μs 7.7ns 29.8ns 0.42 0 0 2.66 KB
#2982 SendAsync netcoreapp3.1 3.49μs 4.85ns 18.1ns 0.0349 0 0 2.5 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.84 KB 176 B 10.60%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.87 KB 136 B 7.84%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.91μs 1.18ns 4.42ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.36μs 0.712ns 2.76ns 0.0236 0 0 1.73 KB
#2982 EnrichedLog net472 3.17μs 1.15ns 4.31ns 0.291 0 0 1.84 KB
#2982 EnrichedLog netcoreapp3.1 2.56μs 1.12ns 4.34ns 0.0254 0 0 1.87 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.68 KB 176 B 3.91%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.51 KB 136 B 3.11%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 146μs 104ns 374ns 0.656 0.219 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 97.4ns 365ns 0.0564 0 0 4.38 KB
#2982 EnrichedLog net472 148μs 66ns 238ns 0.673 0.224 0 4.68 KB
#2982 EnrichedLog netcoreapp3.1 114μs 147ns 549ns 0.0571 0 0 4.51 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.61 KB 176 B 5.13%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.94 KB 136 B 3.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.27μs 12.5ns 48.5ns 0.544 0.00266 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.32μs 8.49ns 32.9ns 0.0523 0 0 3.8 KB
#2982 EnrichedLog net472 5.73μs 10.5ns 40.6ns 0.573 0.00286 0 3.61 KB
#2982 EnrichedLog netcoreapp3.1 4.55μs 5.48ns 20.5ns 0.0536 0 0 3.94 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.124 2,046.70 2,299.48

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.4 KB 176 B 14.43%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.34 KB 136 B 11.26%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.05μs 0.8ns 2.99ns 0.194 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.67μs 0.629ns 2.35ns 0.016 0 0 1.21 KB
#2982 SendReceive net472 2.3μs 0.371ns 1.39ns 0.222 0 0 1.4 KB
#2982 SendReceive netcoreapp3.1 1.86μs 0.399ns 1.55ns 0.0176 0 0 1.34 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.26 KB 177 B 8.52%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.82 KB 136 B 8.06%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.59μs 1.71ns 6.39ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.07μs 1.06ns 4.1ns 0.0222 0 0 1.69 KB
#2982 EnrichedLog net472 4.88μs 1.35ns 5.22ns 0.357 0 0 2.26 KB
#2982 EnrichedLog netcoreapp3.1 4.25μs 0.951ns 3.43ns 0.0234 0 0 1.82 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.302 1,035.90 1,349.20
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.273 902.33 1,148.39
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.253 858.63 1,075.58
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.213 781.60 948.07

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 834 B 176 B 26.75%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 915 B 177 B 23.98%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 784 B 136 B 20.99%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 904 B 136 B 17.71%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 902ns 0.179ns 0.668ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 781ns 0.717ns 2.59ns 0.00887 0 0 648 B
master StartFinishScope net472 1.04μs 0.28ns 1.08ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 859ns 0.234ns 0.877ns 0.0104 0 0 768 B
#2982 StartFinishSpan net472 1.15μs 1.25ns 4.67ns 0.132 0 0 834 B
#2982 StartFinishSpan netcoreapp3.1 948ns 0.31ns 1.2ns 0.0105 0 0 784 B
#2982 StartFinishScope net472 1.35μs 0.28ns 1.01ns 0.145 0 0 915 B
#2982 StartFinishScope netcoreapp3.1 1.08μs 0.589ns 2.2ns 0.0118 0 0 904 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.272 1,215.37 1,546.28
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.139 1,033.76 1,177.93

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 915 B 177 B 23.98%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 904 B 136 B 17.71%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.22μs 0.224ns 0.777ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.03μs 0.558ns 2.01ns 0.0103 0 0 768 B
#2982 RunOnMethodBegin net472 1.55μs 0.511ns 1.98ns 0.145 0 0 915 B
#2982 RunOnMethodBegin netcoreapp3.1 1.18μs 0.536ns 2.01ns 0.0118 0 0 904 B

andrewlock avatar Aug 09 '22 18:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 10 benchmarks are slower, with geometric mean 1.192
  • 27 benchmarks have more allocations

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 715μs 702ns 2.72μs 0.359 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 249ns 966ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 724μs 469ns 1.82μs 0.361 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 462μs 199ns 746ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.73μs 2.26ns 8.77ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.81μs 4.03ns 14.5ns 0.0188 0 0 1.37 KB
master AllCycleMoreComplexBody net472 16.9μs 10.1ns 37.9ns 1.38 0.0169 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.1μs 22.2ns 83.2ns 0.106 0 0 7.85 KB
master BodyExtractorSimpleBody net472 277ns 0.288ns 1.12ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 224ns 0.329ns 1.27ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.9μs 11.6ns 44.9ns 1.2 0.0152 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 11.9μs 16.6ns 62.1ns 0.09 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 1.71μs 3.75ns 14ns 0.237 0 0 1.49 KB
#2982 AllCycleSimpleBody netcoreapp3.1 1.79μs 2.24ns 8.67ns 0.0188 0 0 1.37 KB
#2982 AllCycleMoreComplexBody net472 16.2μs 12.6ns 45.5ns 1.39 0.0243 0 8.75 KB
#2982 AllCycleMoreComplexBody netcoreapp3.1 14.3μs 16.6ns 64.5ns 0.0994 0 0 7.85 KB
#2982 BodyExtractorSimpleBody net472 254ns 0.33ns 1.23ns 0.0574 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 221ns 0.242ns 0.904ns 0.00367 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.4μs 12.5ns 48.2ns 1.21 0.0217 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12.3μs 13.5ns 50.4ns 0.092 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.44 KB 112 B 0.55%

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 177μs 151ns 587ns 0.264 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 179μs 141ns 529ns 0.268 0 0 20.44 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.214 1,568.64 1,904.27

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 947 B 153 B 19.27%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 936 B 112 B 13.59%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.57μs 0.378ns 1.31ns 0.126 0.000778 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.27μs 0.533ns 2.07ns 0.0108 0 0 824 B
#2982 ExecuteNonQuery net472 1.9μs 0.593ns 2.3ns 0.15 0.000944 0 947 B
#2982 ExecuteNonQuery netcoreapp3.1 1.39μs 0.681ns 2.64ns 0.0125 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.138 1,366.08 1,554.38
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.120 1,432.84 1,604.10

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.16 KB 153 B 15.25%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.29 KB 152 B 13.33%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.1 KB 112 B 11.38%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.22 KB 112 B 10.14%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.2μs 0.639ns 2.39ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.37μs 1.03ns 3.85ns 0.0134 0 0 984 B
master CallElasticsearchAsync net472 2.43μs 1.66ns 6.23ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.43μs 0.767ns 2.87ns 0.015 0 0 1.1 KB
#2982 CallElasticsearch net472 2.42μs 0.517ns 2ns 0.183 0 0 1.16 KB
#2982 CallElasticsearch netcoreapp3.1 1.55μs 1.29ns 4.83ns 0.0148 0 0 1.1 KB
#2982 CallElasticsearchAsync net472 2.6μs 0.635ns 2.37ns 0.205 0 0 1.29 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.6μs 0.652ns 2.52ns 0.0161 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.41 KB 152 B 12.06%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.34 KB 112 B 9.15%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.31μs 3.01ns 11.6ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.57μs 1.35ns 5.23ns 0.0163 0 0 1.22 KB
#2982 ExecuteAsync net472 2.5μs 2.73ns 10.6ns 0.223 0 0 1.41 KB
#2982 ExecuteAsync netcoreapp3.1 1.64μs 1.94ns 7.26ns 0.0183 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.63 KB 153 B 6.17%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.47 KB 112 B 4.75%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 4.98μs 13ns 50.4ns 0.393 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.17μs 4.64ns 18ns 0.0314 0 0 2.36 KB
#2982 SendAsync net472 5.32μs 4.81ns 18ns 0.418 0 0 2.63 KB
#2982 SendAsync netcoreapp3.1 3.37μs 3.05ns 11.8ns 0.0338 0 0 2.47 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.81 KB 152 B 9.15%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.85 KB 112 B 6.46%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.91μs 1.73ns 6.7ns 0.264 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.35μs 0.617ns 2.31ns 0.0235 0 0 1.73 KB
#2982 EnrichedLog net472 3.1μs 1.06ns 3.97ns 0.288 0 0 1.81 KB
#2982 EnrichedLog netcoreapp3.1 2.49μs 2ns 7.5ns 0.0249 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.65 KB 152 B 3.38%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.49 KB 112 B 2.56%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 147μs 59.8ns 231ns 0.668 0.223 0 4.5 KB
master EnrichedLog netcoreapp3.1 112μs 68.7ns 266ns 0.0559 0 0 4.38 KB
#2982 EnrichedLog net472 150μs 147ns 569ns 0.684 0.228 0 4.65 KB
#2982 EnrichedLog netcoreapp3.1 116μs 176ns 680ns 0.0579 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.59 KB 152 B 4.43%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.91 KB 112 B 2.95%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.38μs 7.57ns 27.3ns 0.546 0.00267 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.17μs 4.75ns 18.4ns 0.0521 0 0 3.8 KB
#2982 EnrichedLog net472 5.63μs 8.27ns 32ns 0.568 0.0028 0 3.59 KB
#2982 EnrichedLog netcoreapp3.1 4.37μs 6.87ns 25.7ns 0.0519 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.151 1,966.18 2,263.60

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.37 KB 152 B 12.46%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.32 KB 112 B 9.27%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.97μs 1.25ns 4.84ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.68μs 1.05ns 4.06ns 0.016 0 0 1.21 KB
#2982 SendReceive net472 2.26μs 1.13ns 4.38ns 0.218 0 0 1.37 KB
#2982 SendReceive netcoreapp3.1 1.73μs 0.68ns 2.54ns 0.0181 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.23 KB 153 B 7.36%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.8 KB 112 B 6.64%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.73μs 1.17ns 4.36ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.15μs 1.79ns 6.68ns 0.0231 0 0 1.69 KB
#2982 EnrichedLog net472 4.99μs 0.926ns 3.59ns 0.352 0 0 2.23 KB
#2982 EnrichedLog netcoreapp3.1 4.27μs 1.23ns 4.58ns 0.0235 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.329 823.31 1,094.45
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.262 847.21 1,069.37
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.201 1,068.94 1,284.33
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.135 774.08 878.95

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 810 B 152 B 23.10%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 760 B 112 B 17.28%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 823ns 0.236ns 0.915ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 774ns 0.341ns 1.28ns 0.00851 0 0 648 B
master StartFinishScope net472 1.07μs 0.186ns 0.67ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 845ns 1.42ns 5.3ns 0.0102 0 0 768 B
#2982 StartFinishSpan net472 1.09μs 0.573ns 2.22ns 0.129 0 0 810 B
#2982 StartFinishSpan netcoreapp3.1 879ns 0.662ns 2.57ns 0.0103 0 0 760 B
#2982 StartFinishScope net472 1.28μs 0.292ns 1.09ns 0.141 0 0 891 B
#2982 StartFinishScope netcoreapp3.1 1.07μs 0.406ns 1.57ns 0.0117 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.233 1,183.87 1,459.40
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.153 980.04 1,129.83

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.18μs 0.194ns 0.672ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 979ns 0.667ns 2.59ns 0.0103 0 0 768 B
#2982 RunOnMethodBegin net472 1.46μs 0.553ns 1.99ns 0.141 0 0 891 B
#2982 RunOnMethodBegin netcoreapp3.1 1.13μs 0.639ns 2.39ns 0.0119 0 0 880 B

andrewlock avatar Aug 10 '22 23:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 8 benchmarks are slower, with geometric mean 1.182
  • 27 benchmarks have more 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 719μs 374ns 1.4μs 0.359 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 451μs 114ns 443ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 734μs 826ns 3.09μs 0.363 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 470μs 101ns 378ns 0 0 0 2.59 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 1.197 192.12 229.91

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 192ns 0.13ns 0.505ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 236ns 0.532ns 2.06ns 0.00592 0 0 424 B
master AllCycleMoreComplexBody net472 189ns 0.13ns 0.485ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 234ns 0.322ns 1.25ns 0.00552 0 0 400 B
master BodyExtractorSimpleBody net472 254ns 0.206ns 0.797ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 227ns 0.354ns 1.37ns 0.00364 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.3μs 9.17ns 34.3ns 1.21 0.0214 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 14.9ns 57.6ns 0.0916 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 230ns 0.138ns 0.517ns 0.0675 0 0 425 B
#2982 AllCycleSimpleBody netcoreapp3.1 235ns 0.401ns 1.55ns 0.0059 0 0 424 B
#2982 AllCycleMoreComplexBody net472 194ns 0.784ns 2.93ns 0.0637 0 0 401 B
#2982 AllCycleMoreComplexBody netcoreapp3.1 232ns 0.307ns 1.19ns 0.0054 0 0 400 B
#2982 BodyExtractorSimpleBody net472 258ns 0.911ns 3.53ns 0.0574 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 225ns 0.266ns 1.03ns 0.00359 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.5μs 8.67ns 33.6ns 1.2 0.0218 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12.3μs 12ns 46.5ns 0.0919 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.44 KB 112 B 0.55%

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 91.9ns 356ns 0.267 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 183μs 155ns 537ns 0.183 0 0 20.44 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.169 1,586.15 1,854.09

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 947 B 153 B 19.27%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 936 B 112 B 13.59%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.59μs 0.567ns 2.2ns 0.126 0.000788 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.29μs 0.539ns 2.09ns 0.011 0 0 824 B
#2982 ExecuteNonQuery net472 1.85μs 0.54ns 2.02ns 0.15 0.000928 0 947 B
#2982 ExecuteNonQuery netcoreapp3.1 1.35μs 0.708ns 2.65ns 0.0122 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.165 1,348.66 1,571.06
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.138 1,385.79 1,576.75

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.16 KB 153 B 15.25%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.29 KB 152 B 13.33%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.1 KB 112 B 11.38%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.22 KB 112 B 10.14%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.28μs 0.94ns 3.64ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.35μs 0.37ns 1.43ns 0.0134 0 0 984 B
master CallElasticsearchAsync net472 2.39μs 1.5ns 5.82ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.39μs 0.49ns 1.9ns 0.0152 0 0 1.1 KB
#2982 CallElasticsearch net472 2.51μs 0.799ns 2.99ns 0.183 0 0 1.16 KB
#2982 CallElasticsearch netcoreapp3.1 1.57μs 1.11ns 4.28ns 0.0148 0 0 1.1 KB
#2982 CallElasticsearchAsync net472 2.57μs 0.569ns 2.13ns 0.205 0 0 1.29 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.58μs 0.435ns 1.57ns 0.0165 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.41 KB 152 B 12.06%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.34 KB 112 B 9.15%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.44μs 0.989ns 3.7ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.63μs 0.68ns 2.55ns 0.0163 0 0 1.22 KB
#2982 ExecuteAsync net472 2.63μs 1.82ns 7.06ns 0.224 0 0 1.41 KB
#2982 ExecuteAsync netcoreapp3.1 1.76μs 0.458ns 1.78ns 0.0176 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.63 KB 153 B 6.17%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.47 KB 112 B 4.75%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.01μs 3.69ns 13.8ns 0.394 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.2μs 3.85ns 14.9ns 0.0318 0 0 2.36 KB
#2982 SendAsync net472 5.21μs 2.55ns 9.89ns 0.416 0 0 2.63 KB
#2982 SendAsync netcoreapp3.1 3.33μs 2.08ns 8.07ns 0.0335 0 0 2.47 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.81 KB 152 B 9.15%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.85 KB 112 B 6.46%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.89μs 1.75ns 6.77ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.31μs 0.822ns 3.08ns 0.0231 0 0 1.73 KB
#2982 EnrichedLog net472 2.99μs 0.903ns 3.26ns 0.287 0 0 1.81 KB
#2982 EnrichedLog netcoreapp3.1 2.52μs 0.696ns 2.6ns 0.0243 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.65 KB 152 B 3.38%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.49 KB 112 B 2.56%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 148μs 196ns 761ns 0.664 0.221 0 4.5 KB
master EnrichedLog netcoreapp3.1 114μs 154ns 596ns 0.057 0 0 4.38 KB
#2982 EnrichedLog net472 148μs 71.7ns 248ns 0.739 0.222 0 4.65 KB
#2982 EnrichedLog netcoreapp3.1 114μs 113ns 439ns 0.0565 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.59 KB 152 B 4.43%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.91 KB 112 B 2.95%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.44μs 3.79ns 14.2ns 0.545 0.0027 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.22μs 2.49ns 9.33ns 0.0507 0 0 3.8 KB
#2982 EnrichedLog net472 5.66μs 3.6ns 14ns 0.57 0.00282 0 3.59 KB
#2982 EnrichedLog netcoreapp3.1 4.32μs 2.66ns 10.3ns 0.0539 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.37 KB 152 B 12.46%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.32 KB 112 B 9.27%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2μs 3.41ns 13.2ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.73μs 0.588ns 2.2ns 0.0165 0 0 1.21 KB
#2982 SendReceive net472 2.16μs 0.782ns 3.03ns 0.217 0 0 1.37 KB
#2982 SendReceive netcoreapp3.1 1.78μs 0.518ns 1.94ns 0.0179 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.23 KB 153 B 7.36%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.8 KB 112 B 6.64%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.86μs 1.41ns 5.46ns 0.329 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.02μs 0.7ns 2.71ns 0.0221 0 0 1.69 KB
#2982 EnrichedLog net472 4.89μs 1.75ns 6.77ns 0.354 0 0 2.23 KB
#2982 EnrichedLog netcoreapp3.1 4.21μs 1.67ns 6.25ns 0.0231 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.243 865.05 1,074.88
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.184 1,062.29 1,257.68
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.171 730.91 855.73

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 810 B 152 B 23.10%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 760 B 112 B 17.28%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 865ns 0.193ns 0.723ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 730ns 0.577ns 2.16ns 0.00872 0 0 648 B
master StartFinishScope net472 1.06μs 0.43ns 1.67ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 908ns 0.548ns 2.05ns 0.0104 0 0 768 B
#2982 StartFinishSpan net472 1.08μs 0.282ns 1.06ns 0.128 0 0 810 B
#2982 StartFinishSpan netcoreapp3.1 857ns 0.589ns 2.28ns 0.0103 0 0 760 B
#2982 StartFinishScope net472 1.26μs 0.346ns 1.34ns 0.141 0 0 891 B
#2982 StartFinishScope netcoreapp3.1 967ns 0.478ns 1.85ns 0.012 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.191 1,267.60 1,509.50

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.27μs 1.25ns 4.5ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.07μs 0.213ns 0.768ns 0.0102 0 0 768 B
#2982 RunOnMethodBegin net472 1.51μs 0.667ns 2.58ns 0.141 0 0 891 B
#2982 RunOnMethodBegin netcoreapp3.1 1.18μs 0.6ns 2.33ns 0.0117 0 0 880 B

andrewlock avatar Aug 11 '22 18:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 12 benchmarks are slower, with geometric mean 1.201
  • 27 benchmarks have more 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 719μs 374ns 1.4μs 0.359 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 451μs 114ns 443ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 721μs 426ns 1.65μs 0.361 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 457μs 132ns 496ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 192ns 0.13ns 0.505ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 236ns 0.532ns 2.06ns 0.00592 0 0 424 B
master AllCycleMoreComplexBody net472 189ns 0.13ns 0.485ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 234ns 0.322ns 1.25ns 0.00552 0 0 400 B
master BodyExtractorSimpleBody net472 254ns 0.206ns 0.797ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 227ns 0.354ns 1.37ns 0.00364 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.3μs 9.17ns 34.3ns 1.21 0.0214 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 14.9ns 57.6ns 0.0916 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 185ns 0.882ns 3.42ns 0.0676 0 0 425 B
#2982 AllCycleSimpleBody netcoreapp3.1 235ns 0.35ns 1.31ns 0.00586 0 0 424 B
#2982 AllCycleMoreComplexBody net472 183ns 0.243ns 0.939ns 0.0638 0 0 401 B
#2982 AllCycleMoreComplexBody netcoreapp3.1 235ns 0.325ns 1.22ns 0.00539 0 0 400 B
#2982 BodyExtractorSimpleBody net472 259ns 0.198ns 0.741ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 221ns 0.279ns 1.08ns 0.00365 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.4μs 14.2ns 53.3ns 1.21 0.0216 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 17.6ns 68.1ns 0.0915 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.57 KB 240 B 1.18%

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 91.9ns 356ns 0.267 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 181μs 80.7ns 313ns 0.271 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.139 1,586.15 1,807.03

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 947 B 153 B 19.27%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 936 B 112 B 13.59%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.59μs 0.567ns 2.2ns 0.126 0.000788 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.29μs 0.539ns 2.09ns 0.011 0 0 824 B
#2982 ExecuteNonQuery net472 1.81μs 0.7ns 2.71ns 0.15 0.000905 0 947 B
#2982 ExecuteNonQuery netcoreapp3.1 1.39μs 0.702ns 2.72ns 0.0126 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.225 1,385.79 1,697.47
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.211 1,348.66 1,633.66

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.16 KB 153 B 15.25%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.29 KB 152 B 13.33%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.1 KB 112 B 11.38%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.22 KB 112 B 10.14%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.28μs 0.94ns 3.64ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.35μs 0.37ns 1.43ns 0.0134 0 0 984 B
master CallElasticsearchAsync net472 2.39μs 1.5ns 5.82ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.39μs 0.49ns 1.9ns 0.0152 0 0 1.1 KB
#2982 CallElasticsearch net472 2.43μs 0.627ns 2.43ns 0.183 0 0 1.16 KB
#2982 CallElasticsearch netcoreapp3.1 1.63μs 2.74ns 10.6ns 0.0146 0 0 1.1 KB
#2982 CallElasticsearchAsync net472 2.61μs 0.93ns 3.6ns 0.205 0 0 1.29 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.7μs 0.647ns 2.33ns 0.0162 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.127 2,440.93 2,750.50

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.41 KB 152 B 12.06%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.34 KB 112 B 9.15%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.44μs 0.989ns 3.7ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.63μs 0.68ns 2.55ns 0.0163 0 0 1.22 KB
#2982 ExecuteAsync net472 2.75μs 2.92ns 11.3ns 0.224 0 0 1.41 KB
#2982 ExecuteAsync netcoreapp3.1 1.66μs 2.18ns 8.45ns 0.018 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 1.154 5,015.27 5,787.69
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 1.129 3,203.02 3,616.10

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.77 KB 289 B 11.66%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.6 KB 240 B 10.17%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.01μs 3.69ns 13.8ns 0.394 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.2μs 3.85ns 14.9ns 0.0318 0 0 2.36 KB
#2982 SendAsync net472 5.79μs 7.97ns 30.9ns 0.439 0 0 2.77 KB
#2982 SendAsync netcoreapp3.1 3.61μs 4.62ns 16.6ns 0.0343 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.81 KB 152 B 9.15%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.85 KB 112 B 6.46%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.89μs 1.75ns 6.77ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.31μs 0.822ns 3.08ns 0.0231 0 0 1.73 KB
#2982 EnrichedLog net472 3.15μs 1.13ns 4.23ns 0.288 0 0 1.81 KB
#2982 EnrichedLog netcoreapp3.1 2.48μs 1.19ns 4.45ns 0.0248 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.65 KB 152 B 3.38%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.49 KB 112 B 2.56%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 148μs 196ns 761ns 0.664 0.221 0 4.5 KB
master EnrichedLog netcoreapp3.1 114μs 154ns 596ns 0.057 0 0 4.38 KB
#2982 EnrichedLog net472 151μs 145ns 563ns 0.686 0.229 0 4.65 KB
#2982 EnrichedLog netcoreapp3.1 114μs 103ns 370ns 0.0568 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.59 KB 152 B 4.43%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.91 KB 112 B 2.95%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.44μs 3.79ns 14.2ns 0.545 0.0027 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.22μs 2.49ns 9.33ns 0.0507 0 0 3.8 KB
#2982 EnrichedLog net472 5.65μs 7.48ns 28ns 0.569 0.00286 0 3.59 KB
#2982 EnrichedLog netcoreapp3.1 4.65μs 4.45ns 16.6ns 0.0534 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.166 1,993.71 2,324.98

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.37 KB 152 B 12.46%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.32 KB 112 B 9.27%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2μs 3.41ns 13.2ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.73μs 0.588ns 2.2ns 0.0165 0 0 1.21 KB
#2982 SendReceive net472 2.32μs 0.549ns 2.12ns 0.218 0 0 1.37 KB
#2982 SendReceive netcoreapp3.1 1.77μs 0.442ns 1.59ns 0.0177 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.23 KB 153 B 7.36%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.8 KB 112 B 6.64%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.86μs 1.41ns 5.46ns 0.329 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.02μs 0.7ns 2.71ns 0.0221 0 0 1.69 KB
#2982 EnrichedLog net472 4.97μs 1.76ns 6.34ns 0.353 0 0 2.23 KB
#2982 EnrichedLog netcoreapp3.1 4.26μs 3.12ns 12.1ns 0.0234 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.321 1,062.29 1,403.68
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.295 865.05 1,120.23
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.288 730.91 941.43
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.198 907.80 1,087.60

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 810 B 152 B 23.10%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 760 B 112 B 17.28%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 865ns 0.193ns 0.723ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 730ns 0.577ns 2.16ns 0.00872 0 0 648 B
master StartFinishScope net472 1.06μs 0.43ns 1.67ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 908ns 0.548ns 2.05ns 0.0104 0 0 768 B
#2982 StartFinishSpan net472 1.12μs 0.469ns 1.75ns 0.129 0 0 810 B
#2982 StartFinishSpan netcoreapp3.1 942ns 0.677ns 2.62ns 0.0104 0 0 760 B
#2982 StartFinishScope net472 1.4μs 0.502ns 1.94ns 0.141 0 0 891 B
#2982 StartFinishScope netcoreapp3.1 1.09μs 0.567ns 2.12ns 0.012 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.177 1,267.60 1,491.56

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.27μs 1.25ns 4.5ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.07μs 0.213ns 0.768ns 0.0102 0 0 768 B
#2982 RunOnMethodBegin net472 1.49μs 0.576ns 2.16ns 0.141 0 0 891 B
#2982 RunOnMethodBegin netcoreapp3.1 1.18μs 0.508ns 1.9ns 0.0118 0 0 880 B

andrewlock avatar Aug 11 '22 23:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 2 benchmarks are faster, with geometric mean 1.216
  • 12 benchmarks are slower, with geometric mean 1.197
  • 27 benchmarks have more 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 4.32μs 24.4μs 0.391 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 529μs 3.02μs 22.6μs 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 722μs 209ns 783ns 0.365 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 472μs 142ns 513ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #2982

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 1.129 204.95 181.58

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 205ns 0.137ns 0.493ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 234ns 0.27ns 1.05ns 0.00594 0 0 424 B
master AllCycleMoreComplexBody net472 182ns 0.151ns 0.566ns 0.0638 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.314ns 1.22ns 0.00542 0 0 400 B
master BodyExtractorSimpleBody net472 259ns 0.152ns 0.549ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 216ns 0.355ns 1.37ns 0.0038 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.2μs 9.8ns 37.9ns 1.21 0.0215 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 20.2ns 72.8ns 0.0933 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 182ns 0.192ns 0.718ns 0.0675 0 0 425 B
#2982 AllCycleSimpleBody netcoreapp3.1 235ns 0.371ns 1.44ns 0.00588 0 0 424 B
#2982 AllCycleMoreComplexBody net472 184ns 0.283ns 1.06ns 0.0637 0 0 401 B
#2982 AllCycleMoreComplexBody netcoreapp3.1 237ns 0.177ns 0.662ns 0.00545 0 0 400 B
#2982 BodyExtractorSimpleBody net472 255ns 0.133ns 0.497ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 232ns 0.314ns 1.21ns 0.00372 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.3μs 17.1ns 66.2ns 1.2 0.0215 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 9.05ns 32.6ns 0.091 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.57 KB 240 B 1.18%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0.0624ns 0.0151ns 0.0918ns 0 0 0 0 b
master SendRequest netcoreapp3.1 189μs 77.1ns 267ns 0.188 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 181μs 95.3ns 369ns 0.271 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.129 1,683.11 1,900.50

Faster :tada: in #2982

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.311 1,762.88 1,344.78 bimodal

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 947 B 153 B 19.27%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 936 B 112 B 13.59%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.69μs 9.36ns 54.6ns 0.126 0.000827 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.77μs 15.2ns 152ns 0.0112 0 0 824 B
#2982 ExecuteNonQuery net472 1.9μs 0.579ns 2.24ns 0.15 0.000956 0 947 B
#2982 ExecuteNonQuery netcoreapp3.1 1.34μs 0.457ns 1.71ns 0.0122 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.189 2,292.22 2,725.59
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.155 2,170.17 2,507.29

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.16 KB 153 B 15.25%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.29 KB 153 B 13.43%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.1 KB 112 B 11.38%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.22 KB 112 B 10.14%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.17μs 0.518ns 1.87ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 0.68ns 2.64ns 0.0131 0 0 984 B
master CallElasticsearchAsync net472 2.28μs 4.84ns 18.8ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.43μs 0.529ns 1.98ns 0.015 0 0 1.1 KB
#2982 CallElasticsearch net472 2.51μs 1.32ns 5.12ns 0.184 0 0 1.16 KB
#2982 CallElasticsearch netcoreapp3.1 1.52μs 0.256ns 0.922ns 0.0145 0 0 1.1 KB
#2982 CallElasticsearchAsync net472 2.73μs 1.18ns 4.57ns 0.204 0 0 1.29 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.56μs 1ns 3.89ns 0.0164 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.150 2,478.73 2,850.59

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.41 KB 152 B 12.06%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.34 KB 112 B 9.15%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.48μs 3.1ns 12ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.56μs 1.66ns 6.2ns 0.0163 0 0 1.22 KB
#2982 ExecuteAsync net472 2.86μs 4.79ns 18.5ns 0.223 0 0 1.41 KB
#2982 ExecuteAsync netcoreapp3.1 1.73μs 0.772ns 2.89ns 0.0182 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 1.178 5,068.44 5,971.73

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.77 KB 289 B 11.66%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.6 KB 240 B 10.17%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.06μs 6.98ns 26.1ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.3μs 4.05ns 15.7ns 0.031 0 0 2.36 KB
#2982 SendAsync net472 5.97μs 4.2ns 16.3ns 0.439 0 0 2.77 KB
#2982 SendAsync netcoreapp3.1 3.64μs 1.56ns 6.02ns 0.0346 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.135 2,290.31 2,599.56

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.81 KB 152 B 9.15%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.85 KB 112 B 6.46%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.83μs 0.751ns 2.81ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.29μs 0.476ns 1.72ns 0.0231 0 0 1.73 KB
#2982 EnrichedLog net472 3.08μs 1.03ns 4ns 0.288 0 0 1.81 KB
#2982 EnrichedLog netcoreapp3.1 2.6μs 0.979ns 3.66ns 0.0247 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.65 KB 152 B 3.38%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.49 KB 112 B 2.56%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 149μs 77.9ns 302ns 0.675 0.225 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 107ns 399ns 0.0566 0 0 4.38 KB
#2982 EnrichedLog net472 148μs 48.9ns 183ns 0.672 0.224 0 4.65 KB
#2982 EnrichedLog netcoreapp3.1 115μs 194ns 749ns 0.0572 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.59 KB 152 B 4.43%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.91 KB 112 B 2.95%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.62μs 8.3ns 32.1ns 0.545 0.00281 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.31μs 5.04ns 19.5ns 0.0514 0 0 3.8 KB
#2982 EnrichedLog net472 5.82μs 3.95ns 15.3ns 0.568 0.00291 0 3.59 KB
#2982 EnrichedLog netcoreapp3.1 4.51μs 1.78ns 6.4ns 0.052 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.115 1,992.49 2,222.38

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.37 KB 152 B 12.46%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.32 KB 112 B 9.27%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.99μs 1.03ns 4ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.73μs 0.707ns 2.65ns 0.0165 0 0 1.21 KB
#2982 SendReceive net472 2.22μs 0.844ns 3.16ns 0.218 0 0 1.37 KB
#2982 SendReceive netcoreapp3.1 1.75μs 4.42ns 17.1ns 0.0181 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.23 KB 153 B 7.36%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.8 KB 112 B 6.64%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.66μs 1.38ns 5.33ns 0.329 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.09μs 2ns 7.73ns 0.0226 0 0 1.69 KB
#2982 EnrichedLog net472 5.05μs 1.63ns 6.31ns 0.352 0 0 2.23 KB
#2982 EnrichedLog netcoreapp3.1 4.3μs 2.13ns 7.98ns 0.024 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.409 1,013.50 1,428.48
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.384 832.11 1,151.84
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.184 779.29 922.37
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.142 929.93 1,061.71

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 810 B 152 B 23.10%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 760 B 112 B 17.28%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 832ns 0.252ns 0.944ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 776ns 1.78ns 6.88ns 0.00885 0 0 648 B
master StartFinishScope net472 1.01μs 0.27ns 1.05ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 930ns 0.337ns 1.26ns 0.0102 0 0 768 B
#2982 StartFinishSpan net472 1.15μs 0.223ns 0.804ns 0.129 0 0 810 B
#2982 StartFinishSpan netcoreapp3.1 923ns 0.299ns 1.16ns 0.0101 0 0 760 B
#2982 StartFinishScope net472 1.43μs 0.486ns 1.68ns 0.141 0 0 891 B
#2982 StartFinishScope netcoreapp3.1 1.06μs 1.2ns 4.33ns 0.0117 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.236 1,220.26 1,508.17

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.22μs 0.858ns 3.32ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.01μs 0.329ns 1.19ns 0.0102 0 0 768 B
#2982 RunOnMethodBegin net472 1.51μs 0.504ns 1.95ns 0.141 0 0 891 B
#2982 RunOnMethodBegin netcoreapp3.1 1.1μs 0.652ns 2.44ns 0.0121 0 0 880 B

andrewlock avatar Aug 12 '22 14:08 andrewlock

Snapshots difference summary

The following differences have been observed in snapshots. So diff is simplistic, so please check some files anyway while we improve it.

652 occurrences of :

-      span.kind: client
+      span.kind: client,
+      _dd.p.dm: -1

851 occurrences of :

-      version: 1.0.0
+      version: 1.0.0,
+      _dd.p.dm: -1

245 occurrences of :

-      span.kind: server
+      span.kind: server,
+      _dd.p.dm: -1

47 occurrences of :

-      runtime-id: Guid_1
+      runtime-id: Guid_1,
+      _dd.p.dm: -1

212 occurrences of :

+      _dd.p.dm: -5,

55 occurrences of :

+      _dd.p.dm: -1,

github-actions[bot] avatar Aug 12 '22 16:08 github-actions[bot]

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 3 benchmarks are faster, with geometric mean 1.168
  • 13 benchmarks are slower, with geometric mean 1.195
  • 27 benchmarks have more 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 - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #2982

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.164 527,143.46 452,903.31

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 792μs 4.32μs 24.4μs 0.391 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 529μs 3.02μs 22.6μs 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 724μs 269ns 1.01μs 0.361 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 453μs 112ns 418ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #2982

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 1.126 204.95 181.98

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 205ns 0.137ns 0.493ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 234ns 0.27ns 1.05ns 0.00594 0 0 424 B
master AllCycleMoreComplexBody net472 182ns 0.151ns 0.566ns 0.0638 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.314ns 1.22ns 0.00542 0 0 400 B
master BodyExtractorSimpleBody net472 259ns 0.152ns 0.549ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 216ns 0.355ns 1.37ns 0.0038 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.2μs 9.8ns 37.9ns 1.21 0.0215 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 20.2ns 72.8ns 0.0933 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 182ns 0.162ns 0.605ns 0.0676 0 0 425 B
#2982 AllCycleSimpleBody netcoreapp3.1 241ns 1.15ns 4.61ns 0.00575 0 0 424 B
#2982 AllCycleMoreComplexBody net472 181ns 0.249ns 0.964ns 0.0637 0 0 401 B
#2982 AllCycleMoreComplexBody netcoreapp3.1 240ns 0.191ns 0.741ns 0.00553 0 0 400 B
#2982 BodyExtractorSimpleBody net472 258ns 0.198ns 0.766ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 219ns 0.153ns 0.594ns 0.00366 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.3μs 15.8ns 61ns 1.21 0.0214 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 11.8μs 25ns 96.8ns 0.0878 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.57 KB 240 B 1.18%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0.0624ns 0.0151ns 0.0918ns 0 0 0 0 b
master SendRequest netcoreapp3.1 189μs 77.1ns 267ns 0.188 0 0 20.33 KB
#2982 SendRequest net472 0.00775ns 0.00232ns 0.00899ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 180μs 137ns 512ns 0.18 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - Faster :tada: More allocations :warning:

Faster :tada: in #2982

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.215 1,762.88 1,451.38 bimodal

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 947 B 153 B 19.27%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 936 B 112 B 13.59%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.69μs 9.36ns 54.6ns 0.126 0.000827 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.77μs 15.2ns 152ns 0.0112 0 0 824 B
#2982 ExecuteNonQuery net472 1.83μs 4.02ns 14.5ns 0.15 0.000909 0 947 B
#2982 ExecuteNonQuery netcoreapp3.1 1.45μs 0.93ns 3.48ns 0.0131 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.137 2,170.17 2,467.13
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.132 2,292.22 2,595.46

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.16 KB 153 B 15.25%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.29 KB 153 B 13.43%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.1 KB 112 B 11.38%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.22 KB 112 B 10.14%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.17μs 0.518ns 1.87ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 0.68ns 2.64ns 0.0131 0 0 984 B
master CallElasticsearchAsync net472 2.28μs 4.84ns 18.8ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.43μs 0.529ns 1.98ns 0.015 0 0 1.1 KB
#2982 CallElasticsearch net472 2.47μs 1.04ns 3.77ns 0.183 0 0 1.16 KB
#2982 CallElasticsearch netcoreapp3.1 1.5μs 0.791ns 2.96ns 0.015 0 0 1.1 KB
#2982 CallElasticsearchAsync net472 2.6μs 2.46ns 9.53ns 0.205 0 0 1.29 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.58μs 0.587ns 2.2ns 0.0166 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.41 KB 152 B 12.06%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.34 KB 112 B 9.15%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.48μs 3.1ns 12ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.56μs 1.66ns 6.2ns 0.0163 0 0 1.22 KB
#2982 ExecuteAsync net472 2.68μs 1.55ns 5.99ns 0.224 0 0 1.41 KB
#2982 ExecuteAsync netcoreapp3.1 1.72μs 0.872ns 3.38ns 0.018 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 1.145 3,297.92 3,775.41
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 1.144 5,068.44 5,799.99

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.77 KB 289 B 11.66%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.6 KB 240 B 10.17%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.06μs 6.98ns 26.1ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.3μs 4.05ns 15.7ns 0.031 0 0 2.36 KB
#2982 SendAsync net472 5.8μs 3.56ns 13.8ns 0.44 0 0 2.77 KB
#2982 SendAsync netcoreapp3.1 3.77μs 2.51ns 9.04ns 0.0358 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.175 2,290.31 2,691.97
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.116 2,834.55 3,163.65

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.81 KB 152 B 9.15%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.85 KB 112 B 6.46%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.83μs 0.751ns 2.81ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.29μs 0.476ns 1.72ns 0.0231 0 0 1.73 KB
#2982 EnrichedLog net472 3.16μs 0.812ns 3.15ns 0.288 0 0 1.81 KB
#2982 EnrichedLog netcoreapp3.1 2.69μs 1.55ns 5.99ns 0.0256 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.65 KB 152 B 3.38%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.49 KB 112 B 2.56%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 149μs 77.9ns 302ns 0.675 0.225 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 107ns 399ns 0.0566 0 0 4.38 KB
#2982 EnrichedLog net472 149μs 99.4ns 385ns 0.672 0.224 0 4.65 KB
#2982 EnrichedLog netcoreapp3.1 115μs 263ns 1.02μs 0.0578 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.59 KB 152 B 4.43%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.91 KB 112 B 2.95%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.62μs 8.3ns 32.1ns 0.545 0.00281 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.31μs 5.04ns 19.5ns 0.0514 0 0 3.8 KB
#2982 EnrichedLog net472 5.86μs 4.37ns 16.9ns 0.568 0.00291 0 3.59 KB
#2982 EnrichedLog netcoreapp3.1 4.34μs 2.01ns 7.77ns 0.0525 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.171 1,992.49 2,334.02

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.37 KB 152 B 12.46%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.32 KB 112 B 9.27%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.99μs 1.03ns 4ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.73μs 0.707ns 2.65ns 0.0165 0 0 1.21 KB
#2982 SendReceive net472 2.34μs 1.97ns 7.62ns 0.217 0 0 1.37 KB
#2982 SendReceive netcoreapp3.1 1.83μs 0.742ns 2.78ns 0.0175 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.23 KB 153 B 7.36%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.8 KB 112 B 6.64%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.66μs 1.38ns 5.33ns 0.329 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.09μs 2ns 7.73ns 0.0226 0 0 1.69 KB
#2982 EnrichedLog net472 5.08μs 2.87ns 11.1ns 0.352 0 0 2.23 KB
#2982 EnrichedLog netcoreapp3.1 4.33μs 1.75ns 6.56ns 0.0237 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.400 832.11 1,165.24
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.353 1,013.50 1,371.65
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.171 929.93 1,088.57
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.143 779.29 890.73

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 810 B 152 B 23.10%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 760 B 112 B 17.28%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 832ns 0.252ns 0.944ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 776ns 1.78ns 6.88ns 0.00885 0 0 648 B
master StartFinishScope net472 1.01μs 0.27ns 1.05ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 930ns 0.337ns 1.26ns 0.0102 0 0 768 B
#2982 StartFinishSpan net472 1.17μs 0.633ns 2.37ns 0.128 0 0 810 B
#2982 StartFinishSpan netcoreapp3.1 889ns 1.75ns 6.31ns 0.0102 0 0 760 B
#2982 StartFinishScope net472 1.37μs 0.356ns 1.38ns 0.141 0 0 891 B
#2982 StartFinishScope netcoreapp3.1 1.09μs 0.407ns 1.47ns 0.012 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.293 1,220.26 1,577.77
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.191 1,008.30 1,201.10

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.22μs 0.858ns 3.32ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.01μs 0.329ns 1.19ns 0.0102 0 0 768 B
#2982 RunOnMethodBegin net472 1.58μs 0.478ns 1.79ns 0.141 0 0 891 B
#2982 RunOnMethodBegin netcoreapp3.1 1.2μs 0.735ns 2.85ns 0.0119 0 0 880 B

andrewlock avatar Aug 12 '22 16:08 andrewlock

Snapshots difference summary

The following differences have been observed in snapshots. So diff is simplistic, so please check some files anyway while we improve it.

652 occurrences of :

-      span.kind: client
+      span.kind: client,
+      _dd.p.dm: -1

851 occurrences of :

-      version: 1.0.0
+      version: 1.0.0,
+      _dd.p.dm: -1

245 occurrences of :

-      span.kind: server
+      span.kind: server,
+      _dd.p.dm: -1

47 occurrences of :

-      runtime-id: Guid_1
+      runtime-id: Guid_1,
+      _dd.p.dm: -1

212 occurrences of :

+      _dd.p.dm: -5,

55 occurrences of :

+      _dd.p.dm: -1,

github-actions[bot] avatar Aug 12 '22 17:08 github-actions[bot]

Snapshots difference summary

The following differences have been observed in snapshots. So diff is simplistic, so please check some files anyway while we improve it.

652 occurrences of :

-      span.kind: client
+      span.kind: client,
+      _dd.p.dm: -1

851 occurrences of :

-      version: 1.0.0
+      version: 1.0.0,
+      _dd.p.dm: -1

245 occurrences of :

-      span.kind: server
+      span.kind: server,
+      _dd.p.dm: -1

47 occurrences of :

-      runtime-id: Guid_1
+      runtime-id: Guid_1,
+      _dd.p.dm: -1

212 occurrences of :

+      _dd.p.dm: -5,

55 occurrences of :

+      _dd.p.dm: -1,

github-actions[bot] avatar Aug 12 '22 18:08 github-actions[bot]

Snapshots difference summary

The following differences have been observed in snapshots. So diff is simplistic, so please check some files anyway while we improve it.

652 occurrences of :

-      span.kind: client
+      span.kind: client,
+      _dd.p.dm: -1

851 occurrences of :

-      version: 1.0.0
+      version: 1.0.0,
+      _dd.p.dm: -1

245 occurrences of :

-      span.kind: server
+      span.kind: server,
+      _dd.p.dm: -1

47 occurrences of :

-      runtime-id: Guid_1
+      runtime-id: Guid_1,
+      _dd.p.dm: -1

212 occurrences of :

+      _dd.p.dm: -5,

55 occurrences of :

+      _dd.p.dm: -1,

github-actions[bot] avatar Aug 12 '22 18:08 github-actions[bot]

Snapshots difference summary

The following differences have been observed in snapshots. So diff is simplistic, so please check some files anyway while we improve it.

652 occurrences of :

-      span.kind: client
+      span.kind: client,
+      _dd.p.dm: -1

851 occurrences of :

-      version: 1.0.0
+      version: 1.0.0,
+      _dd.p.dm: -1

245 occurrences of :

-      span.kind: server
+      span.kind: server,
+      _dd.p.dm: -1

47 occurrences of :

-      runtime-id: Guid_1
+      runtime-id: Guid_1,
+      _dd.p.dm: -1

212 occurrences of :

+      _dd.p.dm: -5,

55 occurrences of :

+      _dd.p.dm: -1,

github-actions[bot] avatar Aug 12 '22 18:08 github-actions[bot]

Snapshots difference summary

The following differences have been observed in snapshots. So diff is simplistic, so please check some files anyway while we improve it.

652 occurrences of :

-      span.kind: client
+      span.kind: client,
+      _dd.p.dm: -1

851 occurrences of :

-      version: 1.0.0
+      version: 1.0.0,
+      _dd.p.dm: -1

245 occurrences of :

-      span.kind: server
+      span.kind: server,
+      _dd.p.dm: -1

47 occurrences of :

-      runtime-id: Guid_1
+      runtime-id: Guid_1,
+      _dd.p.dm: -1

212 occurrences of :

+      _dd.p.dm: -5,

55 occurrences of :

+      _dd.p.dm: -1,

github-actions[bot] avatar Aug 12 '22 19:08 github-actions[bot]

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 2 benchmarks are faster, with geometric mean 1.153
  • 12 benchmarks are slower, with geometric mean 1.185
  • 27 benchmarks have more 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 4.32μs 24.4μs 0.391 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 529μs 3.02μs 22.6μs 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 728μs 488ns 1.89μs 0.365 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 468μs 139ns 538ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #2982

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 1.114 204.95 183.93

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 205ns 0.137ns 0.493ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 234ns 0.27ns 1.05ns 0.00594 0 0 424 B
master AllCycleMoreComplexBody net472 182ns 0.151ns 0.566ns 0.0638 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.314ns 1.22ns 0.00542 0 0 400 B
master BodyExtractorSimpleBody net472 259ns 0.152ns 0.549ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 216ns 0.355ns 1.37ns 0.0038 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.2μs 9.8ns 37.9ns 1.21 0.0215 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 20.2ns 72.8ns 0.0933 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 184ns 0.229ns 0.859ns 0.0676 9.26E-05 0 425 B
#2982 AllCycleSimpleBody netcoreapp3.1 237ns 0.344ns 1.29ns 0.0058 0 0 424 B
#2982 AllCycleMoreComplexBody net472 183ns 0.299ns 1.12ns 0.0637 0 0 401 B
#2982 AllCycleMoreComplexBody netcoreapp3.1 235ns 0.34ns 1.32ns 0.00529 0 0 400 B
#2982 BodyExtractorSimpleBody net472 261ns 0.336ns 1.3ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 221ns 0.346ns 1.34ns 0.00369 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.2μs 8.71ns 32.6ns 1.21 0.0212 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 18ns 67.3ns 0.0908 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.57 KB 240 B 1.18%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0.0624ns 0.0151ns 0.0918ns 0 0 0 0 b
master SendRequest netcoreapp3.1 189μs 77.1ns 267ns 0.188 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 181μs 124ns 462ns 0.271 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - Faster :tada: More allocations :warning:

Faster :tada: in #2982

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.193 1,762.88 1,477.36 bimodal

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 947 B 153 B 19.27%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 936 B 112 B 13.59%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.69μs 9.36ns 54.6ns 0.126 0.000827 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.77μs 15.2ns 152ns 0.0112 0 0 824 B
#2982 ExecuteNonQuery net472 1.87μs 0.539ns 2.09ns 0.15 0.000932 0 947 B
#2982 ExecuteNonQuery netcoreapp3.1 1.48μs 0.296ns 1.15ns 0.0125 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.166 2,170.17 2,530.27
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.149 2,292.22 2,634.83

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.16 KB 153 B 15.25%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.29 KB 153 B 13.43%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.1 KB 112 B 11.38%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.22 KB 112 B 10.14%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.17μs 0.518ns 1.87ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 0.68ns 2.64ns 0.0131 0 0 984 B
master CallElasticsearchAsync net472 2.28μs 4.84ns 18.8ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.43μs 0.529ns 1.98ns 0.015 0 0 1.1 KB
#2982 CallElasticsearch net472 2.53μs 0.578ns 2.24ns 0.183 0 0 1.16 KB
#2982 CallElasticsearch netcoreapp3.1 1.5μs 0.726ns 2.81ns 0.0142 0 0 1.1 KB
#2982 CallElasticsearchAsync net472 2.63μs 0.793ns 2.86ns 0.205 0 0 1.29 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.58μs 0.818ns 3.06ns 0.0167 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.120 1,558.23 1,744.94

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.41 KB 152 B 12.06%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.34 KB 112 B 9.15%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.48μs 3.1ns 12ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.56μs 1.66ns 6.2ns 0.0163 0 0 1.22 KB
#2982 ExecuteAsync net472 2.66μs 1.79ns 6.93ns 0.224 0 0 1.41 KB
#2982 ExecuteAsync netcoreapp3.1 1.74μs 0.673ns 2.61ns 0.0176 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 1.131 5,068.44 5,731.65
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 1.120 3,297.92 3,695.12

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.77 KB 289 B 11.66%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.6 KB 240 B 10.17%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.06μs 6.98ns 26.1ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.3μs 4.05ns 15.7ns 0.031 0 0 2.36 KB
#2982 SendAsync net472 5.73μs 3.06ns 11.8ns 0.44 0 0 2.77 KB
#2982 SendAsync netcoreapp3.1 3.69μs 2ns 7.75ns 0.0351 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.132 2,834.55 3,209.85

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.81 KB 152 B 9.15%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.85 KB 112 B 6.46%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.83μs 0.751ns 2.81ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.29μs 0.476ns 1.72ns 0.0231 0 0 1.73 KB
#2982 EnrichedLog net472 3.21μs 1.72ns 6.43ns 0.287 0 0 1.81 KB
#2982 EnrichedLog netcoreapp3.1 2.42μs 1.24ns 4.49ns 0.0254 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.65 KB 152 B 3.38%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.49 KB 112 B 2.56%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 149μs 77.9ns 302ns 0.675 0.225 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 107ns 399ns 0.0566 0 0 4.38 KB
#2982 EnrichedLog net472 151μs 250ns 967ns 0.677 0.226 0 4.65 KB
#2982 EnrichedLog netcoreapp3.1 116μs 194ns 725ns 0.0582 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.59 KB 152 B 4.43%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.91 KB 112 B 2.95%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.62μs 8.3ns 32.1ns 0.545 0.00281 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.31μs 5.04ns 19.5ns 0.0514 0 0 3.8 KB
#2982 EnrichedLog net472 5.66μs 3.56ns 13.8ns 0.568 0.00282 0 3.59 KB
#2982 EnrichedLog netcoreapp3.1 4.43μs 2.54ns 9.17ns 0.0533 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.136 1,992.49 2,263.91

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.37 KB 152 B 12.46%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.32 KB 112 B 9.27%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.99μs 1.03ns 4ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.73μs 0.707ns 2.65ns 0.0165 0 0 1.21 KB
#2982 SendReceive net472 2.26μs 2.69ns 10.4ns 0.218 0 0 1.37 KB
#2982 SendReceive netcoreapp3.1 1.75μs 0.445ns 1.67ns 0.0185 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.23 KB 153 B 7.36%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.8 KB 112 B 6.64%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.66μs 1.38ns 5.33ns 0.329 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.09μs 2ns 7.73ns 0.0226 0 0 1.69 KB
#2982 EnrichedLog net472 5.17μs 2.49ns 9.63ns 0.354 0 0 2.23 KB
#2982 EnrichedLog netcoreapp3.1 4.33μs 1.12ns 4.33ns 0.0238 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.399 832.11 1,164.19
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.354 1,013.50 1,372.71
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.212 779.29 944.58

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 810 B 152 B 23.10%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 760 B 112 B 17.28%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 832ns 0.252ns 0.944ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 776ns 1.78ns 6.88ns 0.00885 0 0 648 B
master StartFinishScope net472 1.01μs 0.27ns 1.05ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 930ns 0.337ns 1.26ns 0.0102 0 0 768 B
#2982 StartFinishSpan net472 1.16μs 0.256ns 0.957ns 0.128 0 0 810 B
#2982 StartFinishSpan netcoreapp3.1 945ns 0.485ns 1.82ns 0.0104 0 0 760 B
#2982 StartFinishScope net472 1.37μs 0.333ns 1.29ns 0.141 0 0 891 B
#2982 StartFinishScope netcoreapp3.1 1.02μs 0.239ns 0.894ns 0.0117 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.201 1,220.26 1,465.72
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.141 1,008.30 1,150.59

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.22μs 0.858ns 3.32ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.01μs 0.329ns 1.19ns 0.0102 0 0 768 B
#2982 RunOnMethodBegin net472 1.47μs 0.405ns 1.52ns 0.141 0 0 891 B
#2982 RunOnMethodBegin netcoreapp3.1 1.15μs 0.398ns 1.49ns 0.012 0 0 880 B

andrewlock avatar Aug 12 '22 19:08 andrewlock

Snapshots difference summary

The following differences have been observed in snapshots. So diff is simplistic, so please check some files anyway while we improve it.

661 occurrences of :

-      span.kind: client
+      span.kind: client,
+      _dd.p.dm: -1

876 occurrences of :

-      version: 1.0.0
+      version: 1.0.0,
+      _dd.p.dm: -1

290 occurrences of :

-      span.kind: server
+      span.kind: server,
+      _dd.p.dm: -1

47 occurrences of :

-      runtime-id: Guid_1
+      runtime-id: Guid_1,
+      _dd.p.dm: -1

267 occurrences of :

+      _dd.p.dm: -1,

github-actions[bot] avatar Aug 12 '22 21:08 github-actions[bot]

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 2 benchmarks are faster, with geometric mean 1.192
  • 11 benchmarks are slower, with geometric mean 1.169
  • 27 benchmarks have more 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 - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #2982

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.142 527,143.46 461,779.64

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 792μs 4.32μs 24.4μs 0.391 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 529μs 3.02μs 22.6μs 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 746μs 569ns 2.2μs 0.374 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 462μs 224ns 836ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 205ns 0.137ns 0.493ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 234ns 0.27ns 1.05ns 0.00594 0 0 424 B
master AllCycleMoreComplexBody net472 182ns 0.151ns 0.566ns 0.0638 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.314ns 1.22ns 0.00542 0 0 400 B
master BodyExtractorSimpleBody net472 259ns 0.152ns 0.549ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 216ns 0.355ns 1.37ns 0.0038 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.2μs 9.8ns 37.9ns 1.21 0.0215 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 20.2ns 72.8ns 0.0933 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 206ns 0.271ns 0.977ns 0.0676 0 0 425 B
#2982 AllCycleSimpleBody netcoreapp3.1 233ns 0.458ns 1.65ns 0.00574 0 0 424 B
#2982 AllCycleMoreComplexBody net472 181ns 0.148ns 0.554ns 0.0637 0 0 401 B
#2982 AllCycleMoreComplexBody netcoreapp3.1 242ns 0.414ns 1.6ns 0.00545 0 0 400 B
#2982 BodyExtractorSimpleBody net472 274ns 0.397ns 1.54ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 221ns 0.223ns 0.836ns 0.00376 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.3μs 11.3ns 42.1ns 1.2 0.0214 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 12.6ns 47.1ns 0.0904 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.57 KB 240 B 1.18%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0.0624ns 0.0151ns 0.0918ns 0 0 0 0 b
master SendRequest netcoreapp3.1 189μs 77.1ns 267ns 0.188 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 181μs 154ns 595ns 0.269 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - Faster :tada: More allocations :warning:

Faster :tada: in #2982

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.245 1,762.88 1,415.54 bimodal

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 947 B 153 B 19.27%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 936 B 112 B 13.59%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.69μs 9.36ns 54.6ns 0.126 0.000827 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.77μs 15.2ns 152ns 0.0112 0 0 824 B
#2982 ExecuteNonQuery net472 1.85μs 0.411ns 1.59ns 0.15 0.000918 0 947 B
#2982 ExecuteNonQuery netcoreapp3.1 1.42μs 1.19ns 4.45ns 0.0128 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.129 2,292.22 2,587.37
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.120 1,426.49 1,597.58

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.16 KB 153 B 15.25%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.29 KB 153 B 13.43%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.1 KB 112 B 11.38%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.22 KB 112 B 10.14%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.17μs 0.518ns 1.87ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.4μs 0.68ns 2.64ns 0.0131 0 0 984 B
master CallElasticsearchAsync net472 2.28μs 4.84ns 18.8ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.43μs 0.529ns 1.98ns 0.015 0 0 1.1 KB
#2982 CallElasticsearch net472 2.39μs 0.641ns 2.48ns 0.183 0 0 1.16 KB
#2982 CallElasticsearch netcoreapp3.1 1.5μs 0.756ns 2.93ns 0.0143 0 0 1.1 KB
#2982 CallElasticsearchAsync net472 2.59μs 0.804ns 3.11ns 0.205 0 0 1.29 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.6μs 0.614ns 2.38ns 0.0168 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.157 1,558.23 1,802.72

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.41 KB 152 B 12.06%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.34 KB 112 B 9.15%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.48μs 3.1ns 12ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.56μs 1.66ns 6.2ns 0.0163 0 0 1.22 KB
#2982 ExecuteAsync net472 2.73μs 3.44ns 13.3ns 0.223 0 0 1.41 KB
#2982 ExecuteAsync netcoreapp3.1 1.8μs 0.689ns 2.67ns 0.0184 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 1.155 5,068.44 5,853.27

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.77 KB 289 B 11.66%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.6 KB 240 B 10.17%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.06μs 6.98ns 26.1ns 0.392 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.3μs 4.05ns 15.7ns 0.031 0 0 2.36 KB
#2982 SendAsync net472 5.85μs 3.39ns 12.7ns 0.437 0 0 2.77 KB
#2982 SendAsync netcoreapp3.1 3.66μs 1.59ns 5.95ns 0.0347 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.147 2,290.31 2,627.88

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.81 KB 152 B 9.15%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.85 KB 112 B 6.46%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.83μs 0.751ns 2.81ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.29μs 0.476ns 1.72ns 0.0231 0 0 1.73 KB
#2982 EnrichedLog net472 3.16μs 2.77ns 10.7ns 0.288 0 0 1.81 KB
#2982 EnrichedLog netcoreapp3.1 2.63μs 1.07ns 4ns 0.0249 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.65 KB 152 B 3.38%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.49 KB 112 B 2.56%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 149μs 77.9ns 302ns 0.675 0.225 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 107ns 399ns 0.0566 0 0 4.38 KB
#2982 EnrichedLog net472 152μs 76ns 294ns 0.676 0.225 0 4.65 KB
#2982 EnrichedLog netcoreapp3.1 115μs 37.4ns 135ns 0.0573 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.59 KB 152 B 4.43%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.91 KB 112 B 2.95%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.62μs 8.3ns 32.1ns 0.545 0.00281 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.31μs 5.04ns 19.5ns 0.0514 0 0 3.8 KB
#2982 EnrichedLog net472 5.71μs 4.73ns 18.3ns 0.568 0.00286 0 3.59 KB
#2982 EnrichedLog netcoreapp3.1 4.58μs 2.04ns 7.91ns 0.0527 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.37 KB 152 B 12.46%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.32 KB 112 B 9.27%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.99μs 1.03ns 4ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.73μs 0.707ns 2.65ns 0.0165 0 0 1.21 KB
#2982 SendReceive net472 2.15μs 1.43ns 5.54ns 0.217 0 0 1.37 KB
#2982 SendReceive netcoreapp3.1 1.84μs 0.379ns 1.47ns 0.0175 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.23 KB 153 B 7.36%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.8 KB 112 B 6.64%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.66μs 1.38ns 5.33ns 0.329 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.09μs 2ns 7.73ns 0.0226 0 0 1.69 KB
#2982 EnrichedLog net472 5.08μs 1.66ns 6.41ns 0.353 0 0 2.23 KB
#2982 EnrichedLog netcoreapp3.1 4.25μs 1.21ns 4.69ns 0.0237 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.377 1,013.50 1,395.38
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.247 832.11 1,037.86
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.151 929.93 1,070.15
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.124 779.29 876.15

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 810 B 152 B 23.10%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 760 B 112 B 17.28%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 832ns 0.252ns 0.944ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 776ns 1.78ns 6.88ns 0.00885 0 0 648 B
master StartFinishScope net472 1.01μs 0.27ns 1.05ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 930ns 0.337ns 1.26ns 0.0102 0 0 768 B
#2982 StartFinishSpan net472 1.04μs 0.455ns 1.76ns 0.128 0 0 810 B
#2982 StartFinishSpan netcoreapp3.1 876ns 0.366ns 1.42ns 0.0105 0 0 760 B
#2982 StartFinishScope net472 1.4μs 0.56ns 2.09ns 0.141 0 0 891 B
#2982 StartFinishScope netcoreapp3.1 1.07μs 0.584ns 2.19ns 0.0123 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.160 1,220.26 1,415.18
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.114 1,008.30 1,122.99

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.22μs 0.858ns 3.32ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.01μs 0.329ns 1.19ns 0.0102 0 0 768 B
#2982 RunOnMethodBegin net472 1.41μs 0.308ns 1.19ns 0.141 0 0 891 B
#2982 RunOnMethodBegin netcoreapp3.1 1.12μs 0.372ns 1.39ns 0.0123 0 0 880 B

andrewlock avatar Aug 12 '22 22:08 andrewlock

Snapshots difference summary

The following differences have been observed in snapshots. So diff is simplistic, so please check some files anyway while we improve it.

661 occurrences of :

-      span.kind: client
+      span.kind: client,
+      _dd.p.dm: -1

875 occurrences of :

-      version: 1.0.0
+      version: 1.0.0,
+      _dd.p.dm: -1

290 occurrences of :

-      span.kind: server
+      span.kind: server,
+      _dd.p.dm: -1

47 occurrences of :

-      runtime-id: Guid_1
+      runtime-id: Guid_1,
+      _dd.p.dm: -1

267 occurrences of :

+      _dd.p.dm: -1,

github-actions[bot] avatar Aug 15 '22 13:08 github-actions[bot]

Benchmarks Report :snail:

Benchmarks for #2982 compared to master:

  • 13 benchmarks are slower, with geometric mean 1.182
  • 27 benchmarks have more allocations

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 727μs 478ns 1.85μs 0.363 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 464μs 190ns 736ns 0 0 0 2.58 KB
#2982 WriteAndFlushEnrichedTraces net472 742μs 350ns 1.31μs 0.37 0 0 3.18 KB
#2982 WriteAndFlushEnrichedTraces netcoreapp3.1 471μs 228ns 852ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 183ns 0.138ns 0.497ns 0.0676 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 242ns 0.307ns 1.19ns 0.00584 0 0 424 B
master AllCycleMoreComplexBody net472 186ns 0.993ns 4.86ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 236ns 0.253ns 0.948ns 0.00557 0 0 400 B
master BodyExtractorSimpleBody net472 257ns 0.2ns 0.776ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 219ns 0.222ns 0.831ns 0.00374 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.3μs 8.28ns 29.9ns 1.2 0.0214 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 10.7ns 41.2ns 0.0914 0 0 6.75 KB
#2982 AllCycleSimpleBody net472 183ns 0.208ns 0.779ns 0.0675 0 0 425 B
#2982 AllCycleSimpleBody netcoreapp3.1 237ns 0.308ns 1.19ns 0.00571 0 0 424 B
#2982 AllCycleMoreComplexBody net472 185ns 0.191ns 0.741ns 0.0637 0 0 401 B
#2982 AllCycleMoreComplexBody netcoreapp3.1 235ns 0.283ns 1.1ns 0.00551 0 0 400 B
#2982 BodyExtractorSimpleBody net472 263ns 0.402ns 1.56ns 0.0573 0 0 361 B
#2982 BodyExtractorSimpleBody netcoreapp3.1 220ns 0.329ns 1.28ns 0.00368 0 0 272 B
#2982 BodyExtractorMoreComplexBody net472 14.4μs 15.5ns 58ns 1.2 0.0148 0 7.62 KB
#2982 BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 20.8ns 77.9ns 0.0889 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 20.33 KB 20.57 KB 240 B 1.18%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 179μs 149ns 576ns 0.268 0 0 20.33 KB
#2982 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2982 SendRequest netcoreapp3.1 182μs 194ns 750ns 0.182 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 1.148 1,580.29 1,814.76

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 794 B 947 B 153 B 19.27%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 824 B 936 B 112 B 13.59%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.58μs 0.528ns 1.98ns 0.126 0.000785 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.3μs 0.329ns 1.23ns 0.011 0 0 824 B
#2982 ExecuteNonQuery net472 1.81μs 0.553ns 2.07ns 0.15 0.000903 0 947 B
#2982 ExecuteNonQuery netcoreapp3.1 1.41μs 0.431ns 1.55ns 0.0127 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.238 2,052.99 2,540.88
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.128 1,419.14 1,600.71

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1 KB 1.16 KB 153 B 15.25%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.14 KB 1.29 KB 152 B 13.33%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 984 B 1.1 KB 112 B 11.38%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.1 KB 1.22 KB 112 B 10.14%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.05μs 0.45ns 1.68ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.39μs 0.707ns 2.65ns 0.0132 0 0 984 B
master CallElasticsearchAsync net472 2.35μs 0.63ns 2.36ns 0.18 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.42μs 0.59ns 2.21ns 0.0149 0 0 1.1 KB
#2982 CallElasticsearch net472 2.54μs 0.671ns 2.51ns 0.184 0 0 1.16 KB
#2982 CallElasticsearch netcoreapp3.1 1.45μs 0.555ns 2.15ns 0.0145 0 0 1.1 KB
#2982 CallElasticsearchAsync net472 2.56μs 0.603ns 2.26ns 0.205 0 0 1.29 KB
#2982 CallElasticsearchAsync netcoreapp3.1 1.6μs 1.55ns 5.82ns 0.0168 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 1.26 KB 1.41 KB 152 B 12.06%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 1.22 KB 1.34 KB 112 B 9.15%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.4μs 4.98ns 19.3ns 0.199 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.53μs 3.04ns 11.8ns 0.0169 0 0 1.22 KB
#2982 ExecuteAsync net472 2.67μs 5.55ns 20.8ns 0.224 0 0 1.41 KB
#2982 ExecuteAsync netcoreapp3.1 1.71μs 1.33ns 4.99ns 0.018 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 1.204 4,879.37 5,875.90
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 1.145 3,154.76 3,611.10

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 2.48 KB 2.77 KB 289 B 11.66%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.36 KB 2.6 KB 240 B 10.17%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 4.88μs 9.66ns 37.4ns 0.393 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.15μs 7.82ns 29.3ns 0.032 0 0 2.36 KB
#2982 SendAsync net472 5.87μs 11.5ns 44.5ns 0.439 0 0 2.77 KB
#2982 SendAsync netcoreapp3.1 3.62μs 4.89ns 18.9ns 0.0346 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.114 2,813.66 3,133.72

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.66 KB 1.81 KB 152 B 9.15%
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 1.73 KB 1.85 KB 112 B 6.46%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.81μs 0.661ns 2.56ns 0.263 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.42μs 0.764ns 2.86ns 0.0229 0 0 1.73 KB
#2982 EnrichedLog net472 3.13μs 1.64ns 6.33ns 0.288 0 0 1.81 KB
#2982 EnrichedLog netcoreapp3.1 2.44μs 0.967ns 3.75ns 0.0245 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.5 KB 4.65 KB 152 B 3.38%
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑netcoreapp3.1 4.38 KB 4.49 KB 112 B 2.56%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 150μs 116ns 433ns 0.665 0.222 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 230ns 893ns 0 0 0 4.38 KB
#2982 EnrichedLog net472 152μs 142ns 530ns 0.688 0.229 0 4.65 KB
#2982 EnrichedLog netcoreapp3.1 115μs 220ns 850ns 0.0572 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 3.43 KB 3.59 KB 152 B 4.43%
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑netcoreapp3.1 3.8 KB 3.91 KB 112 B 2.95%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.36μs 11.8ns 45.7ns 0.544 0.00265 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.13μs 4.23ns 15.8ns 0.0522 0 0 3.8 KB
#2982 EnrichedLog net472 5.5μs 18.4ns 71.3ns 0.569 0.00275 0 3.59 KB
#2982 EnrichedLog netcoreapp3.1 4.41μs 5.16ns 20ns 0.0526 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.143 1,968.60 2,249.48

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.22 KB 1.37 KB 152 B 12.46%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.21 KB 1.32 KB 112 B 9.27%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.97μs 0.712ns 2.76ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.7μs 0.415ns 1.5ns 0.0162 0 0 1.21 KB
#2982 SendReceive net472 2.25μs 1ns 3.76ns 0.217 0 0 1.37 KB
#2982 SendReceive netcoreapp3.1 1.73μs 1.74ns 6.52ns 0.0173 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.08 KB 2.23 KB 153 B 7.36%
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑netcoreapp3.1 1.69 KB 1.8 KB 112 B 6.64%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.81μs 1.34ns 5.18ns 0.328 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.18μs 3.64ns 14.1ns 0.0229 0 0 1.69 KB
#2982 EnrichedLog net472 5μs 2.39ns 9.27ns 0.354 0 0 2.23 KB
#2982 EnrichedLog netcoreapp3.1 4.14μs 1.06ns 4.1ns 0.0227 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.352 812.62 1,098.41
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.255 1,099.64 1,380.45
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.193 769.88 918.19
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.188 932.53 1,107.42

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 658 B 810 B 152 B 23.10%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 648 B 760 B 112 B 17.28%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 812ns 0.828ns 3.21ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 771ns 0.652ns 2.52ns 0.00883 0 0 648 B
master StartFinishScope net472 1.1μs 1.41ns 5.28ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 931ns 1.21ns 4.54ns 0.0101 0 0 768 B
#2982 StartFinishSpan net472 1.1μs 0.515ns 1.99ns 0.129 0 0 810 B
#2982 StartFinishSpan netcoreapp3.1 918ns 0.379ns 1.47ns 0.0101 0 0 760 B
#2982 StartFinishScope net472 1.38μs 0.78ns 3.02ns 0.142 0 0 891 B
#2982 StartFinishScope netcoreapp3.1 1.11μs 0.682ns 2.64ns 0.0121 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #2982

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 1.143 1,201.90 1,373.77
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.141 1,003.81 1,145.36

More allocations :warning: in #2982

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 738 B 891 B 153 B 20.73%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 768 B 880 B 112 B 14.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.2μs 1.4ns 5.44ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.03μs 6.85ns 63.9ns 0.0103 0 0 768 B
#2982 RunOnMethodBegin net472 1.37μs 0.769ns 2.98ns 0.141 0 0 891 B
#2982 RunOnMethodBegin netcoreapp3.1 1.15μs 0.582ns 2.25ns 0.012 0 0 880 B

andrewlock avatar Aug 15 '22 13:08 andrewlock

Snapshots difference summary

The following differences have been observed in snapshots. So diff is simplistic, so please check some files anyway while we improve it.

661 occurrences of :

-      span.kind: client
+      span.kind: client,
+      _dd.p.dm: -1

875 occurrences of :

-      version: 1.0.0
+      version: 1.0.0,
+      _dd.p.dm: -1

290 occurrences of :

-      span.kind: server
+      span.kind: server,
+      _dd.p.dm: -1

47 occurrences of :

-      runtime-id: Guid_1
+      runtime-id: Guid_1,
+      _dd.p.dm: -1

267 occurrences of :

+      _dd.p.dm: -1,

github-actions[bot] avatar Aug 16 '22 18:08 github-actions[bot]