DataDog / dd-trace-dotnet

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

Build against `macos-12` instead of `macos-11` #5707

Closed andrewlock closed 1 week ago

andrewlock commented 2 weeks ago

Summary of changes

Change the build agent to use macos-11 instead of macos-12

Reason for change

Microsoft have announced:

The macOS-11 Big Sur image is deprecated and will be retired June 28, 2024

And they've started implementing brown-outs, so we need to get off that image ASAP

Implementation details

macos-11 -> macos-12

Test coverage

@tonyredondo was going to fire up a macos-11 VM to confirm everything still works when built with the later OS, but he couldn't actually get that to run IIRC - best we can tell it's ok.

Other details

A backport of:

datadog-ddstaging[bot] commented 2 weeks ago

Datadog Report

Branch report: andrew/ci/use-macos-12 Commit report: 6b8bdf1 Test service: dd-trace-dotnet

:white_check_mark: 0 Failed, 342648 Passed, 1643 Skipped, 13h 42m 49.66s Total Time :hourglass: 1 Performance Regression

:hourglass: Performance Regressions vs Default Branch (1)

andrewlock commented 2 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).

gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5707) - mean (73ms)  : 65, 81
     .   : milestone, 73,
    master - mean (74ms)  : 65, 82
     .   : milestone, 74,

    section CallTarget+Inlining+NGEN
    This PR (5707) - mean (988ms)  : 966, 1010
     .   : milestone, 988,
    master - mean (987ms)  : 965, 1009
     .   : milestone, 987,
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5707) - mean (109ms)  : 105, 112
     .   : milestone, 109,
    master - mean (109ms)  : 106, 112
     .   : milestone, 109,

    section CallTarget+Inlining+NGEN
    This PR (5707) - mean (689ms)  : 668, 709
     .   : milestone, 689,
    master - mean (693ms)  : 672, 715
     .   : milestone, 693,
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5707) - mean (93ms)  : 89, 96
     .   : milestone, 93,
    master - mean (93ms)  : 90, 96
     .   : milestone, 93,

    section CallTarget+Inlining+NGEN
    This PR (5707) - mean (651ms)  : 617, 684
     .   : milestone, 651,
    master - mean (651ms)  : 628, 675
     .   : milestone, 651,
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5707) - mean (190ms)  : 187, 193
     .   : milestone, 190,
    master - mean (191ms)  : 187, 196
     .   : milestone, 191,

    section CallTarget+Inlining+NGEN
    This PR (5707) - mean (1,078ms)  : 1056, 1101
     .   : milestone, 1078,
    master - mean (1,082ms)  : 1060, 1104
     .   : milestone, 1082,
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5707) - mean (276ms)  : 272, 280
     .   : milestone, 276,
    master - mean (276ms)  : 272, 280
     .   : milestone, 276,

    section CallTarget+Inlining+NGEN
    This PR (5707) - mean (883ms)  : 844, 922
     .   : milestone, 883,
    master - mean (865ms)  : 840, 890
     .   : milestone, 865,
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5707) - mean (274ms)  : 268, 281
     .   : milestone, 274,
    master - mean (265ms)  : 261, 269
     .   : milestone, 265,

    section CallTarget+Inlining+NGEN
    This PR (5707) - mean (874ms)  : 847, 902
     .   : milestone, 874,
    master - mean (850ms)  : 830, 871
     .   : milestone, 850,
andrewlock commented 2 weeks ago

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 (5707) (11.548M)   : 0, 11547601
    master (11.466M)   : 0, 11465621
    benchmarks/2.9.0 (11.627M)   : 0, 11626549

    section Automatic
    This PR (5707) (7.740M)   : 0, 7740014
    master (7.596M)   : 0, 7596011
    benchmarks/2.9.0 (8.152M)   : 0, 8152375

    section Trace stats
    master (7.923M)   : 0, 7922730

    section Manual
    This PR (5707) (10.038M)   : 0, 10037795
    master (9.835M)   : 0, 9834507

    section Manual + Automatic
    This PR (5707) (7.304M)   : 0, 7303698
    master (7.238M)   : 0, 7237913

    section Version Conflict
    master (6.444M)   : 0, 6444217
gantt
    title Throughput Linux arm64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (5707) (9.440M)   : 0, 9439565
    master (9.744M)   : 0, 9743734
    benchmarks/2.9.0 (9.556M)   : 0, 9555681

    section Automatic
    This PR (5707) (6.675M)   : 0, 6675024
    master (6.723M)   : 0, 6722686

    section Trace stats
    master (6.903M)   : 0, 6903372

    section Manual
    This PR (5707) (8.318M)   : 0, 8318129
    master (8.254M)   : 0, 8253593

    section Manual + Automatic
    This PR (5707) (6.275M)   : 0, 6274555
    master (6.249M)   : 0, 6249032

    section Version Conflict
    master (5.649M)   : 0, 5648954
gantt
    title Throughput Windows x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (5707) (10.426M)   : 0, 10426156
    master (10.122M)   : 0, 10121981
    benchmarks/2.9.0 (10.130M)   : 0, 10129519

    section Automatic
    This PR (5707) (7.244M)   : 0, 7244184
    master (7.290M)   : 0, 7290215
    benchmarks/2.9.0 (7.456M)   : 0, 7456006

    section Trace stats
    master (7.537M)   : 0, 7537037

    section Manual
    This PR (5707) (9.027M)   : 0, 9026850
    master (8.954M)   : 0, 8953869

    section Manual + Automatic
    This PR (5707) (6.981M)   : 0, 6981266
    master (6.897M)   : 0, 6897497

    section Version Conflict
    master (6.389M)   : 0, 6389209
andrewlock commented 2 weeks ago

Benchmarks Report for tracer :snail:

Benchmarks for #5707 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/39691ed614e299aeac4942d78ee189237c8d0dc1)|`StartStopWithChild`|net6.0|7.63μs|42.6ns|295ns|0.0208| 0.00831|0|5.42 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`StartStopWithChild`|netcoreapp3.1|9.6μs|53.6ns|339ns|0.0229| 0.00916|0|5.62 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`StartStopWithChild`|net472|16.2μs|51.9ns|201ns|1.03| 0.315|0.105|6.07 KB| |#5707|`StartStopWithChild`|net6.0|7.7μs|43.5ns|311ns|0.015| 0.00748|0|5.43 KB| |#5707|`StartStopWithChild`|netcoreapp3.1|9.59μs|50.7ns|268ns|0.0187| 0.00935|0|5.61 KB| |#5707|`StartStopWithChild`|net472|16μs|37.5ns|140ns|1.01| 0.303|0.0797|6.05 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/39691ed614e299aeac4942d78ee189237c8d0dc1)|`WriteAndFlushEnrichedTraces`|net6.0|476μs|251ns|971ns|0| 0|0|2.7 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`WriteAndFlushEnrichedTraces`|netcoreapp3.1|607μs|370ns|1.39μs|0| 0|0|2.7 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`WriteAndFlushEnrichedTraces`|net472|822μs|172ns|644ns|0.408| 0|0|3.3 KB| |#5707|`WriteAndFlushEnrichedTraces`|net6.0|470μs|176ns|680ns|0| 0|0|2.7 KB| |#5707|`WriteAndFlushEnrichedTraces`|netcoreapp3.1|619μs|201ns|723ns|0| 0|0|2.7 KB| |#5707|`WriteAndFlushEnrichedTraces`|net472|832μs|135ns|486ns|0.414| 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/39691ed614e299aeac4942d78ee189237c8d0dc1)|`SendRequest`|net6.0|171μs|257ns|996ns|0.171| 0|0|18.44 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`SendRequest`|netcoreapp3.1|191μs|360ns|1.39μs|0.189| 0|0|20.6 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`SendRequest`|net472|0.000666ns|0.000241ns|0.000902ns|0| 0|0|0 b| |#5707|`SendRequest`|net6.0|170μs|155ns|599ns|0.255| 0|0|18.44 KB| |#5707|`SendRequest`|netcoreapp3.1|191μs|463ns|1.79μs|0.188| 0|0|20.6 KB| |#5707|`SendRequest`|net472|0.00176ns|0.000488ns|0.00189ns|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/39691ed614e299aeac4942d78ee189237c8d0dc1)|`WriteAndFlushEnrichedTraces`|net6.0|548μs|638ns|2.3μs|0.543| 0|0|41.63 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`WriteAndFlushEnrichedTraces`|netcoreapp3.1|667μs|1.52μs|5.88μs|0.332| 0|0|41.74 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`WriteAndFlushEnrichedTraces`|net472|837μs|3.87μs|15μs|8.42| 2.66|0.443|53.25 KB| |#5707|`WriteAndFlushEnrichedTraces`|net6.0|570μs|334ns|1.25μs|0.571| 0|0|41.51 KB| |#5707|`WriteAndFlushEnrichedTraces`|netcoreapp3.1|653μs|2.3μs|8.91μs|0.324| 0|0|41.78 KB| |#5707|`WriteAndFlushEnrichedTraces`|net472|865μs|2.95μs|11μs|8.25| 2.6|0.434|53.25 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/39691ed614e299aeac4942d78ee189237c8d0dc1)|`ExecuteNonQuery`|net6.0|1.17μs|0.534ns|2ns|0.011| 0|0|808 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`ExecuteNonQuery`|netcoreapp3.1|1.42μs|0.978ns|3.79ns|0.0106| 0|0|808 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`ExecuteNonQuery`|net472|1.7μs|1.46ns|5.47ns|0.122| 0|0|770 B| |#5707|`ExecuteNonQuery`|net6.0|1.12μs|0.72ns|2.79ns|0.0112| 0|0|808 B| |#5707|`ExecuteNonQuery`|netcoreapp3.1|1.48μs|0.486ns|1.82ns|0.0111| 0|0|808 B| |#5707|`ExecuteNonQuery`|net472|1.77μs|2.36ns|8.84ns|0.122| 0|0|770 B|
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: Same allocations :heavy_check_mark: #### Slower :warning: in #5707 | Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality | |:----------|-----------:|-----------:|--------:|--------:| | Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net6.0 | 1.325 | 1,226.36 | 1,624.45 | ### Raw results | Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated | |---------|---------------------------- |-------------- |---------:|---------:|--------:|-------:|------:|------:|----------:| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`CallElasticsearch`|net6.0|1.23μs|0.604ns|2.34ns|0.0134| 0|0|976 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`CallElasticsearch`|netcoreapp3.1|1.62μs|1.08ns|4.04ns|0.0137| 0|0|976 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`CallElasticsearch`|net472|2.49μs|1.21ns|4.37ns|0.157| 0.00124|0|995 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`CallElasticsearchAsync`|net6.0|1.38μs|0.674ns|2.52ns|0.0131| 0|0|952 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`CallElasticsearchAsync`|netcoreapp3.1|1.6μs|0.468ns|1.75ns|0.0136| 0|0|1.02 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`CallElasticsearchAsync`|net472|2.64μs|3.05ns|11.8ns|0.167| 0|0|1.05 KB| |#5707|`CallElasticsearch`|net6.0|1.63μs|14.5ns|144ns|0.0135| 0|0|976 B| |#5707|`CallElasticsearch`|netcoreapp3.1|1.51μs|1.05ns|4.07ns|0.0128| 0|0|976 B| |#5707|`CallElasticsearch`|net472|2.36μs|2.85ns|10.7ns|0.158| 0|0|995 B| |#5707|`CallElasticsearchAsync`|net6.0|1.29μs|5.12ns|25.1ns|0.0132| 0|0|952 B| |#5707|`CallElasticsearchAsync`|netcoreapp3.1|1.6μs|1.23ns|4.75ns|0.0136| 0|0|1.02 KB| |#5707|`CallElasticsearchAsync`|net472|2.62μs|1.69ns|6.56ns|0.167| 0.0013|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/39691ed614e299aeac4942d78ee189237c8d0dc1)|`ExecuteAsync`|net6.0|1.18μs|0.631ns|2.36ns|0.0135| 0|0|952 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`ExecuteAsync`|netcoreapp3.1|1.57μs|1.4ns|5.24ns|0.0125| 0|0|952 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`ExecuteAsync`|net472|1.75μs|0.503ns|1.88ns|0.145| 0.000875|0|915 B| |#5707|`ExecuteAsync`|net6.0|1.24μs|0.36ns|1.35ns|0.013| 0|0|952 B| |#5707|`ExecuteAsync`|netcoreapp3.1|1.52μs|0.291ns|1.09ns|0.0129| 0|0|952 B| |#5707|`ExecuteAsync`|net472|1.75μs|0.681ns|2.64ns|0.145| 0.000877|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/39691ed614e299aeac4942d78ee189237c8d0dc1)|`SendAsync`|net6.0|4.12μs|1.52ns|5.68ns|0.0309| 0|0|2.22 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`SendAsync`|netcoreapp3.1|5.12μs|5.26ns|20.4ns|0.0379| 0|0|2.76 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`SendAsync`|net472|7.55μs|2.72ns|10.5ns|0.499| 0|0|3.15 KB| |#5707|`SendAsync`|net6.0|4.12μs|0.975ns|3.65ns|0.031| 0|0|2.22 KB| |#5707|`SendAsync`|netcoreapp3.1|5.06μs|1.7ns|6.6ns|0.0356| 0|0|2.76 KB| |#5707|`SendAsync`|net472|7.81μs|2.81ns|10.5ns|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/39691ed614e299aeac4942d78ee189237c8d0dc1)|`EnrichedLog`|net6.0|1.43μs|0.528ns|1.98ns|0.0229| 0|0|1.64 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`EnrichedLog`|netcoreapp3.1|2.2μs|2.15ns|8.03ns|0.0223| 0|0|1.64 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`EnrichedLog`|net472|2.6μs|0.951ns|3.68ns|0.249| 0|0|1.57 KB| |#5707|`EnrichedLog`|net6.0|1.49μs|0.652ns|2.44ns|0.023| 0|0|1.64 KB| |#5707|`EnrichedLog`|netcoreapp3.1|2.17μs|0.832ns|3.11ns|0.0226| 0|0|1.64 KB| |#5707|`EnrichedLog`|net472|2.52μs|1.59ns|6.16ns|0.25| 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/39691ed614e299aeac4942d78ee189237c8d0dc1)|`EnrichedLog`|net6.0|113μs|86ns|333ns|0.0565| 0|0|4.28 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`EnrichedLog`|netcoreapp3.1|117μs|81.3ns|304ns|0.0584| 0|0|4.28 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`EnrichedLog`|net472|146μs|75.9ns|284ns|0.654| 0.218|0|4.46 KB| |#5707|`EnrichedLog`|net6.0|112μs|89.6ns|347ns|0.056| 0|0|4.28 KB| |#5707|`EnrichedLog`|netcoreapp3.1|120μs|226ns|845ns|0| 0|0|4.28 KB| |#5707|`EnrichedLog`|net472|146μs|76.7ns|297ns|0.657| 0.219|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/39691ed614e299aeac4942d78ee189237c8d0dc1)|`EnrichedLog`|net6.0|3.08μs|1.02ns|3.94ns|0.0309| 0|0|2.2 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`EnrichedLog`|netcoreapp3.1|4.08μs|1.69ns|6.54ns|0.0285| 0|0|2.2 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`EnrichedLog`|net472|4.93μs|1.23ns|4.62ns|0.32| 0|0|2.02 KB| |#5707|`EnrichedLog`|net6.0|3.04μs|3.19ns|11.9ns|0.0305| 0|0|2.2 KB| |#5707|`EnrichedLog`|netcoreapp3.1|4.16μs|1.36ns|5.11ns|0.029| 0|0|2.2 KB| |#5707|`EnrichedLog`|net472|4.92μs|1.88ns|7.29ns|0.319| 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/39691ed614e299aeac4942d78ee189237c8d0dc1)|`SendReceive`|net6.0|1.4μs|0.856ns|3.31ns|0.0161| 0|0|1.14 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`SendReceive`|netcoreapp3.1|1.75μs|0.861ns|3.1ns|0.0149| 0|0|1.14 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`SendReceive`|net472|2.13μs|1.05ns|4.06ns|0.183| 0|0|1.16 KB| |#5707|`SendReceive`|net6.0|1.33μs|0.755ns|2.72ns|0.016| 0|0|1.14 KB| |#5707|`SendReceive`|netcoreapp3.1|1.73μs|0.456ns|1.64ns|0.0149| 0|0|1.14 KB| |#5707|`SendReceive`|net472|1.99μs|2.12ns|8.21ns|0.183| 0.000989|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/39691ed614e299aeac4942d78ee189237c8d0dc1)|`EnrichedLog`|net6.0|2.66μs|1.01ns|3.77ns|0.0226| 0|0|1.6 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`EnrichedLog`|netcoreapp3.1|3.89μs|3.52ns|13.6ns|0.0213| 0|0|1.65 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`EnrichedLog`|net472|4.28μs|1.78ns|6.41ns|0.323| 0|0|2.04 KB| |#5707|`EnrichedLog`|net6.0|2.69μs|0.955ns|3.7ns|0.0218| 0|0|1.6 KB| |#5707|`EnrichedLog`|netcoreapp3.1|3.89μs|1.27ns|4.76ns|0.0213| 0|0|1.65 KB| |#5707|`EnrichedLog`|net472|4.51μs|1.9ns|6.85ns|0.322| 0|0|2.04 KB|
Benchmarks.Trace.SpanBenchmark - Faster :tada: Same allocations :heavy_check_mark: #### Faster :tada: in #5707 | Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality | |:----------|-----------:|-----------:|--------:|--------:| | Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 | 1.117 | 622.32 | 557.19 | ### Raw results | Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated | |---------|---------------------------- |-------------- |---------:|---------:|--------:|-------:|------:|------:|----------:| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`StartFinishSpan`|net6.0|392ns|0.0906ns|0.351ns|0.00808| 0|0|576 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`StartFinishSpan`|netcoreapp3.1|622ns|0.204ns|0.763ns|0.00786| 0|0|576 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`StartFinishSpan`|net472|727ns|1.31ns|5.06ns|0.0918| 0|0|578 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`StartFinishScope`|net6.0|542ns|0.273ns|1.06ns|0.00979| 0|0|696 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`StartFinishScope`|netcoreapp3.1|695ns|0.257ns|0.963ns|0.00953| 0|0|696 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`StartFinishScope`|net472|871ns|0.29ns|1.12ns|0.104| 0|0|658 B| |#5707|`StartFinishSpan`|net6.0|422ns|0.188ns|0.678ns|0.00805| 0|0|576 B| |#5707|`StartFinishSpan`|netcoreapp3.1|557ns|0.318ns|1.23ns|0.00774| 0|0|576 B| |#5707|`StartFinishSpan`|net472|665ns|0.598ns|2.32ns|0.0918| 0|0|578 B| |#5707|`StartFinishScope`|net6.0|539ns|0.141ns|0.527ns|0.00975| 0|0|696 B| |#5707|`StartFinishScope`|netcoreapp3.1|685ns|0.696ns|2.7ns|0.00927| 0|0|696 B| |#5707|`StartFinishScope`|net472|807ns|0.768ns|2.97ns|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/39691ed614e299aeac4942d78ee189237c8d0dc1)|`RunOnMethodBegin`|net6.0|592ns|0.308ns|1.19ns|0.00974| 0|0|696 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`RunOnMethodBegin`|netcoreapp3.1|935ns|0.36ns|1.35ns|0.00933| 0|0|696 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/39691ed614e299aeac4942d78ee189237c8d0dc1)|`RunOnMethodBegin`|net472|1.11μs|0.555ns|2.15ns|0.105| 0|0|658 B| |#5707|`RunOnMethodBegin`|net6.0|639ns|0.291ns|1.13ns|0.00993| 0|0|696 B| |#5707|`RunOnMethodBegin`|netcoreapp3.1|959ns|0.713ns|2.76ns|0.00955| 0|0|696 B| |#5707|`RunOnMethodBegin`|net472|1.08μs|0.525ns|2.03ns|0.104| 0|0|658 B|