[Dynamic Instrumentation] DEBUG-2356 3rd party detection Include\exclude for SymDB
Summary of changes
Use the config keys to include or exclude modules in the 3rd party detection for uploading to SymDB.
Reason for change
We want to let the user refine the 3rd party code detection by using configuration keys to override the default behavior and include modules in the detection or doing the opposite.
Datadog Report
Branch report: dudik/symDB-includes
Commit report: 07d9b96
Test service: dd-trace-dotnet
:white_check_mark: 0 Failed, 353503 Passed, 2274 Skipped, 22h 16m 9.45s Total Time
Execution-Time Benchmarks Report :stopwatch:
Execution-time results for samples comparing the following branches/commits:
Execution-time benchmarks measure the whole time it takes to execute a program. And are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are shown in red. The following thresholds were used for comparing the execution times:
- Welch test with statistical test for significance of 5%
- Only results indicating a difference greater than 5% and 5 ms are considered.
Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard.
Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph).
gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5681) - mean (75ms) : 66, 84
. : milestone, 75,
master - mean (74ms) : 63, 85
. : milestone, 74,
section CallTarget+Inlining+NGEN
This PR (5681) - mean (1,021ms) : 996, 1047
. : milestone, 1021,
master - mean (1,019ms) : 997, 1040
. : milestone, 1019,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5681) - mean (110ms) : 107, 112
. : milestone, 110,
master - mean (109ms) : 107, 112
. : milestone, 109,
section CallTarget+Inlining+NGEN
This PR (5681) - mean (708ms) : 684, 732
. : milestone, 708,
master - mean (706ms) : 685, 728
. : milestone, 706,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5681) - mean (93ms) : 89, 97
. : milestone, 93,
master - mean (93ms) : 89, 96
. : milestone, 93,
section CallTarget+Inlining+NGEN
This PR (5681) - mean (667ms) : 646, 687
. : milestone, 667,
master - mean (665ms) : 644, 687
. : milestone, 665,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5681) - mean (191ms) : 188, 193
. : milestone, 191,
master - mean (191ms) : 188, 194
. : milestone, 191,
section CallTarget+Inlining+NGEN
This PR (5681) - mean (1,109ms) : 1087, 1131
. : milestone, 1109,
master - mean (1,116ms) : 1090, 1141
. : milestone, 1116,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5681) - mean (276ms) : 270, 281
. : milestone, 276,
master - mean (275ms) : 271, 280
. : milestone, 275,
section CallTarget+Inlining+NGEN
This PR (5681) - mean (885ms) : 859, 911
. : milestone, 885,
master - mean (879ms) : 849, 909
. : milestone, 879,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5681) - mean (263ms) : 260, 267
. : milestone, 263,
master - mean (265ms) : 259, 271
. : milestone, 265,
section CallTarget+Inlining+NGEN
This PR (5681) - mean (864ms) : 836, 891
. : milestone, 864,
master - mean (863ms) : 842, 885
. : milestone, 863,
Throughput/Crank Report:zap:
Throughput results for AspNetCoreSimpleController comparing the following branches/commits:
Cases where throughput results for the PR are worse than latest master (5% drop or greater), results are shown in red.
Note that these results are based on a single point-in-time result for each branch. For full results, see one of the many, many dashboards!
gantt
title Throughput Linux x64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (5681) (12.043M) : 0, 12042958
master (11.956M) : 0, 11956052
benchmarks/2.9.0 (11.967M) : 0, 11966853
section Automatic
This PR (5681) (7.772M) : 0, 7771834
master (8.134M) : 0, 8133534
benchmarks/2.9.0 (8.405M) : 0, 8404892
section Trace stats
master (8.463M) : 0, 8462714
section Manual
This PR (5681) (10.111M) : 0, 10110660
master (10.444M) : 0, 10443993
section Manual + Automatic
This PR (5681) (7.439M) : 0, 7438999
master (7.695M) : 0, 7694938
section Version Conflict
master (6.851M) : 0, 6850859
gantt
title Throughput Linux arm64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (5681) (9.535M) : 0, 9535321
master (9.502M) : 0, 9502331
benchmarks/2.9.0 (9.255M) : 0, 9255366
section Automatic
This PR (5681) (6.626M) : 0, 6626452
master (6.589M) : 0, 6589204
section Trace stats
master (6.630M) : 0, 6630265
section Manual
This PR (5681) (8.271M) : 0, 8271180
master (8.176M) : 0, 8176343
section Manual + Automatic
This PR (5681) (6.108M) : 0, 6107528
master (6.047M) : 0, 6047122
section Version Conflict
master (5.500M) : 0, 5500346
gantt
title Throughput Windows x64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (5681) (9.897M) : 0, 9896738
master (10.201M) : 0, 10201473
benchmarks/2.9.0 (10.302M) : 0, 10302396
section Automatic
This PR (5681) (7.026M) : 0, 7025853
master (7.200M) : 0, 7200433
benchmarks/2.9.0 (7.635M) : 0, 7634994
section Trace stats
master (7.395M) : 0, 7395068
section Manual
This PR (5681) (8.919M) : 0, 8919112
master (9.027M) : 0, 9026978
section Manual + Automatic
This PR (5681) (6.849M) : 0, 6849354
master (6.888M) : 0, 6888149
section Version Conflict
master (6.270M) : 0, 6269938
Benchmarks Report for tracer :snail:
Benchmarks for #5681 compared to master:
- 1 benchmarks are slower, with geometric mean 1.142
- 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.ActivityBenchmark - Slower :warning: Same allocations :heavy_check_mark:
Slower :warning: in #5681
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472
1.142
16,503.92
18,855.02
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StartStopWithChild |
net6.0 | 7.8μs | 44.1ns | 292ns | 0.0153 | 0.00763 | 0 | 5.42 KB |
| master | StartStopWithChild |
netcoreapp3.1 | 10.2μs | 56.6ns | 339ns | 0.0242 | 0.00968 | 0 | 5.62 KB |
| master | StartStopWithChild |
net472 | 16.5μs | 65.1ns | 252ns | 1.01 | 0.296 | 0.0821 | 6.07 KB |
| #5681 | StartStopWithChild |
net6.0 | 7.86μs | 44.3ns | 310ns | 0.0117 | 0.00389 | 0 | 5.43 KB |
| #5681 | StartStopWithChild |
netcoreapp3.1 | 10.1μs | 50.8ns | 249ns | 0.0152 | 0.00506 | 0 | 5.62 KB |
| #5681 | StartStopWithChild |
net472 | 18.9μs | 93.5ns | 599ns | 1.02 | 0.325 | 0.0861 | 6.07 KB |
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 |
net6.0 | 495μs | 218ns | 846ns | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 641μs | 159ns | 596ns | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 820μs | 205ns | 795ns | 0.408 | 0 | 0 | 3.3 KB |
| #5681 | WriteAndFlushEnrichedTraces |
net6.0 | 492μs | 81.3ns | 304ns | 0 | 0 | 0 | 2.7 KB |
| #5681 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 631μs | 249ns | 932ns | 0 | 0 | 0 | 2.7 KB |
| #5681 | WriteAndFlushEnrichedTraces |
net472 | 821μs | 337ns | 1.26μs | 0.408 | 0 | 0 | 3.3 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 |
net6.0 | 172μs | 123ns | 474ns | 0.258 | 0 | 0 | 18.45 KB |
| master | SendRequest |
netcoreapp3.1 | 189μs | 213ns | 824ns | 0.189 | 0 | 0 | 20.61 KB |
| master | SendRequest |
net472 | 0.000438ns | 0.000248ns | 0.00096ns | 0 | 0 | 0 | 0 b |
| #5681 | SendRequest |
net6.0 | 171μs | 237ns | 917ns | 0.171 | 0 | 0 | 18.45 KB |
| #5681 | SendRequest |
netcoreapp3.1 | 194μs | 235ns | 910ns | 0.193 | 0 | 0 | 20.61 KB |
| #5681 | SendRequest |
net472 | 0ns | 0ns | 0ns | 0 | 0 | 0 | 0 b |
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed :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 |
net6.0 | 553μs | 277ns | 1.07μs | 0.541 | 0 | 0 | 41.63 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 655μs | 981ns | 3.8μs | 0.327 | 0 | 0 | 41.71 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 836μs | 4.08μs | 16.3μs | 8.08 | 2.55 | 0.425 | 53.23 KB |
| #5681 | WriteAndFlushEnrichedTraces |
net6.0 | 557μs | 441ns | 1.71μs | 0.551 | 0 | 0 | 41.75 KB |
| #5681 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 649μs | 1.52μs | 5.88μs | 0.322 | 0 | 0 | 41.6 KB |
| #5681 | WriteAndFlushEnrichedTraces |
net472 | 837μs | 3.46μs | 12.9μs | 8.28 | 2.48 | 0.414 | 53.24 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 |
net6.0 | 1.19μs | 0.592ns | 2.29ns | 0.0144 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
netcoreapp3.1 | 1.76μs | 0.639ns | 2.47ns | 0.0132 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
net472 | 1.99μs | 3.31ns | 12.4ns | 0.157 | 0 | 0 | 987 B |
| #5681 | ExecuteNonQuery |
net6.0 | 1.21μs | 0.794ns | 3.08ns | 0.0139 | 0 | 0 | 1.02 KB |
| #5681 | ExecuteNonQuery |
netcoreapp3.1 | 1.64μs | 0.407ns | 1.52ns | 0.0139 | 0 | 0 | 1.02 KB |
| #5681 | ExecuteNonQuery |
net472 | 1.91μs | 0.689ns | 2.67ns | 0.156 | 0 | 0 | 987 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 |
net6.0 | 1.3μs | 6.71ns | 37.9ns | 0.0138 | 0 | 0 | 976 B |
| master | CallElasticsearch |
netcoreapp3.1 | 1.58μs | 2.33ns | 9.01ns | 0.0134 | 0 | 0 | 976 B |
| master | CallElasticsearch |
net472 | 2.52μs | 0.964ns | 3.61ns | 0.157 | 0 | 0 | 995 B |
| master | CallElasticsearchAsync |
net6.0 | 1.34μs | 0.738ns | 2.86ns | 0.0135 | 0 | 0 | 952 B |
| master | CallElasticsearchAsync |
netcoreapp3.1 | 1.64μs | 0.727ns | 2.82ns | 0.014 | 0 | 0 | 1.02 KB |
| master | CallElasticsearchAsync |
net472 | 2.63μs | 1.71ns | 6.62ns | 0.167 | 0 | 0 | 1.05 KB |
| #5681 | CallElasticsearch |
net6.0 | 1.19μs | 1.07ns | 4.13ns | 0.0139 | 0 | 0 | 976 B |
| #5681 | CallElasticsearch |
netcoreapp3.1 | 1.52μs | 1.01ns | 3.77ns | 0.013 | 0 | 0 | 976 B |
| #5681 | CallElasticsearch |
net472 | 2.6μs | 0.718ns | 2.69ns | 0.157 | 0 | 0 | 995 B |
| #5681 | CallElasticsearchAsync |
net6.0 | 1.24μs | 0.301ns | 1.13ns | 0.013 | 0 | 0 | 952 B |
| #5681 | CallElasticsearchAsync |
netcoreapp3.1 | 1.56μs | 0.953ns | 3.57ns | 0.0134 | 0 | 0 | 1.02 KB |
| #5681 | CallElasticsearchAsync |
net472 | 2.71μs | 1.34ns | 5.21ns | 0.167 | 0 | 0 | 1.05 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 |
net6.0 | 1.26μs | 0.581ns | 2.25ns | 0.0134 | 0 | 0 | 952 B |
| master | ExecuteAsync |
netcoreapp3.1 | 1.6μs | 0.768ns | 2.97ns | 0.0128 | 0 | 0 | 952 B |
| master | ExecuteAsync |
net472 | 1.75μs | 1.4ns | 5.04ns | 0.145 | 0 | 0 | 915 B |
| #5681 | ExecuteAsync |
net6.0 | 1.14μs | 0.515ns | 1.99ns | 0.0133 | 0 | 0 | 952 B |
| #5681 | ExecuteAsync |
netcoreapp3.1 | 1.56μs | 1.16ns | 4.36ns | 0.0124 | 0 | 0 | 952 B |
| #5681 | ExecuteAsync |
net472 | 1.77μs | 0.646ns | 2.42ns | 0.145 | 0 | 0 | 915 B |
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 |
net6.0 | 4.01μs | 1ns | 3.88ns | 0.03 | 0 | 0 | 2.22 KB |
| master | SendAsync |
netcoreapp3.1 | 5.04μs | 2.26ns | 8.77ns | 0.0376 | 0 | 0 | 2.76 KB |
| master | SendAsync |
net472 | 7.56μs | 2.53ns | 9.46ns | 0.498 | 0 | 0 | 3.15 KB |
| #5681 | SendAsync |
net6.0 | 4.08μs | 2.59ns | 10ns | 0.0309 | 0 | 0 | 2.22 KB |
| #5681 | SendAsync |
netcoreapp3.1 | 5.14μs | 2.24ns | 8.4ns | 0.0386 | 0 | 0 | 2.76 KB |
| #5681 | SendAsync |
net472 | 7.63μs | 2.11ns | 8.17ns | 0.497 | 0 | 0 | 3.15 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 |
net6.0 | 1.56μs | 0.775ns | 3ns | 0.0232 | 0 | 0 | 1.64 KB |
| master | EnrichedLog |
netcoreapp3.1 | 2.12μs | 1.87ns | 7.25ns | 0.0222 | 0 | 0 | 1.64 KB |
| master | EnrichedLog |
net472 | 2.5μs | 1.71ns | 6.4ns | 0.249 | 0 | 0 | 1.57 KB |
| #5681 | EnrichedLog |
net6.0 | 1.44μs | 0.526ns | 1.89ns | 0.023 | 0 | 0 | 1.64 KB |
| #5681 | EnrichedLog |
netcoreapp3.1 | 2.21μs | 1.72ns | 6.66ns | 0.0221 | 0 | 0 | 1.64 KB |
| #5681 | EnrichedLog |
net472 | 2.56μs | 0.882ns | 3.3ns | 0.249 | 0 | 0 | 1.57 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 |
net6.0 | 118μs | 210ns | 812ns | 0.0576 | 0 | 0 | 4.28 KB |
| master | EnrichedLog |
netcoreapp3.1 | 119μs | 91.2ns | 353ns | 0 | 0 | 0 | 4.28 KB |
| master | EnrichedLog |
net472 | 147μs | 92.8ns | 360ns | 0.658 | 0.219 | 0 | 4.46 KB |
| #5681 | EnrichedLog |
net6.0 | 114μs | 74.6ns | 289ns | 0.0571 | 0 | 0 | 4.28 KB |
| #5681 | EnrichedLog |
netcoreapp3.1 | 118μs | 104ns | 404ns | 0.0586 | 0 | 0 | 4.28 KB |
| #5681 | EnrichedLog |
net472 | 147μs | 57.6ns | 216ns | 0.66 | 0.22 | 0 | 4.46 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 |
net6.0 | 3.07μs | 1.48ns | 5.73ns | 0.0305 | 0 | 0 | 2.2 KB |
| master | EnrichedLog |
netcoreapp3.1 | 4.28μs | 1.23ns | 4.61ns | 0.0279 | 0 | 0 | 2.2 KB |
| master | EnrichedLog |
net472 | 4.76μs | 1.63ns | 6.3ns | 0.321 | 0 | 0 | 2.02 KB |
| #5681 | EnrichedLog |
net6.0 | 3.03μs | 0.834ns | 3.23ns | 0.0304 | 0 | 0 | 2.2 KB |
| #5681 | EnrichedLog |
netcoreapp3.1 | 4.29μs | 1.2ns | 4.47ns | 0.0299 | 0 | 0 | 2.2 KB |
| #5681 | EnrichedLog |
net472 | 4.69μs | 2.12ns | 8.2ns | 0.32 | 0 | 0 | 2.02 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 |
net6.0 | 1.3μs | 0.558ns | 2.16ns | 0.0162 | 0 | 0 | 1.14 KB |
| master | SendReceive |
netcoreapp3.1 | 1.78μs | 1.44ns | 5.59ns | 0.0153 | 0 | 0 | 1.14 KB |
| master | SendReceive |
net472 | 2.1μs | 1.13ns | 4.37ns | 0.183 | 0.00105 | 0 | 1.16 KB |
| #5681 | SendReceive |
net6.0 | 1.33μs | 1.1ns | 4.27ns | 0.016 | 0 | 0 | 1.14 KB |
| #5681 | SendReceive |
netcoreapp3.1 | 1.8μs | 0.679ns | 2.63ns | 0.0154 | 0 | 0 | 1.14 KB |
| #5681 | SendReceive |
net472 | 2.09μs | 1.22ns | 4.22ns | 0.184 | 0.00104 | 0 | 1.16 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 |
net6.0 | 2.69μs | 0.837ns | 3.24ns | 0.0223 | 0 | 0 | 1.6 KB |
| master | EnrichedLog |
netcoreapp3.1 | 3.8μs | 0.776ns | 2.91ns | 0.0209 | 0 | 0 | 1.65 KB |
| master | EnrichedLog |
net472 | 4.39μs | 0.944ns | 3.53ns | 0.322 | 0 | 0 | 2.04 KB |
| #5681 | EnrichedLog |
net6.0 | 2.79μs | 0.584ns | 2.19ns | 0.0223 | 0 | 0 | 1.6 KB |
| #5681 | EnrichedLog |
netcoreapp3.1 | 3.99μs | 0.711ns | 2.57ns | 0.022 | 0 | 0 | 1.65 KB |
| #5681 | EnrichedLog |
net472 | 4.26μs | 0.967ns | 3.75ns | 0.323 | 0 | 0 | 2.04 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 |
net6.0 | 420ns | 0.265ns | 0.956ns | 0.00806 | 0 | 0 | 576 B |
| master | StartFinishSpan |
netcoreapp3.1 | 577ns | 0.494ns | 1.91ns | 0.00768 | 0 | 0 | 576 B |
| master | StartFinishSpan |
net472 | 613ns | 0.641ns | 2.48ns | 0.0916 | 0 | 0 | 578 B |
| master | StartFinishScope |
net6.0 | 533ns | 0.145ns | 0.541ns | 0.00987 | 0 | 0 | 696 B |
| master | StartFinishScope |
netcoreapp3.1 | 740ns | 0.757ns | 2.93ns | 0.00949 | 0 | 0 | 696 B |
| master | StartFinishScope |
net472 | 842ns | 0.428ns | 1.48ns | 0.104 | 0 | 0 | 658 B |
| #5681 | StartFinishSpan |
net6.0 | 418ns | 0.639ns | 2.39ns | 0.00817 | 0 | 0 | 576 B |
| #5681 | StartFinishSpan |
netcoreapp3.1 | 628ns | 0.367ns | 1.32ns | 0.00771 | 0 | 0 | 576 B |
| #5681 | StartFinishSpan |
net472 | 645ns | 0.663ns | 2.57ns | 0.0918 | 0 | 0 | 578 B |
| #5681 | StartFinishScope |
net6.0 | 493ns | 0.529ns | 1.91ns | 0.00989 | 0 | 0 | 696 B |
| #5681 | StartFinishScope |
netcoreapp3.1 | 748ns | 1.33ns | 5.15ns | 0.00978 | 0 | 0 | 696 B |
| #5681 | StartFinishScope |
net472 | 810ns | 0.898ns | 3.36ns | 0.104 | 0 | 0 | 658 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 |
net6.0 | 659ns | 0.195ns | 0.731ns | 0.00995 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
netcoreapp3.1 | 967ns | 4.69ns | 18.7ns | 0.00948 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
net472 | 1.16μs | 0.364ns | 1.41ns | 0.104 | 0 | 0 | 658 B |
| #5681 | RunOnMethodBegin |
net6.0 | 660ns | 0.78ns | 3.02ns | 0.00958 | 0 | 0 | 696 B |
| #5681 | RunOnMethodBegin |
netcoreapp3.1 | 912ns | 0.72ns | 2.79ns | 0.00956 | 0 | 0 | 696 B |
| #5681 | RunOnMethodBegin |
net472 | 1.08μs | 0.597ns | 2.31ns | 0.104 | 0 | 0 | 658 B |