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

Duplicated Spans flakiness fix

Open daniel-romano-DD opened this issue 3 years ago • 2 comments

Summary of changes

Added the hability to filter eventual duplicated Spans in the MockTracerAgent

Reason for change

Sometimes CI shows received duplicated spans when a socket error occurs while uploading traces to the mock agent.

Implementation details

MockTracerAgent will filter Spans with the same span_id

Test coverage

Other details

daniel-romano-DD avatar Oct 14 '22 08:10 daniel-romano-DD

Benchmarks Report :snail:

Benchmarks for #3356 compared to master:

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

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 792μs 595ns 2.23μs 0.393 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 534μs 402ns 1.56μs 0 0 0 2.63 KB
#3356 WriteAndFlushEnrichedTraces net472 777μs 845ns 3.27μs 0.388 0 0 3.22 KB
#3356 WriteAndFlushEnrichedTraces netcoreapp3.1 513μs 164ns 634ns 0 0 0 2.62 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 197ns 0.116ns 0.448ns 0.0727 0 0 457 B
master AllCycleSimpleBody netcoreapp3.1 255ns 0.145ns 0.56ns 0.00624 0 0 456 B
master AllCycleMoreComplexBody net472 211ns 0.159ns 0.614ns 0.0689 0 0 433 B
master AllCycleMoreComplexBody netcoreapp3.1 253ns 0.113ns 0.438ns 0.00593 0 0 432 B
master BodyExtractorSimpleBody net472 272ns 0.147ns 0.567ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 229ns 0.09ns 0.349ns 0.00369 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.8μs 12.9ns 49.9ns 1.21 0.0158 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13.2μs 6.8ns 25.5ns 0.092 0 0 6.75 KB
#3356 AllCycleSimpleBody net472 199ns 0.0723ns 0.261ns 0.0726 0 0 457 B
#3356 AllCycleSimpleBody netcoreapp3.1 252ns 0.219ns 0.847ns 0.00611 0 0 456 B
#3356 AllCycleMoreComplexBody net472 196ns 0.0684ns 0.265ns 0.0688 0 0 433 B
#3356 AllCycleMoreComplexBody netcoreapp3.1 252ns 0.182ns 0.681ns 0.00585 0 0 432 B
#3356 BodyExtractorSimpleBody net472 272ns 0.119ns 0.462ns 0.0573 0 0 361 B
#3356 BodyExtractorSimpleBody netcoreapp3.1 245ns 0.194ns 0.751ns 0.0037 0 0 272 B
#3356 BodyExtractorMoreComplexBody net472 16μs 12.6ns 47.1ns 1.2 0.016 0 7.62 KB
#3356 BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 4.89ns 17.6ns 0.0889 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 181μs 245ns 950ns 0.18 0 0 20.68 KB
#3356 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3356 SendRequest netcoreapp3.1 181μs 254ns 952ns 0.271 0 0 20.68 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.93μs 0.98ns 3.67ns 0.155 0.000967 0 979 B
master ExecuteNonQuery netcoreapp3.1 1.47μs 0.646ns 2.42ns 0.0126 0 0 968 B
#3356 ExecuteNonQuery net472 1.87μs 0.737ns 2.66ns 0.155 0.000936 0 979 B
#3356 ExecuteNonQuery netcoreapp3.1 1.39μs 0.544ns 2.11ns 0.0131 0 0 968 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.63μs 1.06ns 3.97ns 0.188 0 0 1.19 KB
master CallElasticsearch netcoreapp3.1 1.6μs 0.633ns 2.37ns 0.0153 0 0 1.13 KB
master CallElasticsearchAsync net472 2.78μs 1.64ns 5.9ns 0.21 0 0 1.32 KB
master CallElasticsearchAsync netcoreapp3.1 1.63μs 0.611ns 2.2ns 0.0171 0 0 1.25 KB
#3356 CallElasticsearch net472 2.67μs 3.89ns 15.1ns 0.188 0 0 1.19 KB
#3356 CallElasticsearch netcoreapp3.1 1.53μs 0.503ns 1.95ns 0.0153 0 0 1.13 KB
#3356 CallElasticsearchAsync net472 2.62μs 1.17ns 4.55ns 0.21 0 0 1.32 KB
#3356 CallElasticsearchAsync netcoreapp3.1 1.65μs 0.531ns 1.91ns 0.0165 0 0 1.25 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.8μs 1.61ns 5.82ns 0.23 0 0 1.45 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.592ns 2.29ns 0.019 0 0 1.38 KB
#3356 ExecuteAsync net472 2.81μs 1.13ns 4.25ns 0.23 0 0 1.45 KB
#3356 ExecuteAsync netcoreapp3.1 1.78μs 0.575ns 2.23ns 0.0186 0 0 1.38 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.89μs 1.37ns 4.92ns 0.445 0 0 2.8 KB
master SendAsync netcoreapp3.1 3.67μs 2.91ns 10.1ns 0.0349 0 0 2.63 KB
#3356 SendAsync net472 5.87μs 2.53ns 9.8ns 0.444 0 0 2.8 KB
#3356 SendAsync netcoreapp3.1 3.75μs 1.61ns 6.01ns 0.0356 0 0 2.63 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.24μs 3.47ns 13ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.5μs 1.1ns 4.25ns 0.026 0 0 1.91 KB
#3356 EnrichedLog net472 3.17μs 1.69ns 6.56ns 0.297 0 0 1.88 KB
#3356 EnrichedLog netcoreapp3.1 2.58μs 0.866ns 3.35ns 0.0258 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 151μs 97.4ns 377ns 0.679 0.226 0 4.72 KB
master EnrichedLog netcoreapp3.1 120μs 123ns 477ns 0 0 0 4.55 KB
#3356 EnrichedLog net472 150μs 67.3ns 243ns 0.676 0.225 0 4.72 KB
#3356 EnrichedLog netcoreapp3.1 120μs 135ns 506ns 0 0 0 4.55 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.83μs 2.38ns 9.23ns 0.58 0.00291 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.41μs 2.41ns 9.02ns 0.0533 0 0 3.98 KB
#3356 EnrichedLog net472 5.77μs 2.25ns 8.71ns 0.58 0.00289 0 3.65 KB
#3356 EnrichedLog netcoreapp3.1 4.5μs 1.67ns 6.48ns 0.0539 0 0 3.98 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.25μs 2.13ns 7.95ns 0.222 0 0 1.4 KB
master SendReceive netcoreapp3.1 1.77μs 1.22ns 4.4ns 0.0179 0 0 1.35 KB
#3356 SendReceive net472 2.25μs 1.17ns 4.53ns 0.222 0 0 1.4 KB
#3356 SendReceive netcoreapp3.1 1.84μs 0.99ns 3.83ns 0.0183 0 0 1.35 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.98μs 2ns 7.22ns 0.365 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.44μs 11.8ns 44.1ns 0.0241 0 0 1.86 KB
#3356 EnrichedLog net472 5.02μs 3.12ns 11.7ns 0.364 0 0 2.3 KB
#3356 EnrichedLog netcoreapp3.1 4.47μs 2.28ns 8.53ns 0.0245 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.15μs 0.418ns 1.51ns 0.134 0 0 842 B
master StartFinishSpan netcoreapp3.1 960ns 0.583ns 2.18ns 0.0103 0 0 792 B
master StartFinishScope net472 1.48μs 0.522ns 2.02ns 0.146 0 0 923 B
master StartFinishScope netcoreapp3.1 1.07μs 0.367ns 1.32ns 0.0123 0 0 912 B
#3356 StartFinishSpan net472 1.15μs 0.278ns 1.08ns 0.134 0 0 842 B
#3356 StartFinishSpan netcoreapp3.1 914ns 0.287ns 1.08ns 0.0105 0 0 792 B
#3356 StartFinishScope net472 1.44μs 0.521ns 2.02ns 0.146 0 0 923 B
#3356 StartFinishScope netcoreapp3.1 1.1μs 0.339ns 1.31ns 0.0122 0 0 912 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.54μs 0.361ns 1.3ns 0.146 0 0 923 B
master RunOnMethodBegin netcoreapp3.1 1.17μs 0.762ns 2.75ns 0.0122 0 0 912 B
#3356 RunOnMethodBegin net472 1.57μs 0.492ns 1.91ns 0.146 0 0 923 B
#3356 RunOnMethodBegin netcoreapp3.1 1.18μs 0.329ns 1.27ns 0.0124 0 0 912 B

andrewlock avatar Oct 14 '22 10:10 andrewlock

Code Coverage Report :bar_chart:

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

master #3356 Change
Lines 19582 / 26971 19578 / 26971
Lines % 73% 73% 0% :heavy_check_mark:
Branches 11630 / 16770 11627 / 16770
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18142 18142 0 :heavy_check_mark:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3356 Change
Lines % 73% 73% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18142 18142 0 :heavy_check_mark:

The following classes have significant coverage changes.

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

View the full reports for further details:

andrewlock avatar Oct 14 '22 10:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3356 compared to master:

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

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 809μs 845ns 3.16μs 0.403 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 562μs 152ns 569ns 0 0 0 2.62 KB
#3356 WriteAndFlushEnrichedTraces net472 802μs 828ns 3.21μs 0.401 0 0 3.22 KB
#3356 WriteAndFlushEnrichedTraces netcoreapp3.1 552μs 217ns 812ns 0 0 0 2.62 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 196ns 0.085ns 0.294ns 0.0701 0 0 441 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.145ns 0.561ns 0.00597 0 0 440 B
master AllCycleMoreComplexBody net472 195ns 0.0743ns 0.278ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 254ns 0.277ns 1.04ns 0.00569 0 0 416 B
master BodyExtractorSimpleBody net472 275ns 0.792ns 2.85ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 241ns 0.0695ns 0.251ns 0.00365 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.4μs 6.85ns 25.6ns 1.21 0.0155 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 4.1ns 15.3ns 0.09 0 0 6.75 KB
#3356 AllCycleSimpleBody net472 195ns 0.0626ns 0.226ns 0.0701 0 0 441 B
#3356 AllCycleSimpleBody netcoreapp3.1 256ns 0.33ns 1.28ns 0.006 0 0 440 B
#3356 AllCycleMoreComplexBody net472 195ns 0.126ns 0.472ns 0.0662 0 0 417 B
#3356 AllCycleMoreComplexBody netcoreapp3.1 250ns 0.159ns 0.596ns 0.00566 0 0 416 B
#3356 BodyExtractorSimpleBody net472 280ns 0.559ns 2.09ns 0.0573 0 0 361 B
#3356 BodyExtractorSimpleBody netcoreapp3.1 239ns 0.191ns 0.716ns 0.00371 0 0 272 B
#3356 BodyExtractorMoreComplexBody net472 15.7μs 13.8ns 53.4ns 1.2 0.0157 0 7.62 KB
#3356 BodyExtractorMoreComplexBody netcoreapp3.1 13.2μs 11.5ns 44.5ns 0.0923 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 182μs 312ns 1.21μs 0.181 0 0 20.67 KB
#3356 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3356 SendRequest netcoreapp3.1 182μs 246ns 952ns 0.181 0 0 20.66 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.84μs 0.469ns 1.69ns 0.157 0.000915 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.42μs 0.7ns 2.62ns 0.0135 0 0 984 B
#3356 ExecuteNonQuery net472 1.86μs 0.756ns 2.73ns 0.157 0.000936 0 995 B
#3356 ExecuteNonQuery netcoreapp3.1 1.42μs 0.529ns 2.05ns 0.0135 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.48μs 0.98ns 3.67ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.57μs 0.624ns 2.42ns 0.0157 0 0 1.14 KB
master CallElasticsearchAsync net472 2.62μs 1.05ns 3.92ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.59μs 0.457ns 1.77ns 0.0167 0 0 1.26 KB
#3356 CallElasticsearch net472 2.43μs 0.594ns 2.22ns 0.191 0 0 1.2 KB
#3356 CallElasticsearch netcoreapp3.1 1.58μs 0.714ns 2.77ns 0.015 0 0 1.14 KB
#3356 CallElasticsearchAsync net472 2.76μs 1.05ns 3.79ns 0.212 0 0 1.34 KB
#3356 CallElasticsearchAsync netcoreapp3.1 1.62μs 0.766ns 2.87ns 0.017 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.74μs 1.51ns 5.64ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.428ns 1.6ns 0.0189 0 0 1.39 KB
#3356 ExecuteAsync net472 2.86μs 1.18ns 4.58ns 0.233 0 0 1.47 KB
#3356 ExecuteAsync netcoreapp3.1 1.76μs 0.309ns 1.11ns 0.0185 0 0 1.39 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.87μs 2.45ns 9.48ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.65μs 1.69ns 6.32ns 0.036 0 0 2.65 KB
#3356 SendAsync net472 5.91μs 1.42ns 5.49ns 0.446 0 0 2.82 KB
#3356 SendAsync netcoreapp3.1 3.66μs 1.47ns 5.51ns 0.0349 0 0 2.65 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.14μs 2.91ns 10.9ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.48μs 1.44ns 5.38ns 0.026 0 0 1.91 KB
#3356 EnrichedLog net472 3.03μs 3.96ns 15.3ns 0.298 0 0 1.88 KB
#3356 EnrichedLog netcoreapp3.1 2.47μs 0.595ns 2.23ns 0.0262 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 152μs 210ns 814ns 0.686 0.229 0 4.72 KB
master EnrichedLog netcoreapp3.1 121μs 208ns 805ns 0 0 0 4.55 KB
#3356 EnrichedLog net472 152μs 136ns 525ns 0.679 0.226 0 4.72 KB
#3356 EnrichedLog netcoreapp3.1 122μs 246ns 953ns 0.0608 0 0 4.55 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.83μs 1.62ns 6.07ns 0.579 0.00291 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.4μs 1.25ns 4.52ns 0.0525 0 0 3.98 KB
#3356 EnrichedLog net472 5.69μs 1.41ns 5.28ns 0.577 0.00284 0 3.65 KB
#3356 EnrichedLog netcoreapp3.1 4.5μs 1.24ns 4.49ns 0.0539 0 0 3.98 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.28μs 1.63ns 5.86ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.84μs 0.628ns 2.35ns 0.0184 0 0 1.37 KB
#3356 SendReceive net472 2.26μs 3.75ns 14.5ns 0.225 0 0 1.42 KB
#3356 SendReceive netcoreapp3.1 1.79μs 1.05ns 3.93ns 0.0178 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.01μs 1.48ns 5.35ns 0.362 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.32μs 1.2ns 4.34ns 0.0238 0 0 1.86 KB
#3356 EnrichedLog net472 4.92μs 2.02ns 7.57ns 0.363 0 0 2.3 KB
#3356 EnrichedLog netcoreapp3.1 4.46μs 1.69ns 6.53ns 0.0246 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.11μs 0.349ns 1.35ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 905ns 0.675ns 2.62ns 0.0109 0 0 808 B
master StartFinishScope net472 1.48μs 0.456ns 1.65ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.06μs 0.306ns 1.18ns 0.0122 0 0 928 B
#3356 StartFinishSpan net472 1.11μs 0.195ns 0.728ns 0.136 0 0 859 B
#3356 StartFinishSpan netcoreapp3.1 954ns 0.366ns 1.42ns 0.011 0 0 808 B
#3356 StartFinishScope net472 1.46μs 0.324ns 1.21ns 0.149 0 0 939 B
#3356 StartFinishScope netcoreapp3.1 1.04μs 0.426ns 1.65ns 0.0125 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.51μs 0.557ns 2.16ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.17μs 0.481ns 1.86ns 0.0123 0 0 928 B
#3356 RunOnMethodBegin net472 1.41μs 0.662ns 2.56ns 0.149 0 0 939 B
#3356 RunOnMethodBegin netcoreapp3.1 1.12μs 0.602ns 2.17ns 0.0128 0 0 928 B

andrewlock avatar Oct 17 '22 09:10 andrewlock

Code Coverage Report :bar_chart:

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

master #3356 Change
Lines 19543 / 27004 19581 / 27004
Lines % 72% 73% 0% :heavy_check_mark:
Branches 11598 / 16782 11619 / 16782
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18158 18158 0 :heavy_check_mark:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3356 Change
Lines % 72% 73% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18158 18158 0 :heavy_check_mark:

The following classes have significant coverage changes.

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

View the full reports for further details:

andrewlock avatar Oct 17 '22 09:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3356 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.126
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 809μs 845ns 3.16μs 0.403 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 562μs 152ns 569ns 0 0 0 2.62 KB
#3356 WriteAndFlushEnrichedTraces net472 827μs 512ns 1.98μs 0.403 0 0 3.22 KB
#3356 WriteAndFlushEnrichedTraces netcoreapp3.1 563μs 275ns 992ns 0 0 0 2.63 KB
Benchmarks.Trace.AppSecBodyBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #3356

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net472 1.126 194.79 219.27

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 196ns 0.085ns 0.294ns 0.0701 0 0 441 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.145ns 0.561ns 0.00597 0 0 440 B
master AllCycleMoreComplexBody net472 195ns 0.0743ns 0.278ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 254ns 0.277ns 1.04ns 0.00569 0 0 416 B
master BodyExtractorSimpleBody net472 275ns 0.792ns 2.85ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 241ns 0.0695ns 0.251ns 0.00365 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.4μs 6.85ns 25.6ns 1.21 0.0155 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 4.1ns 15.3ns 0.09 0 0 6.75 KB
#3356 AllCycleSimpleBody net472 196ns 0.0602ns 0.217ns 0.0701 0 0 441 B
#3356 AllCycleSimpleBody netcoreapp3.1 258ns 0.211ns 0.819ns 0.00593 0 0 440 B
#3356 AllCycleMoreComplexBody net472 219ns 0.12ns 0.433ns 0.0663 0 0 417 B
#3356 AllCycleMoreComplexBody netcoreapp3.1 252ns 0.155ns 0.601ns 0.00568 0 0 416 B
#3356 BodyExtractorSimpleBody net472 273ns 0.18ns 0.696ns 0.0573 0 0 361 B
#3356 BodyExtractorSimpleBody netcoreapp3.1 236ns 0.138ns 0.534ns 0.00379 0 0 272 B
#3356 BodyExtractorMoreComplexBody net472 16.1μs 14ns 50.5ns 1.21 0.0163 0 7.62 KB
#3356 BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 3.71ns 14.4ns 0.09 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 182μs 312ns 1.21μs 0.181 0 0 20.67 KB
#3356 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3356 SendRequest netcoreapp3.1 180μs 134ns 518ns 0.27 0 0 20.66 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.84μs 0.469ns 1.69ns 0.157 0.000915 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.42μs 0.7ns 2.62ns 0.0135 0 0 984 B
#3356 ExecuteNonQuery net472 1.79μs 0.908ns 3.52ns 0.158 0.000885 0 995 B
#3356 ExecuteNonQuery netcoreapp3.1 1.47μs 0.316ns 1.18ns 0.013 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.48μs 0.98ns 3.67ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.57μs 0.624ns 2.42ns 0.0157 0 0 1.14 KB
master CallElasticsearchAsync net472 2.62μs 1.05ns 3.92ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.59μs 0.457ns 1.77ns 0.0167 0 0 1.26 KB
#3356 CallElasticsearch net472 2.63μs 0.991ns 3.71ns 0.19 0 0 1.2 KB
#3356 CallElasticsearch netcoreapp3.1 1.53μs 0.675ns 2.53ns 0.0153 0 0 1.14 KB
#3356 CallElasticsearchAsync net472 2.69μs 0.739ns 2.86ns 0.212 0 0 1.34 KB
#3356 CallElasticsearchAsync netcoreapp3.1 1.54μs 0.397ns 1.49ns 0.0169 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.74μs 1.51ns 5.64ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.73μs 0.428ns 1.6ns 0.0189 0 0 1.39 KB
#3356 ExecuteAsync net472 2.81μs 2.01ns 7.8ns 0.233 0 0 1.47 KB
#3356 ExecuteAsync netcoreapp3.1 1.71μs 0.688ns 2.66ns 0.0187 0 0 1.39 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.87μs 2.45ns 9.48ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.65μs 1.69ns 6.32ns 0.036 0 0 2.65 KB
#3356 SendAsync net472 5.83μs 5.63ns 21.8ns 0.447 0 0 2.82 KB
#3356 SendAsync netcoreapp3.1 3.62μs 1.95ns 7.55ns 0.0363 0 0 2.65 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.14μs 2.91ns 10.9ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.48μs 1.44ns 5.38ns 0.026 0 0 1.91 KB
#3356 EnrichedLog net472 3.22μs 5.66ns 21.9ns 0.297 0 0 1.88 KB
#3356 EnrichedLog netcoreapp3.1 2.47μs 1.68ns 6.51ns 0.0258 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 152μs 210ns 814ns 0.686 0.229 0 4.72 KB
master EnrichedLog netcoreapp3.1 121μs 208ns 805ns 0 0 0 4.55 KB
#3356 EnrichedLog net472 152μs 217ns 839ns 0.676 0.225 0 4.72 KB
#3356 EnrichedLog netcoreapp3.1 120μs 121ns 467ns 0.0596 0 0 4.55 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.83μs 1.62ns 6.07ns 0.579 0.00291 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.4μs 1.25ns 4.52ns 0.0525 0 0 3.98 KB
#3356 EnrichedLog net472 5.57μs 2.25ns 8.71ns 0.579 0.00278 0 3.65 KB
#3356 EnrichedLog netcoreapp3.1 4.52μs 1.94ns 7.26ns 0.0542 0 0 3.98 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.28μs 1.63ns 5.86ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.84μs 0.628ns 2.35ns 0.0184 0 0 1.37 KB
#3356 SendReceive net472 2.29μs 3.6ns 13.5ns 0.225 0 0 1.42 KB
#3356 SendReceive netcoreapp3.1 1.73μs 0.912ns 3.53ns 0.0182 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.01μs 1.48ns 5.35ns 0.362 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.32μs 1.2ns 4.34ns 0.0238 0 0 1.86 KB
#3356 EnrichedLog net472 4.93μs 1.7ns 6.6ns 0.363 0 0 2.3 KB
#3356 EnrichedLog netcoreapp3.1 4.13μs 1.71ns 6.62ns 0.0249 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.11μs 0.349ns 1.35ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 905ns 0.675ns 2.62ns 0.0109 0 0 808 B
master StartFinishScope net472 1.48μs 0.456ns 1.65ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.06μs 0.306ns 1.18ns 0.0122 0 0 928 B
#3356 StartFinishSpan net472 1.14μs 0.329ns 1.23ns 0.136 0 0 859 B
#3356 StartFinishSpan netcoreapp3.1 922ns 0.409ns 1.58ns 0.0111 0 0 808 B
#3356 StartFinishScope net472 1.45μs 0.362ns 1.4ns 0.149 0 0 939 B
#3356 StartFinishScope netcoreapp3.1 1.09μs 0.953ns 3.69ns 0.0125 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.51μs 0.557ns 2.16ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.17μs 0.481ns 1.86ns 0.0123 0 0 928 B
#3356 RunOnMethodBegin net472 1.39μs 0.461ns 1.72ns 0.149 0 0 939 B
#3356 RunOnMethodBegin netcoreapp3.1 1.19μs 0.298ns 1.12ns 0.0125 0 0 928 B

andrewlock avatar Oct 17 '22 13:10 andrewlock

Code Coverage Report :bar_chart:

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

master #3356 Change
Lines 19543 / 27004 19572 / 27004
Lines % 72% 72% 0% :heavy_check_mark:
Branches 11598 / 16782 11614 / 16782
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18158 18158 0 :heavy_check_mark:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3356 Change
Lines % 72% 72% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18158 18158 0 :heavy_check_mark:

The following classes have significant coverage changes.

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

View the full reports for further details:

andrewlock avatar Oct 17 '22 14:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3356 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 816μs 577ns 2.16μs 0.406 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 559μs 456ns 1.71μs 0 0 0 2.63 KB
#3356 WriteAndFlushEnrichedTraces net472 811μs 488ns 1.89μs 0.408 0 0 3.22 KB
#3356 WriteAndFlushEnrichedTraces netcoreapp3.1 550μs 521ns 2.02μs 0 0 0 2.62 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 195ns 0.0577ns 0.208ns 0.0701 0 0 441 B
master AllCycleSimpleBody netcoreapp3.1 259ns 0.384ns 1.49ns 0.00608 0 0 440 B
master AllCycleMoreComplexBody net472 193ns 0.0261ns 0.0942ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 251ns 0.0922ns 0.345ns 0.00564 0 0 416 B
master BodyExtractorSimpleBody net472 292ns 0.222ns 0.86ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 240ns 0.132ns 0.494ns 0.00374 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.8μs 12.3ns 47.6ns 1.21 0.0158 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 6.47ns 25.1ns 0.0904 0 0 6.75 KB
#3356 AllCycleSimpleBody net472 198ns 0.197ns 0.763ns 0.0701 0 0 441 B
#3356 AllCycleSimpleBody netcoreapp3.1 254ns 0.296ns 1.14ns 0.00595 0 0 440 B
#3356 AllCycleMoreComplexBody net472 205ns 0.0706ns 0.255ns 0.0662 0 0 417 B
#3356 AllCycleMoreComplexBody netcoreapp3.1 252ns 0.139ns 0.5ns 0.00567 0 0 416 B
#3356 BodyExtractorSimpleBody net472 286ns 0.127ns 0.475ns 0.0573 0 0 361 B
#3356 BodyExtractorSimpleBody netcoreapp3.1 239ns 0.0835ns 0.324ns 0.00372 0 0 272 B
#3356 BodyExtractorMoreComplexBody net472 16.3μs 12.6ns 48.9ns 1.21 0.0163 0 7.62 KB
#3356 BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 5.55ns 21.5ns 0.09 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 179μs 179ns 693ns 0.269 0 0 20.67 KB
#3356 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3356 SendRequest netcoreapp3.1 182μs 141ns 547ns 0.183 0 0 20.66 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.85μs 0.655ns 2.45ns 0.157 0.000926 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.45μs 0.321ns 1.11ns 0.0132 0 0 984 B
#3356 ExecuteNonQuery net472 1.83μs 0.493ns 1.78ns 0.157 0.00091 0 995 B
#3356 ExecuteNonQuery netcoreapp3.1 1.43μs 0.562ns 2.03ns 0.0129 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.58μs 0.625ns 2.34ns 0.19 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.57μs 0.564ns 2.18ns 0.0151 0 0 1.14 KB
master CallElasticsearchAsync net472 2.66μs 0.802ns 3.11ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.56μs 0.689ns 2.67ns 0.0172 0 0 1.26 KB
#3356 CallElasticsearch net472 2.52μs 0.737ns 2.85ns 0.19 0 0 1.2 KB
#3356 CallElasticsearch netcoreapp3.1 1.54μs 1.36ns 5.28ns 0.0154 0 0 1.14 KB
#3356 CallElasticsearchAsync net472 2.6μs 1.61ns 5.8ns 0.212 0 0 1.34 KB
#3356 CallElasticsearchAsync netcoreapp3.1 1.57μs 0.343ns 1.28ns 0.0165 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.73μs 1.18ns 4.41ns 0.232 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.75μs 2.73ns 10.6ns 0.019 0 0 1.39 KB
#3356 ExecuteAsync net472 2.84μs 1.5ns 5.63ns 0.233 0 0 1.47 KB
#3356 ExecuteAsync netcoreapp3.1 1.78μs 0.691ns 2.59ns 0.0186 0 0 1.39 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.87μs 3.01ns 11.7ns 0.446 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.62μs 1.42ns 5.49ns 0.036 0 0 2.65 KB
#3356 SendAsync net472 5.9μs 1.08ns 3.73ns 0.446 0 0 2.82 KB
#3356 SendAsync netcoreapp3.1 3.61μs 1.71ns 6.17ns 0.0361 0 0 2.65 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.18μs 2.55ns 9.87ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.49μs 1.51ns 5.84ns 0.026 0 0 1.91 KB
#3356 EnrichedLog net472 3.22μs 6.34ns 23.7ns 0.297 0 0 1.88 KB
#3356 EnrichedLog netcoreapp3.1 2.53μs 1.62ns 6.27ns 0.0252 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 151μs 150ns 562ns 0.68 0.227 0 4.72 KB
master EnrichedLog netcoreapp3.1 121μs 139ns 538ns 0.0607 0 0 4.55 KB
#3356 EnrichedLog net472 151μs 248ns 930ns 0.675 0.225 0 4.72 KB
#3356 EnrichedLog netcoreapp3.1 119μs 67.9ns 245ns 0 0 0 4.55 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.63μs 2.02ns 7.83ns 0.58 0.0028 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.41μs 1.81ns 6.78ns 0.053 0 0 3.98 KB
#3356 EnrichedLog net472 5.8μs 3.23ns 12.1ns 0.578 0.00289 0 3.65 KB
#3356 EnrichedLog netcoreapp3.1 4.58μs 1.78ns 6.68ns 0.0553 0 0 3.98 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.33μs 2.85ns 11ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.79μs 0.589ns 2.2ns 0.018 0 0 1.37 KB
#3356 SendReceive net472 2.34μs 2.99ns 11.6ns 0.225 0 0 1.42 KB
#3356 SendReceive netcoreapp3.1 1.84μs 1.65ns 6.19ns 0.0183 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.99μs 2.19ns 8.48ns 0.362 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.24μs 2.71ns 10.5ns 0.0253 0 0 1.86 KB
#3356 EnrichedLog net472 5.01μs 1.96ns 7.32ns 0.363 0 0 2.3 KB
#3356 EnrichedLog netcoreapp3.1 4.14μs 1.48ns 5.54ns 0.0248 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.16μs 0.486ns 1.82ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 899ns 0.956ns 3.7ns 0.0107 0 0 808 B
master StartFinishScope net472 1.38μs 0.396ns 1.54ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.14μs 0.48ns 1.8ns 0.0125 0 0 928 B
#3356 StartFinishSpan net472 1.12μs 0.239ns 0.895ns 0.136 0 0 859 B
#3356 StartFinishSpan netcoreapp3.1 932ns 0.427ns 1.6ns 0.0111 0 0 808 B
#3356 StartFinishScope net472 1.42μs 1.26ns 4.87ns 0.149 0 0 939 B
#3356 StartFinishScope netcoreapp3.1 1.03μs 0.593ns 2.3ns 0.0123 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.53μs 0.397ns 1.43ns 0.148 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.16μs 0.519ns 1.87ns 0.0125 0 0 928 B
#3356 RunOnMethodBegin net472 1.47μs 0.486ns 1.88ns 0.149 0 0 939 B
#3356 RunOnMethodBegin netcoreapp3.1 1.16μs 0.38ns 1.42ns 0.0122 0 0 928 B

andrewlock avatar Oct 17 '22 21:10 andrewlock

Code Coverage Report :bar_chart:

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

master #3356 Change
Lines 19542 / 27011 19559 / 27011
Lines % 72% 72% 0% :heavy_check_mark:
Branches 11599 / 16784 11607 / 16784
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18160 18160 0 :heavy_check_mark:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3356 Change
Lines % 72% 72% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18160 18160 0 :heavy_check_mark:

The following classes have significant coverage changes.

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

View the full reports for further details:

andrewlock avatar Oct 17 '22 22:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3356 compared to master:

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

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 796μs 537ns 2.08μs 0.396 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 564μs 202ns 757ns 0 0 0 2.63 KB
#3356 WriteAndFlushEnrichedTraces net472 789μs 431ns 1.67μs 0.396 0 0 3.22 KB
#3356 WriteAndFlushEnrichedTraces netcoreapp3.1 557μs 614ns 2.38μs 0 0 0 2.62 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 197ns 0.171ns 0.664ns 0.0701 0.0001 0 441 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.265ns 1.03ns 0.00611 0 0 440 B
master AllCycleMoreComplexBody net472 195ns 0.0943ns 0.34ns 0.0662 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 253ns 0.602ns 2.33ns 0.00569 0 0 416 B
master BodyExtractorSimpleBody net472 270ns 0.113ns 0.407ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 241ns 0.133ns 0.48ns 0.00376 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.5μs 13.2ns 51.2ns 1.21 0.0156 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13μs 4.52ns 17.5ns 0.0908 0 0 6.75 KB
#3356 AllCycleSimpleBody net472 198ns 0.0539ns 0.194ns 0.0701 0 0 441 B
#3356 AllCycleSimpleBody netcoreapp3.1 254ns 0.236ns 0.883ns 0.00611 0 0 440 B
#3356 AllCycleMoreComplexBody net472 196ns 0.0694ns 0.26ns 0.0663 0 0 417 B
#3356 AllCycleMoreComplexBody netcoreapp3.1 251ns 0.167ns 0.624ns 0.00568 0 0 416 B
#3356 BodyExtractorSimpleBody net472 271ns 0.186ns 0.697ns 0.0573 0 0 361 B
#3356 BodyExtractorSimpleBody netcoreapp3.1 241ns 0.118ns 0.443ns 0.00364 0 0 272 B
#3356 BodyExtractorMoreComplexBody net472 15.8μs 13.8ns 51.4ns 1.2 0.0157 0 7.62 KB
#3356 BodyExtractorMoreComplexBody netcoreapp3.1 12.7μs 4.15ns 16.1ns 0.089 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 181μs 165ns 640ns 0.181 0 0 20.66 KB
#3356 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3356 SendRequest netcoreapp3.1 181μs 188ns 729ns 0.181 0 0 20.66 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.82μs 0.523ns 2.02ns 0.158 0.000909 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.39μs 3.69ns 13.8ns 0.0131 0 0 984 B
#3356 ExecuteNonQuery net472 1.83μs 0.503ns 1.81ns 0.158 0.000913 0 995 B
#3356 ExecuteNonQuery netcoreapp3.1 1.46μs 1.27ns 4.75ns 0.0132 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.5μs 0.738ns 2.86ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.5μs 0.645ns 2.5ns 0.0151 0 0 1.14 KB
master CallElasticsearchAsync net472 2.61μs 1.37ns 5.12ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.59μs 1.21ns 4.52ns 0.0175 0 0 1.26 KB
#3356 CallElasticsearch net472 2.37μs 0.947ns 3.54ns 0.191 0 0 1.2 KB
#3356 CallElasticsearch netcoreapp3.1 1.48μs 0.409ns 1.58ns 0.0155 0 0 1.14 KB
#3356 CallElasticsearchAsync net472 2.65μs 4.66ns 17.5ns 0.212 0 0 1.34 KB
#3356 CallElasticsearchAsync netcoreapp3.1 1.67μs 0.667ns 2.41ns 0.0175 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.89μs 13.8ns 53.4ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.78μs 3.97ns 13.8ns 0.0187 0 0 1.39 KB
#3356 ExecuteAsync net472 2.62μs 1.28ns 4.95ns 0.233 0 0 1.47 KB
#3356 ExecuteAsync netcoreapp3.1 1.75μs 0.504ns 1.95ns 0.0192 0 0 1.39 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.9μs 18.5ns 71.8ns 0.446 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.65μs 1.35ns 4.87ns 0.0348 0 0 2.65 KB
#3356 SendAsync net472 6.04μs 3.53ns 13.7ns 0.447 0 0 2.82 KB
#3356 SendAsync netcoreapp3.1 3.7μs 6.12ns 23.7ns 0.035 0 0 2.65 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.13μs 3.29ns 12.3ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.58μs 1.04ns 4.04ns 0.0257 0 0 1.91 KB
#3356 EnrichedLog net472 3.2μs 2.91ns 11.3ns 0.298 0 0 1.88 KB
#3356 EnrichedLog netcoreapp3.1 2.5μs 4.61ns 17.2ns 0.0258 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 150μs 108ns 406ns 0.676 0.225 0 4.72 KB
master EnrichedLog netcoreapp3.1 121μs 110ns 425ns 0 0 0 4.55 KB
#3356 EnrichedLog net472 151μs 112ns 433ns 0.679 0.226 0 4.72 KB
#3356 EnrichedLog netcoreapp3.1 121μs 208ns 807ns 0 0 0 4.55 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.73μs 3.47ns 13ns 0.578 0.00287 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.58μs 1.98ns 7.14ns 0.0526 0 0 3.98 KB
#3356 EnrichedLog net472 5.85μs 3.27ns 12.7ns 0.578 0.00292 0 3.65 KB
#3356 EnrichedLog netcoreapp3.1 4.59μs 1.81ns 6.54ns 0.0527 0 0 3.98 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.2μs 2.68ns 10ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.89μs 1.81ns 7ns 0.0181 0 0 1.37 KB
#3356 SendReceive net472 2.29μs 1.84ns 7.14ns 0.225 0 0 1.42 KB
#3356 SendReceive netcoreapp3.1 1.92μs 0.717ns 2.59ns 0.0183 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.1μs 1.85ns 6.92ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.41μs 1.33ns 5.13ns 0.0243 0 0 1.86 KB
#3356 EnrichedLog net472 5.07μs 1.74ns 6.73ns 0.363 0 0 2.3 KB
#3356 EnrichedLog netcoreapp3.1 4.13μs 0.747ns 2.8ns 0.0247 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.24μs 0.379ns 1.37ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 987ns 0.482ns 1.87ns 0.0109 0 0 808 B
master StartFinishScope net472 1.38μs 0.406ns 1.57ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.2μs 0.463ns 1.73ns 0.0122 0 0 928 B
#3356 StartFinishSpan net472 1.19μs 0.334ns 1.25ns 0.136 0 0 859 B
#3356 StartFinishSpan netcoreapp3.1 938ns 0.383ns 1.43ns 0.0111 0 0 808 B
#3356 StartFinishScope net472 1.41μs 0.379ns 1.42ns 0.149 0 0 939 B
#3356 StartFinishScope netcoreapp3.1 1.09μs 0.351ns 1.31ns 0.0126 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.52μs 0.275ns 1.03ns 0.148 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.2μs 0.518ns 2.01ns 0.0126 0 0 928 B
#3356 RunOnMethodBegin net472 1.47μs 0.722ns 2.7ns 0.149 0 0 939 B
#3356 RunOnMethodBegin netcoreapp3.1 1.16μs 0.212ns 0.763ns 0.0122 0 0 928 B

andrewlock avatar Oct 19 '22 06:10 andrewlock

Code Coverage Report :bar_chart:

:warning: Merging #3356 into master will will decrease line coverage by 1% :warning: Merging #3356 into master will will decrease branch coverage by 1% :heavy_check_mark: Merging #3356 into master will not change complexity

master #3356 Change
Lines 19590 / 27059 19441 / 27059
Lines % 72% 72% -1% :warning:
Branches 11591 / 16750 11485 / 16750
Branches % 69% 69% -1% :warning:
Complexity 18131 18131 0 :heavy_check_mark:

View the full report for further details:

Datadog.Trace Breakdown :warning:

master #3356 Change
Lines % 72% 72% -1% :warning:
Branches % 69% 69% -1% :warning:
Complexity 18131 18131 0 :heavy_check_mark:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Agent.TraceSamplers.AnalyticsEventsSampler -100% :no_entry: -100% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Agent.TraceSamplers.ErrorSampler -100% :no_entry: -100% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Agent.TraceSamplers.PrioritySampler -100% :no_entry: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Sampling.GlobalSamplingRule -100% :no_entry: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Agent.TraceSamplers.RareSampler -89% :no_entry: -96% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Util.SamplingHelpers -50% :no_entry: -50% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Telemetry.Transports.JsonTelemetryTransport -33% :no_entry: -42% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Logging.DirectSubmission.DirectLogSubmissionManager -33% :no_entry: -33% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Logging.DirectSubmission.Sink.NullDatadogSink -25% :no_entry: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Processors.NormalizerTraceProcessor -22% :no_entry: -19% :no_entry: 0 :heavy_check_mark:
...And 7 more

View the full reports for further details:

andrewlock avatar Oct 19 '22 07:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3356 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 818μs 455ns 1.7μs 0.411 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 564μs 218ns 815ns 0 0 0 2.62 KB
#3356 WriteAndFlushEnrichedTraces net472 798μs 459ns 1.78μs 0.398 0 0 3.22 KB
#3356 WriteAndFlushEnrichedTraces netcoreapp3.1 538μs 352ns 1.36μs 0 0 0 2.62 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 196ns 0.139ns 0.52ns 0.0701 0 0 441 B
master AllCycleSimpleBody netcoreapp3.1 254ns 0.146ns 0.566ns 0.00593 0 0 440 B
master AllCycleMoreComplexBody net472 195ns 0.0723ns 0.261ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 252ns 0.114ns 0.425ns 0.00566 0 0 416 B
master BodyExtractorSimpleBody net472 282ns 0.343ns 1.28ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 238ns 0.123ns 0.459ns 0.00371 0 0 272 B
master BodyExtractorMoreComplexBody net472 16μs 17.7ns 68.4ns 1.2 0.016 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.8μs 3.68ns 13.8ns 0.0898 0 0 6.75 KB
#3356 AllCycleSimpleBody net472 198ns 0.238ns 0.922ns 0.0701 0 0 441 B
#3356 AllCycleSimpleBody netcoreapp3.1 253ns 0.316ns 1.22ns 0.00608 0 0 440 B
#3356 AllCycleMoreComplexBody net472 195ns 0.0652ns 0.244ns 0.0662 0 0 417 B
#3356 AllCycleMoreComplexBody netcoreapp3.1 250ns 0.0865ns 0.324ns 0.00571 0 0 416 B
#3356 BodyExtractorSimpleBody net472 297ns 0.243ns 0.877ns 0.0573 0 0 361 B
#3356 BodyExtractorSimpleBody netcoreapp3.1 235ns 0.137ns 0.511ns 0.00367 0 0 272 B
#3356 BodyExtractorMoreComplexBody net472 15.4μs 18.2ns 68.2ns 1.21 0.0156 0 7.62 KB
#3356 BodyExtractorMoreComplexBody netcoreapp3.1 13μs 3.79ns 14.2ns 0.0912 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 180μs 211ns 816ns 0.27 0 0 20.67 KB
#3356 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3356 SendRequest netcoreapp3.1 182μs 171ns 663ns 0.275 0 0 20.66 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.81μs 0.861ns 3.34ns 0.158 0.000907 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.43μs 1.44ns 5.59ns 0.0128 0 0 984 B
#3356 ExecuteNonQuery net472 1.92μs 0.439ns 1.58ns 0.157 0.000959 0 995 B
#3356 ExecuteNonQuery netcoreapp3.1 1.44μs 0.386ns 1.49ns 0.013 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.45μs 0.678ns 2.45ns 0.19 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.45ns 1.68ns 0.0152 0 0 1.14 KB
master CallElasticsearchAsync net472 2.66μs 1.03ns 3.84ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.61μs 0.632ns 2.36ns 0.0169 0 0 1.26 KB
#3356 CallElasticsearch net472 2.48μs 1.72ns 6.66ns 0.191 0 0 1.2 KB
#3356 CallElasticsearch netcoreapp3.1 1.49μs 0.429ns 1.6ns 0.0157 0 0 1.14 KB
#3356 CallElasticsearchAsync net472 2.64μs 2.62ns 10.1ns 0.213 0 0 1.34 KB
#3356 CallElasticsearchAsync netcoreapp3.1 1.63μs 0.574ns 2.15ns 0.017 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.71μs 1.32ns 5.11ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.69μs 0.488ns 1.82ns 0.0194 0 0 1.39 KB
#3356 ExecuteAsync net472 2.67μs 1.14ns 4.4ns 0.233 0 0 1.47 KB
#3356 ExecuteAsync netcoreapp3.1 1.71μs 0.89ns 3.33ns 0.0188 0 0 1.39 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.84μs 1.82ns 6.8ns 0.446 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.61μs 1.05ns 3.94ns 0.0363 0 0 2.65 KB
#3356 SendAsync net472 5.85μs 3.06ns 11.4ns 0.445 0 0 2.82 KB
#3356 SendAsync netcoreapp3.1 3.66μs 2.26ns 8.46ns 0.0365 0 0 2.65 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.1μs 1.93ns 7.47ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.48μs 0.937ns 3.63ns 0.0255 0 0 1.91 KB
#3356 EnrichedLog net472 3.12μs 3.61ns 14ns 0.298 0 0 1.88 KB
#3356 EnrichedLog netcoreapp3.1 2.49μs 12.6ns 47ns 0.0263 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 150μs 109ns 408ns 0.748 0.224 0 4.72 KB
master EnrichedLog netcoreapp3.1 120μs 228ns 884ns 0.0599 0 0 4.55 KB
#3356 EnrichedLog net472 150μs 188ns 729ns 0.676 0.225 0 4.72 KB
#3356 EnrichedLog netcoreapp3.1 120μs 129ns 499ns 0.0601 0 0 4.55 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.74μs 1.8ns 6.73ns 0.58 0.00287 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.39μs 1.61ns 6.25ns 0.0527 0 0 3.98 KB
#3356 EnrichedLog net472 5.64μs 2.88ns 11.2ns 0.578 0.00283 0 3.65 KB
#3356 EnrichedLog netcoreapp3.1 4.44μs 1.52ns 5.69ns 0.0534 0 0 3.98 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.3μs 2.47ns 9.57ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.81μs 0.462ns 1.73ns 0.0181 0 0 1.37 KB
#3356 SendReceive net472 2.27μs 1.84ns 7.12ns 0.225 0 0 1.42 KB
#3356 SendReceive netcoreapp3.1 1.81μs 0.569ns 2.13ns 0.0181 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.08μs 1.47ns 5.69ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.33μs 1.7ns 6.35ns 0.0238 0 0 1.86 KB
#3356 EnrichedLog net472 5.1μs 1.38ns 5.33ns 0.364 0 0 2.3 KB
#3356 EnrichedLog netcoreapp3.1 4.42μs 1.7ns 6.57ns 0.0241 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.25μs 0.549ns 1.98ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 954ns 0.458ns 1.71ns 0.011 0 0 808 B
master StartFinishScope net472 1.43μs 0.566ns 2.19ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.08μs 0.295ns 1.1ns 0.0126 0 0 928 B
#3356 StartFinishSpan net472 1.25μs 0.435ns 1.68ns 0.136 0 0 859 B
#3356 StartFinishSpan netcoreapp3.1 928ns 0.341ns 1.27ns 0.0107 0 0 808 B
#3356 StartFinishScope net472 1.38μs 0.648ns 2.51ns 0.149 0 0 939 B
#3356 StartFinishScope netcoreapp3.1 1.16μs 1.21ns 4.7ns 0.0126 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.46μs 1.3ns 5.04ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.12μs 0.428ns 1.6ns 0.0123 0 0 928 B
#3356 RunOnMethodBegin net472 1.47μs 0.45ns 1.68ns 0.149 0 0 939 B
#3356 RunOnMethodBegin netcoreapp3.1 1.15μs 3.96ns 15.3ns 0.0124 0 0 928 B

andrewlock avatar Oct 19 '22 12:10 andrewlock

Code Coverage Report :bar_chart:

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

master #3356 Change
Lines 19590 / 27059 19607 / 27059
Lines % 72% 72% 0% :heavy_check_mark:
Branches 11591 / 16750 11602 / 16750
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18131 18131 0 :heavy_check_mark:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3356 Change
Lines % 72% 72% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 18131 18131 0 :heavy_check_mark:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change

View the full reports for further details:

andrewlock avatar Oct 19 '22 13:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3356 compared to master:

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

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 801μs 622ns 2.41μs 0.403 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 533μs 494ns 1.85μs 0 0 0 2.62 KB
#3356 WriteAndFlushEnrichedTraces net472 803μs 596ns 2.31μs 0.398 0 0 3.22 KB
#3356 WriteAndFlushEnrichedTraces netcoreapp3.1 524μs 462ns 1.73μs 0 0 0 2.63 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 182ns 0.125ns 0.45ns 0.0701 9.26E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 239ns 0.0841ns 0.315ns 0.00605 0 0 440 B
master AllCycleMoreComplexBody net472 189ns 0.0349ns 0.126ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 238ns 0.112ns 0.418ns 0.00564 0 0 416 B
master BodyExtractorSimpleBody net472 273ns 0.214ns 0.829ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 237ns 0.116ns 0.4ns 0.00358 0 0 272 B
master BodyExtractorMoreComplexBody net472 16μs 8.36ns 31.3ns 1.21 0.0157 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.6μs 4.85ns 16.8ns 0.0882 0 0 6.75 KB
#3356 AllCycleSimpleBody net472 182ns 0.0977ns 0.366ns 0.0701 9.26E-05 0 441 B
#3356 AllCycleSimpleBody netcoreapp3.1 243ns 0.161ns 0.623ns 0.00584 0 0 440 B
#3356 AllCycleMoreComplexBody net472 189ns 0.0493ns 0.191ns 0.0663 0 0 417 B
#3356 AllCycleMoreComplexBody netcoreapp3.1 240ns 0.104ns 0.375ns 0.00577 0 0 416 B
#3356 BodyExtractorSimpleBody net472 283ns 0.356ns 1.33ns 0.0573 0 0 361 B
#3356 BodyExtractorSimpleBody netcoreapp3.1 242ns 0.0904ns 0.338ns 0.00366 0 0 272 B
#3356 BodyExtractorMoreComplexBody net472 15.8μs 15.6ns 60.5ns 1.2 0.0157 0 7.62 KB
#3356 BodyExtractorMoreComplexBody netcoreapp3.1 13.2μs 2.88ns 11.2ns 0.0922 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 177μs 166ns 642ns 0.266 0 0 20.66 KB
#3356 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3356 SendRequest netcoreapp3.1 179μs 211ns 790ns 0.269 0 0 20.66 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.75μs 1.05ns 3.93ns 0.158 0.000873 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.44μs 0.682ns 2.55ns 0.013 0 0 984 B
#3356 ExecuteNonQuery net472 1.75μs 0.978ns 3.79ns 0.157 0.000874 0 995 B
#3356 ExecuteNonQuery netcoreapp3.1 1.37μs 0.444ns 1.6ns 0.013 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.48μs 1.6ns 6.18ns 0.19 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.53μs 1.6ns 5.97ns 0.016 0 0 1.14 KB
master CallElasticsearchAsync net472 2.7μs 1.46ns 5.48ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.6μs 1ns 3.89ns 0.0172 0 0 1.26 KB
#3356 CallElasticsearch net472 2.5μs 1.4ns 5.23ns 0.19 0 0 1.2 KB
#3356 CallElasticsearch netcoreapp3.1 1.53μs 0.881ns 3.3ns 0.016 0 0 1.14 KB
#3356 CallElasticsearchAsync net472 2.62μs 1.26ns 4.55ns 0.212 0 0 1.34 KB
#3356 CallElasticsearchAsync netcoreapp3.1 1.59μs 0.403ns 1.51ns 0.0174 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.59μs 0.925ns 3.34ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.85μs 0.725ns 2.71ns 0.0182 0 0 1.39 KB
#3356 ExecuteAsync net472 2.73μs 0.663ns 2.57ns 0.233 0 0 1.47 KB
#3356 ExecuteAsync netcoreapp3.1 1.7μs 1.07ns 4.01ns 0.0188 0 0 1.39 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.79μs 2.35ns 9.09ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.65μs 1.64ns 6.34ns 0.0349 0 0 2.65 KB
#3356 SendAsync net472 5.95μs 1.38ns 5.18ns 0.446 0 0 2.82 KB
#3356 SendAsync netcoreapp3.1 3.62μs 1.78ns 6.9ns 0.0362 0 0 2.65 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.17μs 3.11ns 12ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.53μs 1.02ns 3.8ns 0.0254 0 0 1.91 KB
#3356 EnrichedLog net472 3.19μs 1.21ns 4.51ns 0.298 0 0 1.88 KB
#3356 EnrichedLog netcoreapp3.1 2.4μs 0.805ns 3.01ns 0.0252 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 150μs 108ns 418ns 0.679 0.226 0 4.72 KB
master EnrichedLog netcoreapp3.1 119μs 200ns 748ns 0.0598 0 0 4.55 KB
#3356 EnrichedLog net472 150μs 94.4ns 365ns 0.679 0.226 0 4.72 KB
#3356 EnrichedLog netcoreapp3.1 120μs 110ns 425ns 0.0596 0 0 4.55 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.84μs 2.25ns 8.1ns 0.579 0.00291 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.85μs 1.92ns 7.2ns 0.0528 0 0 3.98 KB
#3356 EnrichedLog net472 5.75μs 1.78ns 6.67ns 0.579 0.00288 0 3.65 KB
#3356 EnrichedLog netcoreapp3.1 4.41μs 12.6ns 48.7ns 0.0525 0 0 3.98 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.21μs 2.8ns 10.8ns 0.226 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.78μs 0.801ns 3ns 0.0187 0 0 1.37 KB
#3356 SendReceive net472 2.25μs 0.939ns 3.51ns 0.225 0 0 1.42 KB
#3356 SendReceive netcoreapp3.1 1.84μs 0.549ns 1.98ns 0.0186 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.06μs 2.71ns 10.2ns 0.364 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.21μs 1.98ns 7.41ns 0.0253 0 0 1.86 KB
#3356 EnrichedLog net472 5.07μs 2.13ns 8.27ns 0.364 0 0 2.3 KB
#3356 EnrichedLog netcoreapp3.1 4.29μs 2.13ns 7.95ns 0.0256 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.15μs 0.632ns 2.45ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 940ns 0.362ns 1.4ns 0.0108 0 0 808 B
master StartFinishScope net472 1.41μs 0.744ns 2.78ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.12μs 0.304ns 1.18ns 0.0122 0 0 928 B
#3356 StartFinishSpan net472 1.11μs 0.436ns 1.69ns 0.136 0 0 859 B
#3356 StartFinishSpan netcoreapp3.1 986ns 0.468ns 1.81ns 0.0112 0 0 808 B
#3356 StartFinishScope net472 1.49μs 0.457ns 1.71ns 0.149 0 0 939 B
#3356 StartFinishScope netcoreapp3.1 1.12μs 0.327ns 1.26ns 0.0124 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.54μs 0.538ns 2.08ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.11μs 0.391ns 1.46ns 0.0127 0 0 928 B
#3356 RunOnMethodBegin net472 1.46μs 0.609ns 2.36ns 0.149 0 0 939 B
#3356 RunOnMethodBegin netcoreapp3.1 1.1μs 1.06ns 4.11ns 0.0125 0 0 928 B

andrewlock avatar Oct 24 '22 09:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3356 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 804μs 701ns 2.72μs 0.403 0 0 3.21 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 537μs 256ns 957ns 0 0 0 2.63 KB
#3356 WriteAndFlushEnrichedTraces net472 824μs 525ns 2.03μs 0.411 0 0 3.22 KB
#3356 WriteAndFlushEnrichedTraces netcoreapp3.1 546μs 208ns 778ns 0 0 0 2.63 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 188ns 0.0728ns 0.262ns 0.0701 9.45E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 240ns 0.223ns 0.864ns 0.00593 0 0 440 B
master AllCycleMoreComplexBody net472 180ns 0.0703ns 0.272ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 237ns 0.0917ns 0.355ns 0.00572 0 0 416 B
master BodyExtractorSimpleBody net472 281ns 0.308ns 1.19ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 237ns 0.0888ns 0.32ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.7μs 13.2ns 51.2ns 1.21 0.0156 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 3.17ns 11.4ns 0.0942 0 0 6.75 KB
#3356 AllCycleSimpleBody net472 183ns 0.0776ns 0.29ns 0.0701 9.33E-05 0 441 B
#3356 AllCycleSimpleBody netcoreapp3.1 243ns 0.153ns 0.594ns 0.00602 0 0 440 B
#3356 AllCycleMoreComplexBody net472 182ns 0.0542ns 0.203ns 0.0663 0 0 417 B
#3356 AllCycleMoreComplexBody netcoreapp3.1 242ns 0.485ns 1.88ns 0.0057 0 0 416 B
#3356 BodyExtractorSimpleBody net472 299ns 0.403ns 1.56ns 0.0572 0 0 361 B
#3356 BodyExtractorSimpleBody netcoreapp3.1 237ns 0.167ns 0.625ns 0.00383 0 0 272 B
#3356 BodyExtractorMoreComplexBody net472 15.7μs 12.3ns 47.8ns 1.21 0.0156 0 7.62 KB
#3356 BodyExtractorMoreComplexBody netcoreapp3.1 12.9μs 6.62ns 24.8ns 0.0898 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 180μs 196ns 734ns 0.179 0 0 20.66 KB
#3356 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3356 SendRequest netcoreapp3.1 180μs 184ns 712ns 0.182 0 0 20.66 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.78μs 0.41ns 1.59ns 0.158 0.000892 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.4μs 0.668ns 2.5ns 0.0132 0 0 984 B
#3356 ExecuteNonQuery net472 1.8μs 0.338ns 1.27ns 0.158 0.000912 0 995 B
#3356 ExecuteNonQuery netcoreapp3.1 1.44μs 0.339ns 1.27ns 0.0137 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.59μs 3.54ns 13.2ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.56μs 0.849ns 3.18ns 0.0156 0 0 1.14 KB
master CallElasticsearchAsync net472 2.59μs 2.55ns 9.19ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.61μs 2.77ns 10.4ns 0.0173 0 0 1.26 KB
#3356 CallElasticsearch net472 2.55μs 2.31ns 8.63ns 0.191 0 0 1.2 KB
#3356 CallElasticsearch netcoreapp3.1 1.47μs 0.764ns 2.75ns 0.0155 0 0 1.14 KB
#3356 CallElasticsearchAsync net472 2.56μs 2.03ns 7.88ns 0.212 0 0 1.34 KB
#3356 CallElasticsearchAsync netcoreapp3.1 1.6μs 0.404ns 1.46ns 0.0168 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.68μs 1.87ns 7.25ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.72μs 2.64ns 10.2ns 0.0189 0 0 1.39 KB
#3356 ExecuteAsync net472 2.62μs 0.744ns 2.78ns 0.232 0 0 1.47 KB
#3356 ExecuteAsync netcoreapp3.1 1.74μs 0.525ns 2.03ns 0.0183 0 0 1.39 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.9μs 15.1ns 54.4ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.83μs 22.3ns 193ns 0.0367 0 0 2.65 KB
#3356 SendAsync net472 5.89μs 3.18ns 12.3ns 0.446 0 0 2.82 KB
#3356 SendAsync netcoreapp3.1 3.54μs 1.32ns 5.13ns 0.0354 0 0 2.65 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.07μs 3.26ns 12.6ns 0.297 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.47μs 2.46ns 9.51ns 0.0261 0 0 1.91 KB
#3356 EnrichedLog net472 3.21μs 3.24ns 12.6ns 0.298 0 0 1.88 KB
#3356 EnrichedLog netcoreapp3.1 2.43μs 0.928ns 3.34ns 0.0255 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 151μs 131ns 506ns 0.681 0.227 0 4.72 KB
master EnrichedLog netcoreapp3.1 120μs 159ns 617ns 0 0 0 4.55 KB
#3356 EnrichedLog net472 151μs 112ns 434ns 0.678 0.226 0 4.72 KB
#3356 EnrichedLog netcoreapp3.1 120μs 197ns 762ns 0.0599 0 0 4.55 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.72μs 2.25ns 8.13ns 0.58 0.00286 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.68μs 1.45ns 5.42ns 0.0537 0 0 3.98 KB
#3356 EnrichedLog net472 5.64μs 1.84ns 6.63ns 0.578 0.00282 0 3.65 KB
#3356 EnrichedLog netcoreapp3.1 4.46μs 1.06ns 3.66ns 0.0535 0 0 3.98 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.33μs 4.07ns 15.2ns 0.226 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.74μs 0.903ns 3.5ns 0.0182 0 0 1.37 KB
#3356 SendReceive net472 2.29μs 2.1ns 8.13ns 0.225 0 0 1.42 KB
#3356 SendReceive netcoreapp3.1 1.78μs 1.48ns 5.72ns 0.0186 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.92μs 2.7ns 10.5ns 0.364 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.36μs 2.29ns 8.56ns 0.0261 0 0 1.86 KB
#3356 EnrichedLog net472 5.01μs 4.36ns 16.9ns 0.364 0 0 2.3 KB
#3356 EnrichedLog netcoreapp3.1 4.24μs 1.45ns 5.43ns 0.0233 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.27μs 2.46ns 15ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 963ns 0.447ns 1.67ns 0.0106 0 0 808 B
master StartFinishScope net472 1.4μs 0.543ns 2.03ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.04μs 1.01ns 3.92ns 0.0124 0 0 928 B
#3356 StartFinishSpan net472 1.2μs 0.261ns 0.941ns 0.136 0 0 859 B
#3356 StartFinishSpan netcoreapp3.1 981ns 2.63ns 9.83ns 0.0111 0 0 808 B
#3356 StartFinishScope net472 1.35μs 0.923ns 3.58ns 0.149 0 0 939 B
#3356 StartFinishScope netcoreapp3.1 1.08μs 2.63ns 9.83ns 0.0122 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.5μs 0.413ns 1.54ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.15μs 0.46ns 1.72ns 0.0127 0 0 928 B
#3356 RunOnMethodBegin net472 1.48μs 0.951ns 3.56ns 0.149 0 0 939 B
#3356 RunOnMethodBegin netcoreapp3.1 1.19μs 0.666ns 2.4ns 0.0125 0 0 928 B

andrewlock avatar Oct 24 '22 15:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3356 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.134
  • 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 #3356

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.134 606,594.68 535,090.67

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 797μs 705ns 2.73μs 0.396 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 607μs 488ns 1.83μs 0 0 0 2.63 KB
#3356 WriteAndFlushEnrichedTraces net472 795μs 602ns 2.33μs 0.398 0 0 3.22 KB
#3356 WriteAndFlushEnrichedTraces netcoreapp3.1 535μs 212ns 820ns 0 0 0 2.62 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 182ns 0.0355ns 0.123ns 0.0701 9.15E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 242ns 0.167ns 0.625ns 0.00605 0 0 440 B
master AllCycleMoreComplexBody net472 182ns 0.103ns 0.397ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 238ns 0.107ns 0.414ns 0.00571 0 0 416 B
master BodyExtractorSimpleBody net472 287ns 0.34ns 1.27ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 239ns 0.541ns 2.1ns 0.00364 0 0 272 B
master BodyExtractorMoreComplexBody net472 16μs 14.8ns 55.5ns 1.21 0.0159 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 8.53ns 31.9ns 0.0924 0 0 6.75 KB
#3356 AllCycleSimpleBody net472 183ns 0.0897ns 0.324ns 0.0701 9.3E-05 0 441 B
#3356 AllCycleSimpleBody netcoreapp3.1 246ns 1.22ns 5.17ns 0.00606 0 0 440 B
#3356 AllCycleMoreComplexBody net472 180ns 0.0734ns 0.254ns 0.0663 0 0 417 B
#3356 AllCycleMoreComplexBody netcoreapp3.1 237ns 0.256ns 0.992ns 0.0057 0 0 416 B
#3356 BodyExtractorSimpleBody net472 281ns 0.249ns 0.93ns 0.0574 0 0 361 B
#3356 BodyExtractorSimpleBody netcoreapp3.1 237ns 0.112ns 0.435ns 0.00369 0 0 272 B
#3356 BodyExtractorMoreComplexBody net472 15.8μs 17ns 66ns 1.21 0.0158 0 7.62 KB
#3356 BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 4.02ns 15.6ns 0.0869 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 152ns 571ns 0.262 0 0 20.44 KB
#3356 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3356 SendRequest netcoreapp3.1 175μs 182ns 658ns 0.261 0 0 20.44 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.75μs 0.763ns 2.85ns 0.157 0.000875 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.38μs 1.28ns 4.79ns 0.0131 0 0 984 B
#3356 ExecuteNonQuery net472 1.81μs 0.674ns 2.43ns 0.157 0.000909 0 995 B
#3356 ExecuteNonQuery netcoreapp3.1 1.41μs 0.411ns 1.59ns 0.0134 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.63μs 1.44ns 5.58ns 0.191 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.51μs 0.744ns 2.88ns 0.0159 0 0 1.14 KB
master CallElasticsearchAsync net472 2.6μs 1.89ns 7.09ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.66μs 0.969ns 3.75ns 0.0174 0 0 1.26 KB
#3356 CallElasticsearch net472 2.54μs 0.71ns 2.56ns 0.191 0 0 1.2 KB
#3356 CallElasticsearch netcoreapp3.1 1.6μs 10.9ns 101ns 0.0152 0 0 1.14 KB
#3356 CallElasticsearchAsync net472 2.62μs 3.19ns 12.3ns 0.213 0 0 1.34 KB
#3356 CallElasticsearchAsync netcoreapp3.1 1.66μs 0.69ns 2.58ns 0.0167 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.79μs 1.22ns 4.72ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.76μs 1.33ns 5.17ns 0.0185 0 0 1.39 KB
#3356 ExecuteAsync net472 2.72μs 1.86ns 7.2ns 0.232 0 0 1.47 KB
#3356 ExecuteAsync netcoreapp3.1 1.79μs 0.463ns 1.73ns 0.0188 0 0 1.39 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.89μs 1.76ns 6.57ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.61μs 1.02ns 3.82ns 0.0361 0 0 2.65 KB
#3356 SendAsync net472 5.88μs 2.71ns 9.76ns 0.445 0 0 2.82 KB
#3356 SendAsync netcoreapp3.1 3.69μs 1.42ns 5.3ns 0.035 0 0 2.65 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.18μs 1.83ns 6.84ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.52μs 3.19ns 12ns 0.0252 0 0 1.91 KB
#3356 EnrichedLog net472 3.09μs 1.89ns 7.32ns 0.297 0 0 1.88 KB
#3356 EnrichedLog netcoreapp3.1 2.4μs 1.47ns 5.5ns 0.0251 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 150μs 133ns 515ns 0.677 0.226 0 4.72 KB
master EnrichedLog netcoreapp3.1 119μs 128ns 496ns 0.0596 0 0 4.55 KB
#3356 EnrichedLog net472 152μs 74.7ns 279ns 0.678 0.226 0 4.72 KB
#3356 EnrichedLog netcoreapp3.1 121μs 113ns 424ns 0.06 0 0 4.55 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.77μs 3.26ns 12.6ns 0.578 0.00289 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.42μs 2.25ns 8.7ns 0.0529 0 0 3.98 KB
#3356 EnrichedLog net472 5.56μs 2.78ns 10.4ns 0.58 0.00278 0 3.65 KB
#3356 EnrichedLog netcoreapp3.1 4.44μs 1.4ns 5.24ns 0.0531 0 0 3.98 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.25μs 1.11ns 3.99ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.79μs 0.523ns 1.96ns 0.0187 0 0 1.37 KB
#3356 SendReceive net472 2.32μs 2.76ns 10.7ns 0.225 0 0 1.42 KB
#3356 SendReceive netcoreapp3.1 1.81μs 1.07ns 4.02ns 0.0188 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.17μs 3.66ns 13.7ns 0.362 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.04μs 1.28ns 4.95ns 0.0242 0 0 1.86 KB
#3356 EnrichedLog net472 5.06μs 1.72ns 6.64ns 0.363 0 0 2.3 KB
#3356 EnrichedLog netcoreapp3.1 4.25μs 1.71ns 6.62ns 0.0254 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.19μs 0.522ns 2.02ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 968ns 0.783ns 2.82ns 0.0107 0 0 808 B
master StartFinishScope net472 1.42μs 0.706ns 2.73ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.08μs 0.539ns 2.09ns 0.0122 0 0 928 B
#3356 StartFinishSpan net472 1.19μs 0.473ns 1.83ns 0.136 0 0 859 B
#3356 StartFinishSpan netcoreapp3.1 908ns 0.727ns 2.82ns 0.0108 0 0 808 B
#3356 StartFinishScope net472 1.44μs 0.502ns 1.81ns 0.149 0 0 939 B
#3356 StartFinishScope netcoreapp3.1 1.1μs 0.532ns 1.99ns 0.0127 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.47μs 0.447ns 1.67ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.16μs 0.487ns 1.76ns 0.0127 0 0 928 B
#3356 RunOnMethodBegin net472 1.5μs 7.28ns 29.1ns 0.149 0 0 939 B
#3356 RunOnMethodBegin netcoreapp3.1 1.22μs 7.01ns 54.7ns 0.0122 0 0 928 B

andrewlock avatar Oct 25 '22 15:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3356 compared to master:

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

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 794μs 554ns 2.07μs 0.396 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 529μs 152ns 570ns 0 0 0 2.62 KB
#3356 WriteAndFlushEnrichedTraces net472 792μs 319ns 1.19μs 0.396 0 0 3.22 KB
#3356 WriteAndFlushEnrichedTraces netcoreapp3.1 536μs 276ns 1.07μs 0 0 0 2.63 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 181ns 0.0805ns 0.301ns 0.0701 9.21E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 244ns 0.264ns 1.02ns 0.00601 0 0 440 B
master AllCycleMoreComplexBody net472 181ns 0.0587ns 0.212ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 238ns 0.164ns 0.637ns 0.00562 0 0 416 B
master BodyExtractorSimpleBody net472 281ns 0.157ns 0.586ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 235ns 0.127ns 0.474ns 0.00367 0 0 272 B
master BodyExtractorMoreComplexBody net472 16.2μs 13.5ns 52.1ns 1.21 0.0161 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 5.16ns 19.3ns 0.0931 0 0 6.75 KB
#3356 AllCycleSimpleBody net472 181ns 0.0281ns 0.101ns 0.0701 9.22E-05 0 441 B
#3356 AllCycleSimpleBody netcoreapp3.1 240ns 0.248ns 0.962ns 0.00606 0 0 440 B
#3356 AllCycleMoreComplexBody net472 180ns 0.0316ns 0.122ns 0.0662 0 0 417 B
#3356 AllCycleMoreComplexBody netcoreapp3.1 239ns 0.26ns 0.972ns 0.00566 0 0 416 B
#3356 BodyExtractorSimpleBody net472 287ns 0.184ns 0.664ns 0.0574 0 0 361 B
#3356 BodyExtractorSimpleBody netcoreapp3.1 247ns 0.196ns 0.76ns 0.00374 0 0 272 B
#3356 BodyExtractorMoreComplexBody net472 15.6μs 9.95ns 38.5ns 1.21 0.0157 0 7.62 KB
#3356 BodyExtractorMoreComplexBody netcoreapp3.1 12.5μs 2.68ns 10ns 0.0878 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 179μs 214ns 830ns 0.266 0 0 20.44 KB
#3356 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3356 SendRequest netcoreapp3.1 177μs 175ns 679ns 0.177 0 0 20.44 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.81μs 0.402ns 1.56ns 0.157 0.000904 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.47μs 0.528ns 1.9ns 0.0134 0 0 984 B
#3356 ExecuteNonQuery net472 1.75μs 0.523ns 2.02ns 0.158 0.000876 0 995 B
#3356 ExecuteNonQuery netcoreapp3.1 1.43μs 0.489ns 1.69ns 0.0136 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.43μs 1.38ns 5.16ns 0.19 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.56μs 0.807ns 3.13ns 0.0149 0 0 1.14 KB
master CallElasticsearchAsync net472 2.62μs 0.819ns 3.17ns 0.213 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.59μs 0.515ns 1.93ns 0.0168 0 0 1.26 KB
#3356 CallElasticsearch net472 2.58μs 1.03ns 3.87ns 0.191 0 0 1.2 KB
#3356 CallElasticsearch netcoreapp3.1 1.58μs 0.599ns 2.32ns 0.0149 0 0 1.14 KB
#3356 CallElasticsearchAsync net472 2.67μs 0.733ns 2.74ns 0.212 0 0 1.34 KB
#3356 CallElasticsearchAsync netcoreapp3.1 1.63μs 0.616ns 2.22ns 0.0172 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.66μs 1.17ns 4.22ns 0.233 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.79μs 0.512ns 1.85ns 0.0188 0 0 1.39 KB
#3356 ExecuteAsync net472 2.67μs 1.91ns 6.88ns 0.233 0 0 1.47 KB
#3356 ExecuteAsync netcoreapp3.1 1.74μs 1.39ns 5.36ns 0.0191 0 0 1.39 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.92μs 2.91ns 11.3ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.73μs 1.48ns 5.54ns 0.0353 0 0 2.65 KB
#3356 SendAsync net472 5.79μs 1.84ns 7.14ns 0.446 0 0 2.82 KB
#3356 SendAsync netcoreapp3.1 3.74μs 1.54ns 5.75ns 0.0357 0 0 2.65 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.15μs 2.64ns 10.2ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.54μs 1.18ns 4.43ns 0.0255 0 0 1.91 KB
#3356 EnrichedLog net472 3.21μs 2.93ns 11.3ns 0.297 0 0 1.88 KB
#3356 EnrichedLog netcoreapp3.1 2.48μs 2.08ns 7.19ns 0.026 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 152μs 123ns 444ns 0.689 0.23 0 4.72 KB
master EnrichedLog netcoreapp3.1 122μs 282ns 1.09μs 0.0598 0 0 4.55 KB
#3356 EnrichedLog net472 151μs 167ns 648ns 0.678 0.226 0 4.72 KB
#3356 EnrichedLog netcoreapp3.1 120μs 166ns 643ns 0.0595 0 0 4.55 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.76μs 1.57ns 5.88ns 0.578 0.00286 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.43μs 1.58ns 6.11ns 0.053 0 0 3.98 KB
#3356 EnrichedLog net472 5.65μs 2.74ns 10.6ns 0.58 0.00283 0 3.65 KB
#3356 EnrichedLog netcoreapp3.1 4.3μs 1.05ns 3.78ns 0.0541 0 0 3.98 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.36μs 1.59ns 6.15ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.74μs 1.48ns 5.74ns 0.0182 0 0 1.37 KB
#3356 SendReceive net472 2.28μs 2.89ns 11.2ns 0.226 0 0 1.42 KB
#3356 SendReceive netcoreapp3.1 1.83μs 0.639ns 2.3ns 0.0183 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.07μs 2.14ns 8.27ns 0.364 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.13μs 3.64ns 14.1ns 0.0247 0 0 1.86 KB
#3356 EnrichedLog net472 4.86μs 2.21ns 8.26ns 0.363 0 0 2.3 KB
#3356 EnrichedLog netcoreapp3.1 4.12μs 1.76ns 6.34ns 0.0246 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.14μs 1.82ns 6.83ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 961ns 0.366ns 1.37ns 0.0107 0 0 808 B
master StartFinishScope net472 1.46μs 1.45ns 5.6ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.18μs 5.34ns 20.7ns 0.0124 0 0 928 B
#3356 StartFinishSpan net472 1.18μs 0.366ns 1.37ns 0.136 0 0 859 B
#3356 StartFinishSpan netcoreapp3.1 934ns 0.255ns 0.956ns 0.0112 0 0 808 B
#3356 StartFinishScope net472 1.46μs 0.577ns 2.23ns 0.149 0 0 939 B
#3356 StartFinishScope netcoreapp3.1 1.1μs 0.234ns 0.907ns 0.0127 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.52μs 0.497ns 1.86ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.14μs 0.393ns 1.42ns 0.0127 0 0 928 B
#3356 RunOnMethodBegin net472 1.49μs 0.506ns 1.89ns 0.149 0 0 939 B
#3356 RunOnMethodBegin netcoreapp3.1 1.19μs 1.02ns 3.82ns 0.0125 0 0 928 B

andrewlock avatar Oct 25 '22 17:10 andrewlock

Code Coverage Report :bar_chart:

:warning: Merging #3356 into master will will decrease line coverage by 3% :warning: Merging #3356 into master will will decrease branch coverage by 4% :no_entry: Merging #3356 into master will will increase complexity by 30

master #3356 Change
Lines 19624 / 27126 18729 / 27153
Lines % 72% 69% -3% :warning:
Branches 11626 / 16802 10925 / 16832
Branches % 69% 65% -4% :warning:
Complexity 18192 18222 30 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :warning:

master #3356 Change
Lines % 72% 69% -3% :warning:
Branches % 69% 65% -4% :warning:
Complexity 18192 18222 30 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ExceptionHandlerExtensions_HandleAsync_Integration -100% :no_entry: -100% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ThreadContext_AssociateWithCurrentThread_Integration -100% :no_entry: -100% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ThreadContext_DisassociateFromCurrentThread_Integration -100% :no_entry: -100% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.AspNetResourceNameHelper -100% :no_entry: -97% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.NLog.DirectSubmission.Formatting.LogEntry -100% :no_entry: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.NLog.DirectSubmission.Formatting.NLogDatadogLogEvent -100% :no_entry: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ApiController_ExecuteAsync_Integration -97% :no_entry: -88% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.AspNet.SharedItems -96% :no_entry: -88% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.NLog.DirectSubmission.DirectSubmissionNLogTarget -96% :no_entry: -62% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.AppSec.ControllerContextExtensions -95% :no_entry: -100% :no_entry: 0 :heavy_check_mark:
...And 27 more

View the full reports for further details:

andrewlock avatar Oct 25 '22 17:10 andrewlock

Benchmarks Report :snail:

Benchmarks for #3356 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 789μs 561ns 2.1μs 0.396 0 0 3.22 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 567μs 263ns 984ns 0 0 0 2.63 KB
#3356 WriteAndFlushEnrichedTraces net472 803μs 455ns 1.7μs 0.398 0 0 3.22 KB
#3356 WriteAndFlushEnrichedTraces netcoreapp3.1 528μs 335ns 1.3μs 0 0 0 2.62 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 182ns 0.0298ns 0.108ns 0.0701 9.23E-05 0 441 B
master AllCycleSimpleBody netcoreapp3.1 243ns 0.284ns 1.06ns 0.00602 0 0 440 B
master AllCycleMoreComplexBody net472 181ns 0.0465ns 0.18ns 0.0663 0 0 417 B
master AllCycleMoreComplexBody netcoreapp3.1 237ns 0.107ns 0.386ns 0.00558 0 0 416 B
master BodyExtractorSimpleBody net472 303ns 0.201ns 0.78ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 233ns 0.171ns 0.663ns 0.00364 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.8μs 11.2ns 41.9ns 1.21 0.0158 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 11.7ns 43.9ns 0.0866 0 0 6.75 KB
#3356 AllCycleSimpleBody net472 182ns 0.0338ns 0.117ns 0.0701 9.13E-05 0 441 B
#3356 AllCycleSimpleBody netcoreapp3.1 241ns 0.107ns 0.415ns 0.00603 0 0 440 B
#3356 AllCycleMoreComplexBody net472 182ns 0.1ns 0.375ns 0.0662 0 0 417 B
#3356 AllCycleMoreComplexBody netcoreapp3.1 238ns 0.0726ns 0.272ns 0.00561 0 0 416 B
#3356 BodyExtractorSimpleBody net472 303ns 0.5ns 1.94ns 0.0573 0 0 361 B
#3356 BodyExtractorSimpleBody netcoreapp3.1 243ns 0.614ns 2.38ns 0.00356 0 0 272 B
#3356 BodyExtractorMoreComplexBody net472 16μs 14.7ns 56.8ns 1.2 0.0159 0 7.62 KB
#3356 BodyExtractorMoreComplexBody netcoreapp3.1 12.2μs 5.8ns 21.7ns 0.0855 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 177μs 160ns 618ns 0.266 0 0 20.44 KB
#3356 SendRequest net472 0.00348ns 0.00234ns 0.00874ns 0 0 0 0 b
#3356 SendRequest netcoreapp3.1 178μs 270ns 1.04μs 0.177 0 0 20.44 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.76μs 0.535ns 2ns 0.158 0.00088 0 995 B
master ExecuteNonQuery netcoreapp3.1 1.42μs 1.27ns 4.74ns 0.0135 0 0 984 B
#3356 ExecuteNonQuery net472 1.82μs 0.651ns 2.52ns 0.158 0.000906 0 995 B
#3356 ExecuteNonQuery netcoreapp3.1 1.43μs 0.561ns 2.17ns 0.0129 0 0 984 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.56μs 0.905ns 3.39ns 0.19 0 0 1.2 KB
master CallElasticsearch netcoreapp3.1 1.47μs 0.558ns 2.16ns 0.0154 0 0 1.14 KB
master CallElasticsearchAsync net472 2.63μs 1.57ns 6.09ns 0.212 0 0 1.34 KB
master CallElasticsearchAsync netcoreapp3.1 1.58μs 0.593ns 2.22ns 0.0174 0 0 1.26 KB
#3356 CallElasticsearch net472 2.48μs 0.814ns 3.05ns 0.191 0 0 1.2 KB
#3356 CallElasticsearch netcoreapp3.1 1.55μs 0.362ns 1.31ns 0.0156 0 0 1.14 KB
#3356 CallElasticsearchAsync net472 2.59μs 0.551ns 2.13ns 0.213 0 0 1.34 KB
#3356 CallElasticsearchAsync netcoreapp3.1 1.62μs 0.428ns 1.6ns 0.0171 0 0 1.26 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.73μs 2.42ns 9.36ns 0.232 0 0 1.47 KB
master ExecuteAsync netcoreapp3.1 1.75μs 1.14ns 4.26ns 0.0194 0 0 1.39 KB
#3356 ExecuteAsync net472 2.74μs 2.16ns 8.38ns 0.232 0 0 1.47 KB
#3356 ExecuteAsync netcoreapp3.1 1.7μs 0.895ns 3.35ns 0.0188 0 0 1.39 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.8μs 3.29ns 12.7ns 0.447 0 0 2.82 KB
master SendAsync netcoreapp3.1 3.73μs 2.49ns 9.3ns 0.0355 0 0 2.65 KB
#3356 SendAsync net472 5.85μs 4.13ns 16ns 0.446 0 0 2.82 KB
#3356 SendAsync netcoreapp3.1 3.68μs 1.73ns 6.69ns 0.035 0 0 2.65 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.05μs 3.45ns 12.9ns 0.298 0 0 1.88 KB
master EnrichedLog netcoreapp3.1 2.43μs 1.76ns 6.57ns 0.026 0 0 1.91 KB
#3356 EnrichedLog net472 3.19μs 3.17ns 12.3ns 0.297 0 0 1.88 KB
#3356 EnrichedLog netcoreapp3.1 2.58μs 0.806ns 3.02ns 0.0258 0 0 1.91 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 150μs 138ns 516ns 0.749 0.225 0 4.72 KB
master EnrichedLog netcoreapp3.1 119μs 168ns 650ns 0 0 0 4.55 KB
#3356 EnrichedLog net472 150μs 113ns 439ns 0.746 0.224 0 4.72 KB
#3356 EnrichedLog netcoreapp3.1 119μs 237ns 916ns 0.0596 0 0 4.55 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.73μs 1.82ns 6.83ns 0.578 0.00289 0 3.65 KB
master EnrichedLog netcoreapp3.1 4.43μs 3.28ns 12.7ns 0.0529 0 0 3.98 KB
#3356 EnrichedLog net472 5.85μs 2.47ns 9.23ns 0.577 0.00293 0 3.65 KB
#3356 EnrichedLog netcoreapp3.1 4.46μs 2.18ns 8.15ns 0.0533 0 0 3.98 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.33μs 2.55ns 9.88ns 0.225 0 0 1.42 KB
master SendReceive netcoreapp3.1 1.76μs 0.436ns 1.51ns 0.0185 0 0 1.37 KB
#3356 SendReceive net472 2.21μs 3.17ns 12.3ns 0.225 0 0 1.42 KB
#3356 SendReceive netcoreapp3.1 1.76μs 0.769ns 2.88ns 0.0186 0 0 1.37 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.08μs 1.35ns 4.87ns 0.363 0 0 2.3 KB
master EnrichedLog netcoreapp3.1 4.29μs 1.2ns 4.65ns 0.0235 0 0 1.86 KB
#3356 EnrichedLog net472 5.01μs 1.45ns 5.42ns 0.363 0 0 2.3 KB
#3356 EnrichedLog netcoreapp3.1 4.26μs 2.54ns 9.5ns 0.0255 0 0 1.86 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.19μs 0.223ns 0.836ns 0.136 0 0 859 B
master StartFinishSpan netcoreapp3.1 989ns 0.614ns 2.38ns 0.0105 0 0 808 B
master StartFinishScope net472 1.37μs 1.16ns 4.48ns 0.149 0 0 939 B
master StartFinishScope netcoreapp3.1 1.09μs 0.379ns 1.47ns 0.0126 0 0 928 B
#3356 StartFinishSpan net472 1.14μs 0.384ns 1.44ns 0.136 0 0 859 B
#3356 StartFinishSpan netcoreapp3.1 1.01μs 0.355ns 1.33ns 0.0106 0 0 808 B
#3356 StartFinishScope net472 1.36μs 0.352ns 1.36ns 0.149 0 0 939 B
#3356 StartFinishScope netcoreapp3.1 1.1μs 0.468ns 1.75ns 0.0126 0 0 928 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.37μs 0.688ns 2.67ns 0.149 0 0 939 B
master RunOnMethodBegin netcoreapp3.1 1.17μs 0.385ns 1.44ns 0.0128 0 0 928 B
#3356 RunOnMethodBegin net472 1.45μs 0.452ns 1.69ns 0.149 0 0 939 B
#3356 RunOnMethodBegin netcoreapp3.1 1.2μs 0.349ns 1.35ns 0.0126 0 0 928 B

andrewlock avatar Oct 25 '22 22:10 andrewlock

Code Coverage Report :bar_chart:

:heavy_check_mark: Merging #3356 into master will will increase line coverage by 1% :heavy_check_mark: Merging #3356 into master will not change branch coverage :no_entry: Merging #3356 into master will will increase complexity by 34

master #3356 Change
Lines 18769 / 27153 19165 / 27203
Lines % 69% 70% 1% :heavy_check_mark:
Branches 10933 / 16832 10996 / 16866
Branches % 65% 65% 0% :heavy_check_mark:
Complexity 18222 18256 34 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #3356 Change
Lines % 69% 70% 1% :heavy_check_mark:
Branches % 65% 65% 0% :heavy_check_mark:
Complexity 18222 18256 34 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Agent.TraceSamplers.AnalyticsEventsSampler -100% :no_entry: -100% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Agent.TraceSamplers.ErrorSampler -100% :no_entry: -100% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Agent.TraceSamplers.PrioritySampler -100% :no_entry: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Sampling.GlobalSamplingRule -100% :no_entry: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Agent.TraceSamplers.RareSampler -89% :no_entry: -96% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Util.SamplingHelpers -50% :no_entry: -50% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Telemetry.Transports.JsonTelemetryTransport -33% :no_entry: -42% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Logging.DirectSubmission.DirectLogSubmissionManager -33% :no_entry: -33% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Logging.DirectSubmission.Sink.NullDatadogSink -25% :no_entry: 0% :heavy_check_mark: 0 :heavy_check_mark:
Datadog.Trace.Processors.NormalizerTraceProcessor -22% :no_entry: -19% :no_entry: 0 :heavy_check_mark:
...And 30 more

The following classes were added in #3356:

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

2 classes were removed from Datadog.Trace in #3356

View the full reports for further details:

andrewlock avatar Oct 26 '22 09:10 andrewlock