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

[Tracer] Update RabbitMQ sample

Open pierotibou opened this issue 3 years ago • 5 comments

Summary of changes

Updating rabbitMQ sample as it was still showing a version without propagation

Reason for change

Wan asked for a sample in an escalation, I realized it was outdated.

Implementation details

Changed the consumer to read from a loop in order to use the context extraction api. The rest is supposed to be straightforward

Test coverage

Tested locally

Other details

I've also realized that the snapshots checker had 2 small issues, corrected them here.

pierotibou avatar Aug 12 '22 11:08 pierotibou

Benchmarks Report :snail:

Benchmarks for #3072 compared to master:

  • 3 benchmarks are faster, with geometric mean 1.227
  • 1 benchmarks are slower, with geometric mean 1.137
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.AgentWriterBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3072

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.133 527,143.46 465,377.14

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
#3072 WriteAndFlushEnrichedTraces net472 728μs 324ns 1.21μs 0.361 0 0 3.18 KB
#3072 WriteAndFlushEnrichedTraces netcoreapp3.1 465μs 113ns 392ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3072

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

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
#3072 AllCycleSimpleBody net472 180ns 0.125ns 0.452ns 0.0675 9.17E-05 0 425 B
#3072 AllCycleSimpleBody netcoreapp3.1 236ns 0.261ns 1.01ns 0.00587 0 0 424 B
#3072 AllCycleMoreComplexBody net472 186ns 1ns 5.59ns 0.0637 0 0 401 B
#3072 AllCycleMoreComplexBody netcoreapp3.1 237ns 0.294ns 1.14ns 0.00551 0 0 400 B
#3072 BodyExtractorSimpleBody net472 264ns 0.313ns 1.21ns 0.0573 0 0 361 B
#3072 BodyExtractorSimpleBody netcoreapp3.1 217ns 0.256ns 0.993ns 0.00372 0 0 272 B
#3072 BodyExtractorMoreComplexBody net472 14.4μs 16.2ns 62.7ns 1.2 0.0216 0 7.62 KB
#3072 BodyExtractorMoreComplexBody netcoreapp3.1 12.3μs 6.59ns 24.6ns 0.092 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0.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
#3072 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3072 SendRequest netcoreapp3.1 179μs 128ns 495ns 0.267 0 0 20.33 KB
Benchmarks.Trace.DbCommandBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3072

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

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
#3072 ExecuteNonQuery net472 1.53μs 0.31ns 1.2ns 0.126 0.000766 0 794 B
#3072 ExecuteNonQuery netcoreapp3.1 1.23μs 0.357ns 1.29ns 0.0111 0 0 824 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.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
#3072 CallElasticsearch net472 2.18μs 0.655ns 2.36ns 0.159 0 0 1 KB
#3072 CallElasticsearch netcoreapp3.1 1.4μs 0.957ns 3.58ns 0.0132 0 0 984 B
#3072 CallElasticsearchAsync net472 2.29μs 0.601ns 2.33ns 0.181 0 0 1.14 KB
#3072 CallElasticsearchAsync netcoreapp3.1 1.57μs 0.365ns 1.31ns 0.0149 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.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
#3072 ExecuteAsync net472 2.31μs 1.4ns 5.44ns 0.2 0 0 1.26 KB
#3072 ExecuteAsync netcoreapp3.1 1.54μs 1.97ns 7.61ns 0.0169 0 0 1.22 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 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
#3072 SendAsync net472 5.05μs 2.27ns 8.77ns 0.392 0 0 2.48 KB
#3072 SendAsync netcoreapp3.1 3.22μs 1.74ns 6.52ns 0.0322 0 0 2.36 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.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
#3072 EnrichedLog net472 2.93μs 1.57ns 6.06ns 0.264 0 0 1.66 KB
#3072 EnrichedLog netcoreapp3.1 2.29μs 1.38ns 5.33ns 0.0241 0 0 1.73 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 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
#3072 EnrichedLog net472 149μs 156ns 604ns 0.679 0.226 0 4.5 KB
#3072 EnrichedLog netcoreapp3.1 113μs 272ns 1.05μs 0.0562 0 0 4.38 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.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
#3072 EnrichedLog net472 5.6μs 2.13ns 8.23ns 0.543 0.0028 0 3.43 KB
#3072 EnrichedLog netcoreapp3.1 4.2μs 1.4ns 5.24ns 0.0521 0 0 3.8 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.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
#3072 SendReceive net472 1.95μs 0.332ns 1.24ns 0.194 0 0 1.22 KB
#3072 SendReceive netcoreapp3.1 1.62μs 0.724ns 2.81ns 0.0163 0 0 1.21 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.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
#3072 EnrichedLog net472 4.84μs 2.02ns 7.83ns 0.33 0 0 2.08 KB
#3072 EnrichedLog netcoreapp3.1 4.06μs 1.75ns 6.76ns 0.0223 0 0 1.69 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3072

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.137 1,013.50 1,152.21

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
#3072 StartFinishSpan net472 900ns 0.236ns 0.912ns 0.104 0 0 658 B
#3072 StartFinishSpan netcoreapp3.1 811ns 0.172ns 0.644ns 0.00884 0 0 648 B
#3072 StartFinishScope net472 1.15μs 1.2ns 4.63ns 0.117 0 0 738 B
#3072 StartFinishScope netcoreapp3.1 844ns 0.891ns 3.33ns 0.0105 0 0 768 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.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
#3072 RunOnMethodBegin net472 1.21μs 0.281ns 1.01ns 0.117 0 0 738 B
#3072 RunOnMethodBegin netcoreapp3.1 1.04μs 0.407ns 1.52ns 0.0104 0 0 768 B

andrewlock avatar Aug 12 '22 12:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3072 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.372
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 792μs 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
#3072 WriteAndFlushEnrichedTraces net472 725μs 624ns 2.42μs 0.363 0 0 3.18 KB
#3072 WriteAndFlushEnrichedTraces netcoreapp3.1 471μs 106ns 396ns 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
#3072 AllCycleSimpleBody net472 189ns 0.352ns 1.36ns 0.0676 0 0 425 B
#3072 AllCycleSimpleBody netcoreapp3.1 235ns 0.371ns 1.44ns 0.00583 0 0 424 B
#3072 AllCycleMoreComplexBody net472 182ns 0.185ns 0.691ns 0.0638 0 0 401 B
#3072 AllCycleMoreComplexBody netcoreapp3.1 237ns 0.293ns 1.13ns 0.00547 0 0 400 B
#3072 BodyExtractorSimpleBody net472 252ns 0.219ns 0.82ns 0.0573 0 0 361 B
#3072 BodyExtractorSimpleBody netcoreapp3.1 230ns 0.267ns 0.964ns 0.00369 0 0 272 B
#3072 BodyExtractorMoreComplexBody net472 14.2μs 11.7ns 45.2ns 1.21 0.0214 0 7.62 KB
#3072 BodyExtractorMoreComplexBody netcoreapp3.1 12μs 10.1ns 37.9ns 0.0902 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 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
#3072 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3072 SendRequest netcoreapp3.1 180μs 131ns 507ns 0.267 0 0 20.33 KB
Benchmarks.Trace.DbCommandBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3072

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

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
#3072 ExecuteNonQuery net472 1.52μs 0.376ns 1.41ns 0.126 0.000755 0 794 B
#3072 ExecuteNonQuery netcoreapp3.1 1.28μs 0.506ns 1.75ns 0.011 0 0 824 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.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
#3072 CallElasticsearch net472 2.27μs 1.38ns 5.34ns 0.159 0 0 1 KB
#3072 CallElasticsearch netcoreapp3.1 1.41μs 0.457ns 1.65ns 0.0135 0 0 984 B
#3072 CallElasticsearchAsync net472 2.4μs 0.388ns 1.5ns 0.18 0 0 1.14 KB
#3072 CallElasticsearchAsync netcoreapp3.1 1.5μs 0.461ns 1.72ns 0.0148 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.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
#3072 ExecuteAsync net472 2.37μs 2.87ns 10.7ns 0.199 0 0 1.26 KB
#3072 ExecuteAsync netcoreapp3.1 1.59μs 1.54ns 5.98ns 0.0159 0 0 1.22 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 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
#3072 SendAsync net472 5.17μs 3.12ns 11.2ns 0.393 0 0 2.48 KB
#3072 SendAsync netcoreapp3.1 3.2μs 4.95ns 19.2ns 0.0308 0 0 2.36 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.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
#3072 EnrichedLog net472 2.88μs 0.935ns 3.5ns 0.264 0 0 1.66 KB
#3072 EnrichedLog netcoreapp3.1 2.38μs 0.759ns 2.84ns 0.023 0 0 1.73 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 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
#3072 EnrichedLog net472 149μs 296ns 1.15μs 0.68 0.227 0 4.5 KB
#3072 EnrichedLog netcoreapp3.1 111μs 85.6ns 320ns 0.0558 0 0 4.38 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.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
#3072 EnrichedLog net472 5.48μs 2.26ns 8.77ns 0.544 0.00272 0 3.43 KB
#3072 EnrichedLog netcoreapp3.1 4.22μs 2.17ns 8.4ns 0.0503 0 0 3.8 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.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
#3072 SendReceive net472 1.97μs 0.626ns 2.26ns 0.194 0 0 1.22 KB
#3072 SendReceive netcoreapp3.1 1.66μs 4.01ns 15.5ns 0.0164 0 0 1.21 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.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
#3072 EnrichedLog net472 4.75μs 2.24ns 8.4ns 0.329 0 0 2.08 KB
#3072 EnrichedLog netcoreapp3.1 4.09μs 1.41ns 5.26ns 0.0224 0 0 1.69 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 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
#3072 StartFinishSpan net472 863ns 0.706ns 2.74ns 0.104 0 0 658 B
#3072 StartFinishSpan netcoreapp3.1 719ns 0.353ns 1.37ns 0.00863 0 0 648 B
#3072 StartFinishScope net472 1.1μs 0.461ns 1.72ns 0.117 0 0 738 B
#3072 StartFinishScope netcoreapp3.1 889ns 0.28ns 1.09ns 0.0106 0 0 768 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.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
#3072 RunOnMethodBegin net472 1.2μs 2.44ns 9.14ns 0.117 0 0 738 B
#3072 RunOnMethodBegin netcoreapp3.1 1.01μs 0.213ns 0.769ns 0.0102 0 0 768 B

andrewlock avatar Aug 12 '22 12:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3072 compared to master:

  • 3 benchmarks are faster, with geometric mean 1.215
  • 3 benchmarks are slower, with geometric mean 1.292
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.AgentWriterBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3072

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

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
#3072 WriteAndFlushEnrichedTraces net472 727μs 427ns 1.65μs 0.361 0 0 3.18 KB
#3072 WriteAndFlushEnrichedTraces netcoreapp3.1 462μs 93.8ns 363ns 0 0 0 2.59 KB
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3072

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

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
#3072 AllCycleSimpleBody net472 181ns 0.132ns 0.512ns 0.0676 0 0 425 B
#3072 AllCycleSimpleBody netcoreapp3.1 236ns 0.321ns 1.24ns 0.0059 0 0 424 B
#3072 AllCycleMoreComplexBody net472 183ns 0.192ns 0.745ns 0.0637 0 0 401 B
#3072 AllCycleMoreComplexBody netcoreapp3.1 236ns 0.313ns 1.21ns 0.00544 0 0 400 B
#3072 BodyExtractorSimpleBody net472 270ns 0.274ns 1.06ns 0.0574 0 0 361 B
#3072 BodyExtractorSimpleBody netcoreapp3.1 225ns 0.218ns 0.843ns 0.00374 0 0 272 B
#3072 BodyExtractorMoreComplexBody net472 14.4μs 7.93ns 30.7ns 1.21 0.0217 0 7.62 KB
#3072 BodyExtractorMoreComplexBody netcoreapp3.1 12.6μs 6.57ns 23.7ns 0.0883 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0.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
#3072 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3072 SendRequest netcoreapp3.1 179μs 151ns 585ns 0.178 0 0 20.33 KB
Benchmarks.Trace.DbCommandBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #3072

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

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
#3072 ExecuteNonQuery net472 1.51μs 0.598ns 2.32ns 0.126 0.000754 0 794 B
#3072 ExecuteNonQuery netcoreapp3.1 1.27μs 0.311ns 1.16ns 0.0108 0 0 824 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3072

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.419 1,426.49 2,023.60 several?
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.329 1,396.51 1,856.40
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.143 2,170.17 2,481.33

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
#3072 CallElasticsearch net472 2.48μs 11.7ns 48.4ns 0.159 0 0 1 KB
#3072 CallElasticsearch netcoreapp3.1 1.87μs 17.3ns 173ns 0.013 0 0 984 B
#3072 CallElasticsearchAsync net472 2.48μs 13.2ns 67.2ns 0.18 0 0 1.14 KB
#3072 CallElasticsearchAsync netcoreapp3.1 2.02μs 17.5ns 174ns 0.0148 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.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
#3072 ExecuteAsync net472 2.43μs 6.66ns 24.9ns 0.2 0 0 1.26 KB
#3072 ExecuteAsync netcoreapp3.1 1.62μs 0.561ns 1.94ns 0.0165 0 0 1.22 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 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
#3072 SendAsync net472 5.09μs 3.48ns 13.5ns 0.392 0 0 2.48 KB
#3072 SendAsync netcoreapp3.1 3.23μs 6.3ns 24.4ns 0.032 0 0 2.36 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.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
#3072 EnrichedLog net472 2.82μs 1.22ns 4.72ns 0.263 0 0 1.66 KB
#3072 EnrichedLog netcoreapp3.1 2.35μs 0.631ns 2.28ns 0.0235 0 0 1.73 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 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
#3072 EnrichedLog net472 148μs 187ns 725ns 0.671 0.224 0 4.5 KB
#3072 EnrichedLog netcoreapp3.1 115μs 168ns 629ns 0.0573 0 0 4.38 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.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
#3072 EnrichedLog net472 5.45μs 3.18ns 11.9ns 0.543 0.00272 0 3.43 KB
#3072 EnrichedLog netcoreapp3.1 4.19μs 2.57ns 9.6ns 0.0522 0 0 3.8 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.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
#3072 SendReceive net472 2.04μs 1.37ns 5.31ns 0.193 0 0 1.22 KB
#3072 SendReceive netcoreapp3.1 1.67μs 0.352ns 1.27ns 0.0167 0 0 1.21 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.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
#3072 EnrichedLog net472 4.96μs 13.5ns 50.6ns 0.328 0 0 2.08 KB
#3072 EnrichedLog netcoreapp3.1 4.28μs 17.2ns 84.3ns 0.0216 0 0 1.69 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 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
#3072 StartFinishSpan net472 822ns 0.373ns 1.35ns 0.104 0 0 658 B
#3072 StartFinishSpan netcoreapp3.1 710ns 0.196ns 0.759ns 0.00888 0 0 648 B
#3072 StartFinishScope net472 1.06μs 0.278ns 1.08ns 0.117 0 0 738 B
#3072 StartFinishScope netcoreapp3.1 965ns 0.53ns 2.05ns 0.0101 0 0 768 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.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
#3072 RunOnMethodBegin net472 1.27μs 0.478ns 1.85ns 0.117 0 0 738 B
#3072 RunOnMethodBegin netcoreapp3.1 1.04μs 2.36ns 9.15ns 0.0104 0 0 768 B

andrewlock avatar Aug 12 '22 13:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #3072 compared to master:

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

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 715μs 523ns 1.96μs 0.357 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 467μs 190ns 735ns 0 0 0 2.59 KB
#3072 WriteAndFlushEnrichedTraces net472 709μs 387ns 1.45μs 0.357 0 0 3.18 KB
#3072 WriteAndFlushEnrichedTraces netcoreapp3.1 461μs 195ns 757ns 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 182ns 0.15ns 0.56ns 0.0676 9.26E-05 0 425 B
master AllCycleSimpleBody netcoreapp3.1 238ns 0.258ns 0.999ns 0.00578 0 0 424 B
master AllCycleMoreComplexBody net472 183ns 0.14ns 0.54ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 237ns 0.328ns 1.27ns 0.00544 0 0 400 B
master BodyExtractorSimpleBody net472 257ns 0.349ns 1.35ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 218ns 0.212ns 0.821ns 0.00373 0 0 272 B
master BodyExtractorMoreComplexBody net472 14.7μs 11.2ns 42.1ns 1.21 0.0147 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 15.1ns 56.4ns 0.0906 0 0 6.75 KB
#3072 AllCycleSimpleBody net472 185ns 0.144ns 0.539ns 0.0676 9.23E-05 0 425 B
#3072 AllCycleSimpleBody netcoreapp3.1 237ns 0.113ns 0.407ns 0.00581 0 0 424 B
#3072 AllCycleMoreComplexBody net472 181ns 0.153ns 0.573ns 0.0637 0 0 401 B
#3072 AllCycleMoreComplexBody netcoreapp3.1 237ns 0.227ns 0.88ns 0.0055 0 0 400 B
#3072 BodyExtractorSimpleBody net472 283ns 0.528ns 2.05ns 0.0573 0 0 361 B
#3072 BodyExtractorSimpleBody netcoreapp3.1 219ns 0.124ns 0.447ns 0.00376 0 0 272 B
#3072 BodyExtractorMoreComplexBody net472 14.4μs 10.5ns 40.7ns 1.21 0.0215 0 7.62 KB
#3072 BodyExtractorMoreComplexBody netcoreapp3.1 11.7μs 12.1ns 47ns 0.0938 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 180μs 160ns 618ns 0.271 0 0 20.58 KB
#3072 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3072 SendRequest netcoreapp3.1 180μs 277ns 1.07μs 0.268 0 0 20.58 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.85μs 0.961ns 3.72ns 0.15 0.00093 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.4μs 0.394ns 1.42ns 0.0127 0 0 936 B
#3072 ExecuteNonQuery net472 1.86μs 0.89ns 3.45ns 0.15 0.000936 0 947 B
#3072 ExecuteNonQuery netcoreapp3.1 1.39μs 0.538ns 2.08ns 0.0125 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.6μs 1.4ns 5.41ns 0.182 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.975ns 3.65ns 0.0145 0 0 1.1 KB
master CallElasticsearchAsync net472 2.67μs 1.83ns 6.86ns 0.204 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.63μs 1.22ns 4.72ns 0.0163 0 0 1.22 KB
#3072 CallElasticsearch net472 2.63μs 1.91ns 7.41ns 0.184 0 0 1.16 KB
#3072 CallElasticsearch netcoreapp3.1 1.52μs 1.09ns 4.21ns 0.0152 0 0 1.1 KB
#3072 CallElasticsearchAsync net472 2.69μs 1.93ns 7.22ns 0.205 0 0 1.29 KB
#3072 CallElasticsearchAsync netcoreapp3.1 1.61μs 0.598ns 2.32ns 0.0168 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.77μs 2.43ns 9.41ns 0.226 0 0 1.42 KB
master ExecuteAsync netcoreapp3.1 1.77μs 4.66ns 18ns 0.0186 0 0 1.34 KB
#3072 ExecuteAsync net472 2.63μs 3.11ns 11.6ns 0.224 0 0 1.42 KB
#3072 ExecuteAsync netcoreapp3.1 1.72μs 3.11ns 11.2ns 0.0184 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.7μs 12.1ns 46.8ns 0.439 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.68μs 8.37ns 32.4ns 0.0357 0 0 2.6 KB
#3072 SendAsync net472 5.69μs 13.5ns 52.3ns 0.437 0 0 2.77 KB
#3072 SendAsync netcoreapp3.1 3.65μs 9.34ns 36.2ns 0.0342 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.22μs 3.61ns 14ns 0.287 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.58μs 1.52ns 5.67ns 0.0244 0 0 1.85 KB
#3072 EnrichedLog net472 3.24μs 4ns 15.5ns 0.287 0 0 1.81 KB
#3072 EnrichedLog netcoreapp3.1 2.62μs 1.11ns 4.28ns 0.0248 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 150μs 153ns 594ns 0.67 0.223 0 4.66 KB
master EnrichedLog netcoreapp3.1 115μs 86.6ns 324ns 0.0576 0 0 4.49 KB
#3072 EnrichedLog net472 152μs 148ns 574ns 0.688 0.229 0 4.66 KB
#3072 EnrichedLog netcoreapp3.1 118μs 283ns 1.09μs 0 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.69μs 10.9ns 42.3ns 0.567 0.00289 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.24μs 7.25ns 27.1ns 0.0549 0 0 3.91 KB
#3072 EnrichedLog net472 5.84μs 8.98ns 34.8ns 0.568 0.00294 0 3.59 KB
#3072 EnrichedLog netcoreapp3.1 4.48μs 9.88ns 38.3ns 0.0537 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.24μs 2.66ns 9.58ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.82μs 0.781ns 3.03ns 0.0183 0 0 1.32 KB
#3072 SendReceive net472 2.21μs 3.7ns 14.3ns 0.218 0 0 1.37 KB
#3072 SendReceive netcoreapp3.1 1.81μs 3.12ns 12.1ns 0.0178 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.03μs 2.22ns 8.59ns 0.354 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.29μs 3.38ns 12.2ns 0.0235 0 0 1.8 KB
#3072 EnrichedLog net472 4.94μs 3.16ns 12.2ns 0.352 0 0 2.23 KB
#3072 EnrichedLog netcoreapp3.1 4.25μs 2.04ns 7.37ns 0.0234 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.22μs 0.61ns 2.36ns 0.129 0 0 810 B
master StartFinishSpan netcoreapp3.1 921ns 0.215ns 0.832ns 0.0102 0 0 760 B
master StartFinishScope net472 1.43μs 1.01ns 3.9ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.13μs 0.479ns 1.79ns 0.0119 0 0 880 B
#3072 StartFinishSpan net472 1.18μs 0.673ns 2.33ns 0.129 0.00059 0 810 B
#3072 StartFinishSpan netcoreapp3.1 975ns 0.617ns 2.39ns 0.0103 0 0 760 B
#3072 StartFinishScope net472 1.43μs 1.76ns 6.8ns 0.141 0 0 891 B
#3072 StartFinishScope netcoreapp3.1 1.11μs 0.41ns 1.54ns 0.012 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.47μs 0.994ns 3.85ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.18μs 0.512ns 1.98ns 0.0118 0 0 880 B
#3072 RunOnMethodBegin net472 1.52μs 2.59ns 10ns 0.141 0 0 891 B
#3072 RunOnMethodBegin netcoreapp3.1 1.12μs 1.12ns 4.34ns 0.0117 0 0 880 B

andrewlock avatar Sep 20 '22 12:09 andrewlock

I ended up updating the RabbitMQ samples in my interface integration PR: https://github.com/DataDog/dd-trace-dotnet/pull/3256

I can rebase this PR once that is merged

zacharycmontoya avatar Sep 29 '22 01:09 zacharycmontoya