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

[Tracer] Ignore more assemblies and don't resend them all at each run

Open pierotibou opened this issue 2 years ago • 8 comments

Summary of changes

Ignore assembly names like ℛ*fe48e1c0-b9fb-433d-a781-5f0f0b6555e4#2-0 as there were 6000 of them. Also do not resend all assemblies at each run.

Reason for change

There was a misunderstanding with R&P, we need to send them once, not resend the whole package every time. We'll need to do the same for config and integrations.

Implementation details

For the update, rebuild a ConcurrentDictionnary at each upload.

Test coverage

Added 2 test cases

Other details

pierotibou avatar Jul 11 '22 08:07 pierotibou

Benchmarks Report :snail:

Benchmarks for #2966 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.350
  • 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 728μs 511ns 1.98μs 0.361 0 0 3.16 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 459μs 229ns 827ns 0 0 0 2.57 KB
#2966 WriteAndFlushEnrichedTraces net472 719μs 832ns 3.22μs 0.361 0 0 3.16 KB
#2966 WriteAndFlushEnrichedTraces netcoreapp3.1 461μs 358ns 1.34μs 0 0 0 2.57 KB
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #2966

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 1.350 2,356.91 1,746.02

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 2.36μs 3.65ns 13.7ns 0.235 0 0 1.48 KB
master AllCycleSimpleBody netcoreapp3.1 1.88μs 5.5ns 21.3ns 0.0183 0 0 1.36 KB
master AllCycleMoreComplexBody net472 17.3μs 33.7ns 121ns 1.39 0.0171 0 8.74 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.2μs 25.4ns 95.1ns 0.106 0 0 7.84 KB
master BodyExtractorSimpleBody net472 258ns 0.785ns 3.04ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 235ns 0.238ns 0.923ns 0.00378 0 0 272 B
master BodyExtractorMoreComplexBody net472 15μs 18ns 67.4ns 1.21 0.0148 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 28.4ns 110ns 0.0912 0 0 6.75 KB
#2966 AllCycleSimpleBody net472 1.75μs 2.61ns 9.78ns 0.236 0 0 1.48 KB
#2966 AllCycleSimpleBody netcoreapp3.1 1.8μs 3.41ns 12.3ns 0.0187 0 0 1.36 KB
#2966 AllCycleMoreComplexBody net472 16.9μs 43.5ns 168ns 1.39 0.025 0 8.74 KB
#2966 AllCycleMoreComplexBody netcoreapp3.1 14μs 28.1ns 105ns 0.106 0 0 7.84 KB
#2966 BodyExtractorSimpleBody net472 266ns 0.591ns 2.29ns 0.0573 0 0 361 B
#2966 BodyExtractorSimpleBody netcoreapp3.1 231ns 0.902ns 3.49ns 0.00365 0 0 272 B
#2966 BodyExtractorMoreComplexBody net472 15.4μs 37.9ns 147ns 1.2 0.0153 0 7.62 KB
#2966 BodyExtractorMoreComplexBody netcoreapp3.1 11.8μs 14.5ns 54.3ns 0.0885 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 174μs 138ns 517ns 0.174 0 0 19.86 KB
#2966 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2966 SendRequest netcoreapp3.1 172μs 188ns 727ns 0.258 0 0 19.86 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.46μs 0.762ns 2.95ns 0.115 0.000731 0 722 B
master ExecuteNonQuery netcoreapp3.1 1.19μs 0.495ns 1.85ns 0.0101 0 0 752 B
#2966 ExecuteNonQuery net472 1.46μs 0.468ns 1.81ns 0.114 0.000737 0 722 B
#2966 ExecuteNonQuery netcoreapp3.1 1.24μs 0.489ns 1.9ns 0.00989 0 0 752 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.11μs 3.08ns 11.9ns 0.148 0 0 931 B
master CallElasticsearch netcoreapp3.1 1.31μs 2.04ns 7.89ns 0.0125 0 0 912 B
master CallElasticsearchAsync net472 2.36μs 3.52ns 13.2ns 0.169 0 0 1.07 KB
master CallElasticsearchAsync netcoreapp3.1 1.48μs 1.36ns 5.28ns 0.0141 0 0 1.03 KB
#2966 CallElasticsearch net472 2.08μs 2.59ns 10ns 0.147 0 0 931 B
#2966 CallElasticsearch netcoreapp3.1 1.41μs 1.21ns 4.7ns 0.0119 0 0 912 B
#2966 CallElasticsearchAsync net472 2.2μs 2.94ns 11ns 0.169 0 0 1.07 KB
#2966 CallElasticsearchAsync netcoreapp3.1 1.5μs 0.825ns 3.09ns 0.0142 0 0 1.03 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.26μs 4.59ns 17.8ns 0.188 0 0 1.19 KB
master ExecuteAsync netcoreapp3.1 1.47μs 2.61ns 10.1ns 0.0154 0 0 1.15 KB
#2966 ExecuteAsync net472 2.22μs 6.12ns 23.7ns 0.188 0 0 1.19 KB
#2966 ExecuteAsync netcoreapp3.1 1.51μs 2.31ns 8.63ns 0.0151 0 0 1.15 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 4.7μs 11.4ns 41ns 0.38 0 0 2.41 KB
master SendAsync netcoreapp3.1 3.22μs 5.13ns 19.9ns 0.0307 0 0 2.33 KB
#2966 SendAsync net472 4.68μs 10.9ns 42.1ns 0.382 0 0 2.41 KB
#2966 SendAsync netcoreapp3.1 3.31μs 7.56ns 29.3ns 0.0314 0 0 2.33 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.73μs 3.69ns 14.3ns 0.25 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 2.34μs 2.11ns 7.91ns 0.022 0 0 1.65 KB
#2966 EnrichedLog net472 2.68μs 1.34ns 5ns 0.251 0 0 1.58 KB
#2966 EnrichedLog netcoreapp3.1 2.22μs 0.803ns 3.11ns 0.0221 0 0 1.65 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 146μs 217ns 842ns 0.664 0.221 0 4.42 KB
master EnrichedLog netcoreapp3.1 111μs 205ns 793ns 0.0555 0 0 4.3 KB
#2966 EnrichedLog net472 150μs 88.2ns 341ns 0.668 0.223 0 4.42 KB
#2966 EnrichedLog netcoreapp3.1 113μs 149ns 578ns 0.0563 0 0 4.3 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.16μs 10.7ns 39.9ns 0.531 0.0026 0 3.35 KB
master EnrichedLog netcoreapp3.1 3.91μs 7.84ns 30.4ns 0.0507 0 0 3.72 KB
#2966 EnrichedLog net472 5.13μs 9.06ns 35.1ns 0.531 0.00255 0 3.35 KB
#2966 EnrichedLog netcoreapp3.1 4.08μs 8.46ns 31.6ns 0.0505 0 0 3.72 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 1.93μs 1.67ns 6.23ns 0.18 0 0 1.14 KB
master SendReceive netcoreapp3.1 1.56μs 1.09ns 4.23ns 0.0148 0 0 1.13 KB
#2966 SendReceive net472 1.97μs 0.987ns 3.82ns 0.181 0 0 1.14 KB
#2966 SendReceive netcoreapp3.1 1.63μs 0.935ns 3.37ns 0.0155 0 0 1.13 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.59μs 6.14ns 23ns 0.316 0 0 2 KB
master EnrichedLog netcoreapp3.1 4.04μs 3.77ns 14.6ns 0.0222 0 0 1.61 KB
#2966 EnrichedLog net472 4.63μs 4.32ns 16.7ns 0.316 0 0 2 KB
#2966 EnrichedLog netcoreapp3.1 4.01μs 4.6ns 17.8ns 0.0219 0 0 1.61 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 880ns 0.392ns 1.52ns 0.0928 0 0 586 B
master StartFinishSpan netcoreapp3.1 698ns 0.228ns 0.855ns 0.00771 0 0 576 B
master StartFinishScope net472 1.03μs 0.68ns 2.45ns 0.105 0 0 666 B
master StartFinishScope netcoreapp3.1 818ns 0.406ns 1.57ns 0.00949 0 0 696 B
#2966 StartFinishSpan net472 885ns 0.366ns 1.42ns 0.093 0 0 586 B
#2966 StartFinishSpan netcoreapp3.1 713ns 0.331ns 1.24ns 0.00771 0 0 576 B
#2966 StartFinishScope net472 1.08μs 0.693ns 2.69ns 0.106 0 0 666 B
#2966 StartFinishScope netcoreapp3.1 809ns 0.274ns 0.989ns 0.00936 0 0 696 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.28μs 0.679ns 2.54ns 0.106 0 0 666 B
master RunOnMethodBegin netcoreapp3.1 978ns 0.243ns 0.942ns 0.00931 0 0 696 B
#2966 RunOnMethodBegin net472 1.27μs 0.518ns 2ns 0.106 0 0 666 B
#2966 RunOnMethodBegin netcoreapp3.1 971ns 0.485ns 1.82ns 0.00923 0 0 696 B

andrewlock avatar Jul 11 '22 09:07 andrewlock

Code Coverage Report :bar_chart:

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

master #2966 Change
Lines 15065 / 20488 15027 / 20486
Lines % 74% 73% 0% :heavy_check_mark:
Branches 9157 / 12972 9161 / 12982
Branches % 71% 71% 0% :heavy_check_mark:
Complexity 13845 13854 9 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #2966 Change
Lines % 74% 73% 0% :heavy_check_mark:
Branches % 71% 71% 0% :heavy_check_mark:
Complexity 13845 13854 9 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Ci.GitInfo -17% :no_entry: -11% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Ci.CIVisibility 7% :heavy_check_mark: 7% :heavy_check_mark: 0 :heavy_check_mark:

View the full reports for further details:

andrewlock avatar Jul 11 '22 09:07 andrewlock

I initially thought this implementation would be sufficient, but actually I don't think it will be. With this design we will still send duplicate assemblies if there are multiple domains. We still have the global uniqueness requirement, so maybe something like this would work:

private readonly ConcurrentDictionary<DependencyTelemetryData, bool> _allAssemblies = new();
private ConcurrentBag<DependencyTelemetryData> _currentAssemblies = new();

internal void AssemblyLoaded(AssemblyName assembly)
{
    // ...
    if(_allAssemblies.TryAdd(key, true))
    {
        _currentAssemblies.TryAdd(key))
    }
}

public ICollection<DependencyTelemetryData> GetData()
{
    var assemblies = Interlocked.Exchange(ref _currentAssemblies , new ConcurrentBag<DependencyTelemetryData>());
    // ...
}

Also this will break all the integration test telemetry checks I expect, so they will need updating too.

Never ever use ConcurrentBag without a compelling use-case and setting up some benchmarks. Please use ConcurrentQueue instead 🙂

kevingosse avatar Jul 11 '22 09:07 kevingosse

Benchmarks Report :snail:

Benchmarks for #2966 compared to master:

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

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 715μs 276ns 1.07μs 0.355 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 482μs 337ns 1.3μs 0 0 0 2.58 KB
#2966 WriteAndFlushEnrichedTraces net472 713μs 444ns 1.72μs 0.353 0 0 3.18 KB
#2966 WriteAndFlushEnrichedTraces netcoreapp3.1 453μs 144ns 559ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.65μs 1.52ns 5.89ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.84μs 1.45ns 5.82ns 0.0182 0 0 1.37 KB
master AllCycleMoreComplexBody net472 17.3μs 15.4ns 59.5ns 1.38 0.0248 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.1μs 10.6ns 41.1ns 0.106 0 0 7.85 KB
master BodyExtractorSimpleBody net472 255ns 0.23ns 0.859ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 222ns 0.259ns 1ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 16μs 93.7ns 828ns 1.21 0.0155 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 11.7μs 18.8ns 67.9ns 0.0879 0 0 6.75 KB
#2966 AllCycleSimpleBody net472 1.67μs 1.07ns 3.99ns 0.236 0 0 1.49 KB
#2966 AllCycleSimpleBody netcoreapp3.1 1.76μs 2.81ns 10.5ns 0.0185 0 0 1.37 KB
#2966 AllCycleMoreComplexBody net472 16.6μs 15.2ns 58.7ns 1.38 0.0249 0 8.75 KB
#2966 AllCycleMoreComplexBody netcoreapp3.1 14.3μs 12.1ns 46.9ns 0.108 0 0 7.85 KB
#2966 BodyExtractorSimpleBody net472 251ns 0.185ns 0.692ns 0.0573 0 0 361 B
#2966 BodyExtractorSimpleBody netcoreapp3.1 229ns 0.235ns 0.878ns 0.0037 0 0 272 B
#2966 BodyExtractorMoreComplexBody net472 14.7μs 11.9ns 46.1ns 1.21 0.0147 0 7.62 KB
#2966 BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 20.1ns 77.9ns 0.0906 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 94.3ns 340ns 0.268 0 0 20.37 KB
#2966 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2966 SendRequest netcoreapp3.1 180μs 125ns 468ns 0.268 0 0 20.38 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.57μs 0.492ns 1.91ns 0.126 0.000793 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.27μs 0.461ns 1.6ns 0.011 0 0 824 B
#2966 ExecuteNonQuery net472 1.58μs 0.51ns 1.97ns 0.125 0.000794 0 794 B
#2966 ExecuteNonQuery netcoreapp3.1 1.3μs 0.537ns 2.01ns 0.0111 0 0 824 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.15μs 3.6ns 13.5ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.37μs 1.09ns 4.08ns 0.0132 0 0 984 B
master CallElasticsearchAsync net472 2.34μs 3.28ns 12.7ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.48μs 1.79ns 6.72ns 0.0147 0 0 1.1 KB
#2966 CallElasticsearch net472 2.23μs 1.74ns 6.74ns 0.159 0 0 1 KB
#2966 CallElasticsearch netcoreapp3.1 1.42μs 1.64ns 6.14ns 0.0135 0 0 984 B
#2966 CallElasticsearchAsync net472 2.27μs 2.37ns 9.17ns 0.18 0 0 1.14 KB
#2966 CallElasticsearchAsync netcoreapp3.1 1.43μs 1.63ns 6.1ns 0.015 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.44μs 8.84ns 34.2ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.57μs 1.59ns 6.15ns 0.0166 0 0 1.22 KB
#2966 ExecuteAsync net472 2.48μs 4.86ns 18.8ns 0.199 0 0 1.26 KB
#2966 ExecuteAsync netcoreapp3.1 1.61μs 1.56ns 5.84ns 0.017 0 0 1.22 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 4.95μs 7.27ns 26.2ns 0.393 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.37μs 2.7ns 10.5ns 0.032 0 0 2.4 KB
#2966 SendAsync net472 4.95μs 7.18ns 27.8ns 0.392 0 0 2.48 KB
#2966 SendAsync netcoreapp3.1 3.5μs 4.14ns 16ns 0.0331 0 0 2.4 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.8μs 0.836ns 3.13ns 0.264 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.28μs 1.85ns 6.93ns 0.0228 0 0 1.73 KB
#2966 EnrichedLog net472 2.75μs 1.75ns 6.79ns 0.264 0 0 1.66 KB
#2966 EnrichedLog netcoreapp3.1 2.43μs 0.863ns 3.34ns 0.0232 0 0 1.73 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 146μs 113ns 437ns 0.665 0.222 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 100ns 389ns 0.0566 0 0 4.38 KB
#2966 EnrichedLog net472 147μs 52.7ns 183ns 0.664 0.221 0 4.5 KB
#2966 EnrichedLog netcoreapp3.1 111μs 153ns 593ns 0.0556 0 0 4.38 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.33μs 7.85ns 30.4ns 0.543 0.00265 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.43μs 2.88ns 10.8ns 0.0516 0 0 3.8 KB
#2966 EnrichedLog net472 5.34μs 6.39ns 23.1ns 0.543 0.00268 0 3.43 KB
#2966 EnrichedLog netcoreapp3.1 4.21μs 4.56ns 17ns 0.0506 0 0 3.8 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.04μs 1.39ns 5.39ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.61μs 2.35ns 8.47ns 0.0161 0 0 1.21 KB
#2966 SendReceive net472 2.04μs 0.889ns 3.44ns 0.193 0 0 1.22 KB
#2966 SendReceive netcoreapp3.1 1.73μs 1.71ns 6.6ns 0.0161 0 0 1.21 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.66μs 5.28ns 19.8ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.17μs 6.61ns 25.6ns 0.0228 0 0 1.69 KB
#2966 EnrichedLog net472 4.53μs 5.36ns 20.1ns 0.328 0 0 2.08 KB
#2966 EnrichedLog netcoreapp3.1 4.12μs 3.74ns 14.5ns 0.0227 0 0 1.69 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 777ns 0.309ns 1.16ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 782ns 0.295ns 1.1ns 0.00863 0 0 648 B
master StartFinishScope net472 1.09μs 0.461ns 1.78ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 949ns 0.371ns 1.34ns 0.0104 0 0 768 B
#2966 StartFinishSpan net472 803ns 0.406ns 1.52ns 0.104 0 0 658 B
#2966 StartFinishSpan netcoreapp3.1 726ns 1.63ns 6.11ns 0.0087 0 0 648 B
#2966 StartFinishScope net472 1.05μs 0.504ns 1.95ns 0.117 0 0 738 B
#2966 StartFinishScope netcoreapp3.1 929ns 0.435ns 1.57ns 0.0102 0 0 768 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.23μs 6.49ns 35ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.03μs 5.21ns 34.6ns 0.0106 0 0 768 B
#2966 RunOnMethodBegin net472 1.21μs 0.391ns 1.46ns 0.117 0 0 738 B
#2966 RunOnMethodBegin netcoreapp3.1 1.08μs 0.266ns 0.958ns 0.0102 0 0 768 B

andrewlock avatar Aug 01 '22 11:08 andrewlock

Code Coverage Report :bar_chart:

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

master #2966 Change
Lines 16837 / 22853 16835 / 22860
Lines % 74% 74% 0% :heavy_check_mark:
Branches 10034 / 14174 10051 / 14194
Branches % 71% 71% 0% :heavy_check_mark:
Complexity 15236 15256 20 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #2966 Change
Lines % 74% 74% 0% :heavy_check_mark:
Branches % 71% 71% 0% :heavy_check_mark:
Complexity 15236 15256 20 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Ci.CIVisibility 7% :heavy_check_mark: 7% :heavy_check_mark: 0 :heavy_check_mark:

View the full reports for further details:

andrewlock avatar Aug 01 '22 12:08 andrewlock

Benchmarks Report :snail:

Benchmarks for #2966 compared to master:

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

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 715μs 276ns 1.07μs 0.355 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 482μs 337ns 1.3μs 0 0 0 2.58 KB
#2966 WriteAndFlushEnrichedTraces net472 713μs 579ns 2.24μs 0.353 0 0 3.18 KB
#2966 WriteAndFlushEnrichedTraces netcoreapp3.1 460μs 164ns 635ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 1.65μs 1.52ns 5.89ns 0.237 0 0 1.49 KB
master AllCycleSimpleBody netcoreapp3.1 1.84μs 1.45ns 5.82ns 0.0182 0 0 1.37 KB
master AllCycleMoreComplexBody net472 17.3μs 15.4ns 59.5ns 1.38 0.0248 0 8.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 14.1μs 10.6ns 41.1ns 0.106 0 0 7.85 KB
master BodyExtractorSimpleBody net472 255ns 0.23ns 0.859ns 0.0574 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 222ns 0.259ns 1ns 0.0037 0 0 272 B
master BodyExtractorMoreComplexBody net472 16μs 93.7ns 828ns 1.21 0.0155 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 11.7μs 18.8ns 67.9ns 0.0879 0 0 6.75 KB
#2966 AllCycleSimpleBody net472 1.81μs 2.26ns 8.74ns 0.237 0 0 1.49 KB
#2966 AllCycleSimpleBody netcoreapp3.1 1.76μs 2.85ns 11ns 0.0185 0 0 1.37 KB
#2966 AllCycleMoreComplexBody net472 16.7μs 12.1ns 46.9ns 1.39 0.0249 0 8.75 KB
#2966 AllCycleMoreComplexBody netcoreapp3.1 14.2μs 17.9ns 66.8ns 0.106 0 0 7.85 KB
#2966 BodyExtractorSimpleBody net472 252ns 0.268ns 1.04ns 0.0574 0 0 361 B
#2966 BodyExtractorSimpleBody netcoreapp3.1 210ns 0.274ns 1.06ns 0.00378 0 0 272 B
#2966 BodyExtractorMoreComplexBody net472 14.9μs 10.2ns 39.3ns 1.2 0.015 0 7.62 KB
#2966 BodyExtractorMoreComplexBody netcoreapp3.1 11.8μs 7.92ns 29.6ns 0.0938 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 179μs 94.3ns 340ns 0.268 0 0 20.37 KB
#2966 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2966 SendRequest netcoreapp3.1 179μs 210ns 815ns 0.266 0 0 20.37 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.57μs 0.492ns 1.91ns 0.126 0.000793 0 794 B
master ExecuteNonQuery netcoreapp3.1 1.27μs 0.461ns 1.6ns 0.011 0 0 824 B
#2966 ExecuteNonQuery net472 1.55μs 0.447ns 1.61ns 0.126 0.000777 0 794 B
#2966 ExecuteNonQuery netcoreapp3.1 1.28μs 0.838ns 3.25ns 0.0108 0 0 824 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.15μs 3.6ns 13.5ns 0.159 0 0 1 KB
master CallElasticsearch netcoreapp3.1 1.37μs 1.09ns 4.08ns 0.0132 0 0 984 B
master CallElasticsearchAsync net472 2.34μs 3.28ns 12.7ns 0.181 0 0 1.14 KB
master CallElasticsearchAsync netcoreapp3.1 1.48μs 1.79ns 6.72ns 0.0147 0 0 1.1 KB
#2966 CallElasticsearch net472 2.17μs 1.38ns 5.36ns 0.159 0 0 1 KB
#2966 CallElasticsearch netcoreapp3.1 1.38μs 0.844ns 3.16ns 0.0133 0 0 984 B
#2966 CallElasticsearchAsync net472 2.46μs 1.66ns 6.22ns 0.18 0 0 1.14 KB
#2966 CallElasticsearchAsync netcoreapp3.1 1.44μs 1.15ns 4.45ns 0.0152 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.44μs 8.84ns 34.2ns 0.2 0 0 1.26 KB
master ExecuteAsync netcoreapp3.1 1.57μs 1.59ns 6.15ns 0.0166 0 0 1.22 KB
#2966 ExecuteAsync net472 2.44μs 1.57ns 6.08ns 0.199 0 0 1.26 KB
#2966 ExecuteAsync netcoreapp3.1 1.62μs 0.974ns 3.77ns 0.0163 0 0 1.22 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 4.95μs 7.27ns 26.2ns 0.393 0 0 2.48 KB
master SendAsync netcoreapp3.1 3.37μs 2.7ns 10.5ns 0.032 0 0 2.4 KB
#2966 SendAsync net472 5.05μs 1.76ns 6.83ns 0.394 0 0 2.48 KB
#2966 SendAsync netcoreapp3.1 3.44μs 1.34ns 5ns 0.0328 0 0 2.4 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 2.8μs 0.836ns 3.13ns 0.264 0 0 1.66 KB
master EnrichedLog netcoreapp3.1 2.28μs 1.85ns 6.93ns 0.0228 0 0 1.73 KB
#2966 EnrichedLog net472 2.84μs 0.769ns 2.88ns 0.264 0 0 1.66 KB
#2966 EnrichedLog netcoreapp3.1 2.32μs 3.31ns 12.8ns 0.0228 0 0 1.73 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 146μs 113ns 437ns 0.665 0.222 0 4.5 KB
master EnrichedLog netcoreapp3.1 113μs 100ns 389ns 0.0566 0 0 4.38 KB
#2966 EnrichedLog net472 147μs 114ns 441ns 0.663 0.221 0 4.5 KB
#2966 EnrichedLog netcoreapp3.1 111μs 224ns 866ns 0.0558 0 0 4.38 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.33μs 7.85ns 30.4ns 0.543 0.00265 0 3.43 KB
master EnrichedLog netcoreapp3.1 4.43μs 2.88ns 10.8ns 0.0516 0 0 3.8 KB
#2966 EnrichedLog net472 5.38μs 1.12ns 4.19ns 0.546 0.00269 0 3.43 KB
#2966 EnrichedLog netcoreapp3.1 4.34μs 1.54ns 5.96ns 0.052 0 0 3.8 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.04μs 1.39ns 5.39ns 0.193 0 0 1.22 KB
master SendReceive netcoreapp3.1 1.61μs 2.35ns 8.47ns 0.0161 0 0 1.21 KB
#2966 SendReceive net472 2.02μs 0.976ns 3.78ns 0.193 0 0 1.22 KB
#2966 SendReceive netcoreapp3.1 1.71μs 0.989ns 3.83ns 0.0161 0 0 1.21 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 4.66μs 5.28ns 19.8ns 0.33 0 0 2.08 KB
master EnrichedLog netcoreapp3.1 4.17μs 6.61ns 25.6ns 0.0228 0 0 1.69 KB
#2966 EnrichedLog net472 4.62μs 7.46ns 28.9ns 0.329 0 0 2.08 KB
#2966 EnrichedLog netcoreapp3.1 4.16μs 2.33ns 9.04ns 0.0227 0 0 1.69 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 777ns 0.309ns 1.16ns 0.104 0 0 658 B
master StartFinishSpan netcoreapp3.1 782ns 0.295ns 1.1ns 0.00863 0 0 648 B
master StartFinishScope net472 1.09μs 0.461ns 1.78ns 0.117 0 0 738 B
master StartFinishScope netcoreapp3.1 949ns 0.371ns 1.34ns 0.0104 0 0 768 B
#2966 StartFinishSpan net472 792ns 0.261ns 1.01ns 0.104 0 0 658 B
#2966 StartFinishSpan netcoreapp3.1 738ns 0.236ns 0.85ns 0.00885 0 0 648 B
#2966 StartFinishScope net472 1.05μs 0.323ns 1.25ns 0.117 0 0 738 B
#2966 StartFinishScope netcoreapp3.1 903ns 0.352ns 1.27ns 0.0105 0 0 768 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.23μs 6.49ns 35ns 0.117 0 0 738 B
master RunOnMethodBegin netcoreapp3.1 1.03μs 5.21ns 34.6ns 0.0106 0 0 768 B
#2966 RunOnMethodBegin net472 1.23μs 0.546ns 1.97ns 0.117 0 0 738 B
#2966 RunOnMethodBegin netcoreapp3.1 1.04μs 0.358ns 1.39ns 0.0103 0 0 768 B

andrewlock avatar Aug 01 '22 16:08 andrewlock

Code Coverage Report :bar_chart:

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

master #2966 Change
Lines 16802 / 22853 16757 / 22859
Lines % 74% 73% 0% :heavy_check_mark:
Branches 10014 / 14174 10016 / 14190
Branches % 71% 71% 0% :heavy_check_mark:
Complexity 15236 15252 16 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #2966 Change
Lines % 74% 73% 0% :heavy_check_mark:
Branches % 71% 71% 0% :heavy_check_mark:
Complexity 15236 15252 16 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Ci.GitInfo -17% :no_entry: -11% :no_entry: 0 :heavy_check_mark:
Datadog.Trace.Ci.CIVisibility 7% :heavy_check_mark: 7% :heavy_check_mark: 0 :heavy_check_mark:

View the full reports for further details:

andrewlock avatar Aug 01 '22 17:08 andrewlock

Was a test.

pierotibou avatar Aug 11 '22 13:08 pierotibou

Benchmarks Report :snail:

Benchmarks for #2966 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 717μs 600ns 2.32μs 0.361 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 476μs 150ns 539ns 0 0 0 2.58 KB
#2966 WriteAndFlushEnrichedTraces net472 713μs 381ns 1.42μs 0.357 0 0 3.18 KB
#2966 WriteAndFlushEnrichedTraces netcoreapp3.1 478μs 115ns 432ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 213ns 0.118ns 0.456ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 251ns 0.385ns 1.49ns 0.00585 0 0 424 B
master AllCycleMoreComplexBody net472 212ns 0.0923ns 0.346ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 250ns 0.22ns 0.851ns 0.00541 0 0 400 B
master BodyExtractorSimpleBody net472 278ns 0.0937ns 0.338ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 233ns 0.247ns 0.923ns 0.00372 0 0 272 B
master BodyExtractorMoreComplexBody net472 15.8μs 14.6ns 56.7ns 1.21 0.0158 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 12.4μs 4.22ns 15.2ns 0.0931 0 0 6.75 KB
#2966 AllCycleSimpleBody net472 199ns 0.0373ns 0.129ns 0.0675 0 0 425 B
#2966 AllCycleSimpleBody netcoreapp3.1 256ns 0.136ns 0.525ns 0.00585 0 0 424 B
#2966 AllCycleMoreComplexBody net472 202ns 0.234ns 0.875ns 0.0638 0 0 401 B
#2966 AllCycleMoreComplexBody netcoreapp3.1 258ns 0.296ns 1.14ns 0.00544 0 0 400 B
#2966 BodyExtractorSimpleBody net472 279ns 0.221ns 0.766ns 0.0574 0 0 361 B
#2966 BodyExtractorSimpleBody netcoreapp3.1 225ns 0.108ns 0.404ns 0.00362 0 0 272 B
#2966 BodyExtractorMoreComplexBody net472 15.9μs 14.4ns 55.7ns 1.21 0.0158 0 7.62 KB
#2966 BodyExtractorMoreComplexBody netcoreapp3.1 12.1μs 5.68ns 22ns 0.0902 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 181μs 296ns 1.15μs 0.27 0 0 20.6 KB
#2966 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#2966 SendRequest netcoreapp3.1 179μs 224ns 869ns 0.268 0 0 20.58 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.85μs 5.97ns 22.3ns 0.15 0 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.46μs 0.564ns 2.19ns 0.0124 0 0 936 B
#2966 ExecuteNonQuery net472 1.77μs 0.621ns 2.41ns 0.15 0.000884 0 947 B
#2966 ExecuteNonQuery netcoreapp3.1 1.43μs 3.45ns 12.9ns 0.0127 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.69μs 1.15ns 4.15ns 0.182 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.52μs 1.04ns 3.88ns 0.0145 0 0 1.1 KB
master CallElasticsearchAsync net472 2.8μs 1.53ns 5.71ns 0.204 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.66μs 1.73ns 6.47ns 0.0165 0 0 1.22 KB
#2966 CallElasticsearch net472 2.64μs 1.59ns 5.74ns 0.184 0 0 1.16 KB
#2966 CallElasticsearch netcoreapp3.1 1.53μs 0.646ns 2.42ns 0.0146 0 0 1.1 KB
#2966 CallElasticsearchAsync net472 2.69μs 2.19ns 8.48ns 0.205 0 0 1.29 KB
#2966 CallElasticsearchAsync netcoreapp3.1 1.69μs 0.475ns 1.71ns 0.0169 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.86μs 2ns 7.48ns 0.225 0 0 1.42 KB
master ExecuteAsync netcoreapp3.1 1.82μs 1.09ns 4.08ns 0.0184 0 0 1.34 KB
#2966 ExecuteAsync net472 2.84μs 2.56ns 9.57ns 0.224 0 0 1.42 KB
#2966 ExecuteAsync netcoreapp3.1 1.8μs 1.02ns 3.82ns 0.018 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.88μs 3.85ns 14.9ns 0.438 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.83μs 1.96ns 7.05ns 0.0348 0 0 2.6 KB
#2966 SendAsync net472 5.86μs 2.84ns 11ns 0.44 0 0 2.77 KB
#2966 SendAsync netcoreapp3.1 3.57μs 1.33ns 4.78ns 0.0356 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.16μs 4.33ns 16.8ns 0.288 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.57μs 1.37ns 5.11ns 0.0255 0 0 1.85 KB
#2966 EnrichedLog net472 3.12μs 2.05ns 7.93ns 0.287 0 0 1.81 KB
#2966 EnrichedLog netcoreapp3.1 2.55μs 1.56ns 6.04ns 0.0256 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 152μs 133ns 515ns 0.687 0.229 0 4.66 KB
master EnrichedLog netcoreapp3.1 117μs 262ns 979ns 0.0587 0 0 4.5 KB
#2966 EnrichedLog net472 150μs 129ns 500ns 0.678 0.226 0 4.66 KB
#2966 EnrichedLog netcoreapp3.1 118μs 211ns 816ns 0.0586 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 6.03μs 2.22ns 8.59ns 0.57 0.00302 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.42μs 2.2ns 8.51ns 0.0527 0 0 3.91 KB
#2966 EnrichedLog net472 5.91μs 2.89ns 11.2ns 0.568 0.00296 0 3.59 KB
#2966 EnrichedLog netcoreapp3.1 4.44μs 2.42ns 9.35ns 0.0534 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.25μs 1.91ns 7.16ns 0.217 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.78μs 0.714ns 2.57ns 0.018 0 0 1.32 KB
#2966 SendReceive net472 2.28μs 2.57ns 9.95ns 0.217 0 0 1.37 KB
#2966 SendReceive netcoreapp3.1 1.85μs 0.727ns 2.81ns 0.0176 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.1μs 1.32ns 4.77ns 0.353 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.17μs 2.14ns 8.03ns 0.023 0 0 1.8 KB
#2966 EnrichedLog net472 4.91μs 1.89ns 7.33ns 0.354 0 0 2.23 KB
#2966 EnrichedLog netcoreapp3.1 4.29μs 3.29ns 12.7ns 0.0234 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.18μs 0.506ns 1.82ns 0.129 0 0 810 B
master StartFinishSpan netcoreapp3.1 907ns 0.497ns 1.93ns 0.0101 0 0 760 B
master StartFinishScope net472 1.46μs 1.32ns 5.13ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.04μs 0.489ns 1.89ns 0.0119 0 0 880 B
#2966 StartFinishSpan net472 1.18μs 0.901ns 3.49ns 0.129 0 0 810 B
#2966 StartFinishSpan netcoreapp3.1 969ns 0.359ns 1.39ns 0.0102 0 0 760 B
#2966 StartFinishScope net472 1.44μs 0.577ns 2.23ns 0.141 0 0 891 B
#2966 StartFinishScope netcoreapp3.1 1.1μs 0.448ns 1.73ns 0.0122 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.53μs 0.659ns 2.47ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.18μs 0.755ns 2.82ns 0.0118 0 0 880 B
#2966 RunOnMethodBegin net472 1.52μs 1.47ns 5.71ns 0.141 0 0 891 B
#2966 RunOnMethodBegin netcoreapp3.1 1.16μs 0.318ns 1.23ns 0.0117 0 0 880 B

andrewlock avatar Sep 22 '22 11:09 andrewlock

Code Coverage Report :bar_chart:

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

master #2966 Change
Lines 18002 / 24930 18032 / 24950
Lines % 72% 72% 0% :heavy_check_mark:
Branches 10484 / 15274 10516 / 15302
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 16497 16527 30 :no_entry:

View the full report for further details:

Datadog.Trace Breakdown :heavy_check_mark:

master #2966 Change
Lines % 72% 72% 0% :heavy_check_mark:
Branches % 69% 69% 0% :heavy_check_mark:
Complexity 16497 16527 30 :no_entry:

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Agent.Transports.HttpStreamRequest -3% :warning: -8% :no_entry: 3 :no_entry:

View the full reports for further details:

andrewlock avatar Sep 22 '22 13:09 andrewlock