DataDog / dd-trace-dotnet

.NET Client Library for Datadog APM
https://docs.datadoghq.com/tracing/
Apache License 2.0
437 stars 137 forks source link

[Version Bump] 3.3.0 #5973

Closed github-actions[bot] closed 4 weeks ago

github-actions[bot] commented 4 weeks ago

The following files were found to be modified (as expected)

@DataDog/apm-dotnet

datadog-ddstaging[bot] commented 4 weeks ago

Datadog Report

Branch report: version-bump-3.3.0 Commit report: e69fb59 Test service: dd-trace-dotnet

:white_check_mark: 0 Failed, 371806 Passed, 2993 Skipped, 26h 37m 48.08s Total Time

andrewlock commented 4 weeks ago

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:

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).

andrewlock commented 4 weeks ago

Benchmarks Report for tracer :snail:

Benchmarks for #5973 compared to master:

The following thresholds were used for comparing the benchmark speeds:

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.ActivityBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark: ### Raw results | Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated | |---------|---------------------------- |-------------- |---------:|---------:|--------:|-------:|------:|------:|----------:| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`StartStopWithChild`|net6.0|7.46μs|41.8ns|268ns|0.0116| 0.00386|0|5.43 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`StartStopWithChild`|netcoreapp3.1|9.99μs|45.8ns|183ns|0.0145| 0.00483|0|5.62 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`StartStopWithChild`|net472|15.9μs|34.7ns|134ns|1.02| 0.313|0.0963|6.05 KB| |#5973|`StartStopWithChild`|net6.0|7.47μs|34.5ns|124ns|0.0149| 0.00744|0|5.43 KB| |#5973|`StartStopWithChild`|netcoreapp3.1|10.1μs|54.9ns|343ns|0.025| 0.01|0|5.62 KB| |#5973|`StartStopWithChild`|net472|15.9μs|37.9ns|147ns|1| 0.287|0.0877|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](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`WriteAndFlushEnrichedTraces`|net6.0|488μs|369ns|1.38μs|0| 0|0|2.7 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`WriteAndFlushEnrichedTraces`|netcoreapp3.1|639μs|472ns|1.83μs|0| 0|0|2.7 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`WriteAndFlushEnrichedTraces`|net472|846μs|553ns|1.99μs|0.422| 0|0|3.3 KB| |#5973|`WriteAndFlushEnrichedTraces`|net6.0|467μs|244ns|945ns|0| 0|0|2.7 KB| |#5973|`WriteAndFlushEnrichedTraces`|netcoreapp3.1|632μs|307ns|1.15μs|0| 0|0|2.7 KB| |#5973|`WriteAndFlushEnrichedTraces`|net472|846μs|581ns|2.25μs|0.419| 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](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`SendRequest`|net6.0|183μs|1μs|5.59μs|0.182| 0|0|18.45 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`SendRequest`|netcoreapp3.1|209μs|1.2μs|9.23μs|0.213| 0|0|20.61 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`SendRequest`|net472|0.00263ns|0.000963ns|0.00373ns|0| 0|0|0 b| |#5973|`SendRequest`|net6.0|186μs|931ns|3.95μs|0.191| 0|0|18.45 KB| |#5973|`SendRequest`|netcoreapp3.1|209μs|1.08μs|5.39μs|0.198| 0|0|20.61 KB| |#5973|`SendRequest`|net472|0.000109ns|7.53E‑05ns|0.000282ns|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](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`WriteAndFlushEnrichedTraces`|net6.0|557μs|1.46μs|5.64μs|0.534| 0|0|41.61 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`WriteAndFlushEnrichedTraces`|netcoreapp3.1|661μs|2.5μs|9.68μs|0.326| 0|0|41.86 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`WriteAndFlushEnrichedTraces`|net472|860μs|3.23μs|12.5μs|8.3| 2.62|0.437|53.23 KB| |#5973|`WriteAndFlushEnrichedTraces`|net6.0|555μs|1.66μs|5.99μs|0.556| 0|0|41.48 KB| |#5973|`WriteAndFlushEnrichedTraces`|netcoreapp3.1|663μs|2.56μs|9.58μs|0.334| 0|0|41.73 KB| |#5973|`WriteAndFlushEnrichedTraces`|net472|875μs|2.54μs|9.82μs|8.68| 2.6|0.434|53.3 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](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`ExecuteNonQuery`|net6.0|1.26μs|1.36ns|5.27ns|0.0145| 0|0|1.02 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`ExecuteNonQuery`|netcoreapp3.1|1.71μs|1.58ns|5.91ns|0.0129| 0|0|1.02 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`ExecuteNonQuery`|net472|1.94μs|3.05ns|11.8ns|0.156| 0|0|987 B| |#5973|`ExecuteNonQuery`|net6.0|1.3μs|0.956ns|3.7ns|0.0143| 0|0|1.02 KB| |#5973|`ExecuteNonQuery`|netcoreapp3.1|1.69μs|2.05ns|7.96ns|0.0135| 0|0|1.02 KB| |#5973|`ExecuteNonQuery`|net472|1.94μs|1.41ns|5.27ns|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](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`CallElasticsearch`|net6.0|1.25μs|0.672ns|2.6ns|0.0139| 0|0|976 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`CallElasticsearch`|netcoreapp3.1|1.57μs|0.875ns|3.27ns|0.0125| 0|0|976 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`CallElasticsearch`|net472|2.45μs|2.59ns|10ns|0.158| 0|0|995 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`CallElasticsearchAsync`|net6.0|1.22μs|0.494ns|1.85ns|0.0134| 0|0|952 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`CallElasticsearchAsync`|netcoreapp3.1|1.61μs|0.607ns|2.27ns|0.0135| 0|0|1.02 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`CallElasticsearchAsync`|net472|2.65μs|1.03ns|3.72ns|0.167| 0|0|1.05 KB| |#5973|`CallElasticsearch`|net6.0|1.23μs|1.33ns|5.15ns|0.0137| 0|0|976 B| |#5973|`CallElasticsearch`|netcoreapp3.1|1.51μs|0.927ns|3.21ns|0.013| 0|0|976 B| |#5973|`CallElasticsearch`|net472|2.45μs|1.48ns|5.52ns|0.158| 0|0|995 B| |#5973|`CallElasticsearchAsync`|net6.0|1.35μs|2.8ns|10.8ns|0.0135| 0|0|952 B| |#5973|`CallElasticsearchAsync`|netcoreapp3.1|1.65μs|1.08ns|4.18ns|0.0132| 0|0|1.02 KB| |#5973|`CallElasticsearchAsync`|net472|2.61μs|1.52ns|5.88ns|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](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`ExecuteAsync`|net6.0|1.25μs|0.983ns|3.68ns|0.0135| 0|0|952 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`ExecuteAsync`|netcoreapp3.1|1.63μs|1.16ns|4.48ns|0.0129| 0|0|952 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`ExecuteAsync`|net472|1.75μs|1.34ns|5.18ns|0.145| 0|0|915 B| |#5973|`ExecuteAsync`|net6.0|1.21μs|1.95ns|7.57ns|0.0133| 0|0|952 B| |#5973|`ExecuteAsync`|netcoreapp3.1|1.61μs|0.737ns|2.86ns|0.0128| 0|0|952 B| |#5973|`ExecuteAsync`|net472|1.7μs|0.501ns|1.87ns|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](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`SendAsync`|net6.0|4.18μs|2.75ns|10.7ns|0.0312| 0|0|2.22 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`SendAsync`|netcoreapp3.1|5.11μs|1.72ns|6.19ns|0.0358| 0|0|2.76 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`SendAsync`|net472|7.69μs|1.37ns|5.12ns|0.5| 0|0|3.15 KB| |#5973|`SendAsync`|net6.0|4.22μs|1.71ns|6.39ns|0.0318| 0|0|2.22 KB| |#5973|`SendAsync`|netcoreapp3.1|5.02μs|1.75ns|6.54ns|0.0377| 0|0|2.76 KB| |#5973|`SendAsync`|net472|7.75μs|2.07ns|7.74ns|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](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`EnrichedLog`|net6.0|1.48μs|0.651ns|2.44ns|0.023| 0|0|1.64 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`EnrichedLog`|netcoreapp3.1|2.27μs|1.16ns|4.48ns|0.0226| 0|0|1.64 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`EnrichedLog`|net472|2.63μs|1.84ns|7.14ns|0.249| 0|0|1.57 KB| |#5973|`EnrichedLog`|net6.0|1.57μs|0.691ns|2.59ns|0.023| 0|0|1.64 KB| |#5973|`EnrichedLog`|netcoreapp3.1|2.43μs|1.24ns|4.81ns|0.022| 0|0|1.64 KB| |#5973|`EnrichedLog`|net472|2.69μs|1.6ns|6.21ns|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](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`EnrichedLog`|net6.0|116μs|300ns|1.16μs|0| 0|0|4.28 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`EnrichedLog`|netcoreapp3.1|119μs|189ns|708ns|0.0593| 0|0|4.28 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`EnrichedLog`|net472|151μs|327ns|1.26μs|0.685| 0.228|0|4.46 KB| |#5973|`EnrichedLog`|net6.0|116μs|162ns|626ns|0.0577| 0|0|4.28 KB| |#5973|`EnrichedLog`|netcoreapp3.1|120μs|295ns|1.14μs|0| 0|0|4.28 KB| |#5973|`EnrichedLog`|net472|148μs|198ns|766ns|0.664| 0.221|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](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`EnrichedLog`|net6.0|3.03μs|1.03ns|3.99ns|0.0302| 0|0|2.2 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`EnrichedLog`|netcoreapp3.1|4.27μs|2.23ns|8.66ns|0.0303| 0|0|2.2 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`EnrichedLog`|net472|5.06μs|1.35ns|5.24ns|0.321| 0|0|2.02 KB| |#5973|`EnrichedLog`|net6.0|3.06μs|1.09ns|4.22ns|0.0307| 0|0|2.2 KB| |#5973|`EnrichedLog`|netcoreapp3.1|4.08μs|1.14ns|4.28ns|0.0307| 0|0|2.2 KB| |#5973|`EnrichedLog`|net472|4.86μs|25ns|125ns|0.321| 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](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`SendReceive`|net6.0|1.43μs|1.25ns|4.85ns|0.0157| 0|0|1.14 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`SendReceive`|netcoreapp3.1|1.7μs|0.98ns|3.67ns|0.0155| 0|0|1.14 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`SendReceive`|net472|2.24μs|1.64ns|6.34ns|0.183| 0.0011|0|1.16 KB| |#5973|`SendReceive`|net6.0|1.44μs|0.9ns|3.49ns|0.0157| 0|0|1.14 KB| |#5973|`SendReceive`|netcoreapp3.1|1.82μs|1.38ns|5.17ns|0.0153| 0|0|1.14 KB| |#5973|`SendReceive`|net472|2.15μs|2ns|7.73ns|0.184| 0|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](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`EnrichedLog`|net6.0|2.68μs|0.594ns|2.14ns|0.0215| 0|0|1.6 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`EnrichedLog`|netcoreapp3.1|3.84μs|1.24ns|4.65ns|0.0211| 0|0|1.65 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`EnrichedLog`|net472|4.42μs|2.44ns|9.47ns|0.323| 0|0|2.04 KB| |#5973|`EnrichedLog`|net6.0|2.79μs|1.1ns|4.25ns|0.0224| 0|0|1.6 KB| |#5973|`EnrichedLog`|netcoreapp3.1|3.76μs|2.63ns|10.2ns|0.0212| 0|0|1.65 KB| |#5973|`EnrichedLog`|net472|4.33μs|2.19ns|8.48ns|0.324| 0|0|2.04 KB|
Benchmarks.Trace.SpanBenchmark - Faster :tada: Same allocations :heavy_check_mark: #### Faster :tada: in #5973 | Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality | |:----------|-----------:|-----------:|--------:|--------:| | Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 | 1.143 | 743.22 | 650.39 | ### Raw results | Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated | |---------|---------------------------- |-------------- |---------:|---------:|--------:|-------:|------:|------:|----------:| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`StartFinishSpan`|net6.0|394ns|0.368ns|1.43ns|0.00814| 0|0|576 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`StartFinishSpan`|netcoreapp3.1|547ns|0.718ns|2.68ns|0.00782| 0|0|576 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`StartFinishSpan`|net472|661ns|0.274ns|1.06ns|0.0918| 0|0|578 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`StartFinishScope`|net6.0|471ns|0.169ns|0.653ns|0.00989| 0|0|696 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`StartFinishScope`|netcoreapp3.1|742ns|0.516ns|2ns|0.00932| 0|0|696 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`StartFinishScope`|net472|854ns|1.11ns|4.31ns|0.104| 0|0|658 B| |#5973|`StartFinishSpan`|net6.0|396ns|0.279ns|1.08ns|0.008| 0|0|576 B| |#5973|`StartFinishSpan`|netcoreapp3.1|572ns|0.635ns|2.38ns|0.00757| 0|0|576 B| |#5973|`StartFinishSpan`|net472|603ns|0.708ns|2.74ns|0.0915| 0|0|578 B| |#5973|`StartFinishScope`|net6.0|474ns|0.246ns|0.952ns|0.00968| 0|0|696 B| |#5973|`StartFinishScope`|netcoreapp3.1|651ns|0.846ns|3.27ns|0.00953| 0|0|696 B| |#5973|`StartFinishScope`|net472|865ns|0.69ns|2.67ns|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](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`RunOnMethodBegin`|net6.0|665ns|0.486ns|1.88ns|0.00959| 0|0|696 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`RunOnMethodBegin`|netcoreapp3.1|876ns|0.816ns|3.16ns|0.00929| 0|0|696 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/01c50c300ba7919e6857655cb550bf486631507c)|`RunOnMethodBegin`|net472|1.12μs|1.26ns|4.86ns|0.104| 0|0|658 B| |#5973|`RunOnMethodBegin`|net6.0|667ns|0.55ns|2.13ns|0.00959| 0|0|696 B| |#5973|`RunOnMethodBegin`|netcoreapp3.1|908ns|0.856ns|3.32ns|0.00939| 0|0|696 B| |#5973|`RunOnMethodBegin`|net472|1.11μs|1.07ns|4.14ns|0.104| 0|0|658 B|