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

Better logs folder creation in chiseled smoke test #5731

Closed vandonr closed 1 week ago

vandonr commented 1 week ago

Summary of changes

The docker setup on a chiseled base image was using a placeholder file to create an empty directory, this is actually not needed, we can copy empty directories with the COPY command (what was missing from the commented code was trailing slashes). I also changed the chown argument, because I don't know where 64198 was coming from. It's important that the user $APP_UID owns the logs folder, otherwise they cannot write to it (somehow, chmod=777 alone didn't work when I tested it). ~In the existing setup before this PR, I'm not sure any logs were written.~ -> I checked and logs were actually produced, but I prefer the new setup :)

datadog-ddstaging[bot] commented 1 week ago

Datadog Report

Branch report: vandonr/chiseled Commit report: 7f869b9 Test service: dd-trace-dotnet

:white_check_mark: 0 Failed, 340205 Passed, 1652 Skipped, 14h 17m 21.84s Total Time :hourglass: 1 Performance Regression

:hourglass: Performance Regressions vs Default Branch (1)

andrewlock commented 1 week 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 (5731) - mean (73ms)  : 64, 83
     .   : milestone, 73,
    master - mean (73ms)  : 66, 81
     .   : milestone, 73,

    section CallTarget+Inlining+NGEN
    This PR (5731) - mean (987ms)  : 971, 1002
     .   : milestone, 987,
    master - mean (987ms)  : 966, 1007
     .   : milestone, 987,
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5731) - mean (109ms)  : 106, 112
     .   : milestone, 109,
    master - mean (110ms)  : 107, 113
     .   : milestone, 110,

    section CallTarget+Inlining+NGEN
    This PR (5731) - mean (692ms)  : 671, 714
     .   : milestone, 692,
    master - mean (697ms)  : 677, 718
     .   : milestone, 697,
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5731) - mean (93ms)  : 90, 96
     .   : milestone, 93,
    master - mean (93ms)  : 89, 96
     .   : milestone, 93,

    section CallTarget+Inlining+NGEN
    This PR (5731) - mean (655ms)  : 632, 679
     .   : milestone, 655,
    master - mean (652ms)  : 630, 675
     .   : milestone, 652,
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5731) - mean (192ms)  : 188, 196
     .   : milestone, 192,
    master - mean (190ms)  : 187, 194
     .   : milestone, 190,

    section CallTarget+Inlining+NGEN
    This PR (5731) - mean (1,091ms)  : 1067, 1115
     .   : milestone, 1091,
    master - mean (1,080ms)  : 1055, 1104
     .   : milestone, 1080,
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5731) - mean (279ms)  : 271, 286
     .   : milestone, 279,
    master - mean (275ms)  : 271, 280
     .   : milestone, 275,

    section CallTarget+Inlining+NGEN
    This PR (5731) - mean (873ms)  : 853, 893
     .   : milestone, 873,
    master - mean (869ms)  : 846, 892
     .   : milestone, 869,
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5731) - mean (272ms)  : 268, 276
     .   : milestone, 272,
    master - mean (264ms)  : 260, 269
     .   : milestone, 264,

    section CallTarget+Inlining+NGEN
    This PR (5731) - mean (871ms)  : 825, 917
     .   : milestone, 871,
    master - mean (851ms)  : 826, 875
     .   : milestone, 851,
andrewlock commented 1 week ago

Benchmarks Report for tracer :snail:

Benchmarks for #5731 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/99a6f19c2a992b70e909faaf3706bde6230dd457)|`StartStopWithChild`|net6.0|7.67μs|43.8ns|306ns|0.0116| 0.00772|0|5.43 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`StartStopWithChild`|netcoreapp3.1|9.95μs|56ns|396ns|0.0195| 0.00487|0|5.62 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`StartStopWithChild`|net472|16μs|61.7ns|239ns|1.03| 0.318|0.103|6.07 KB| |#5731|`StartStopWithChild`|net6.0|7.86μs|42.9ns|254ns|0.0163| 0.00817|0|5.43 KB| |#5731|`StartStopWithChild`|netcoreapp3.1|9.94μs|56.4ns|383ns|0.0197| 0.00983|0|5.62 KB| |#5731|`StartStopWithChild`|net472|16.1μs|57.2ns|222ns|1.02| 0.305|0.0938|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/99a6f19c2a992b70e909faaf3706bde6230dd457)|`WriteAndFlushEnrichedTraces`|net6.0|487μs|220ns|854ns|0| 0|0|2.7 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`WriteAndFlushEnrichedTraces`|netcoreapp3.1|627μs|678ns|2.62μs|0| 0|0|2.7 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`WriteAndFlushEnrichedTraces`|net472|832μs|96.3ns|347ns|0.414| 0|0|3.3 KB| |#5731|`WriteAndFlushEnrichedTraces`|net6.0|486μs|124ns|482ns|0| 0|0|2.7 KB| |#5731|`WriteAndFlushEnrichedTraces`|netcoreapp3.1|636μs|146ns|527ns|0| 0|0|2.7 KB| |#5731|`WriteAndFlushEnrichedTraces`|net472|832μs|199ns|717ns|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/99a6f19c2a992b70e909faaf3706bde6230dd457)|`SendRequest`|net6.0|171μs|268ns|1.04μs|0.171| 0|0|18.44 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`SendRequest`|netcoreapp3.1|194μs|425ns|1.64μs|0.193| 0|0|20.6 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`SendRequest`|net472|0.000557ns|0.000273ns|0.00102ns|0| 0|0|0 b| |#5731|`SendRequest`|net6.0|172μs|203ns|787ns|0.171| 0|0|18.44 KB| |#5731|`SendRequest`|netcoreapp3.1|194μs|232ns|868ns|0.192| 0|0|20.6 KB| |#5731|`SendRequest`|net472|0.000563ns|0.000303ns|0.00113ns|0| 0|0|0 b|
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed :heavy_check_mark: More allocations :warning: #### More allocations :warning: in #5731 | Benchmark | Base Allocated | Diff Allocated | Change | Change % | |:----------|-----------:|-----------:|--------:|--------:| | Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 | 41.58 KB | 41.84 KB | 253 B | 0.61% ### Raw results | Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated | |---------|---------------------------- |-------------- |---------:|---------:|--------:|-------:|------:|------:|----------:| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`WriteAndFlushEnrichedTraces`|net6.0|551μs|451ns|1.69μs|0.551| 0|0|41.58 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`WriteAndFlushEnrichedTraces`|netcoreapp3.1|653μs|873ns|3.27μs|0.326| 0|0|41.73 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`WriteAndFlushEnrichedTraces`|net472|859μs|2.86μs|10.7μs|8.19| 2.59|0.431|53.28 KB| |#5731|`WriteAndFlushEnrichedTraces`|net6.0|551μs|942ns|3.52μs|0.566| 0|0|41.84 KB| |#5731|`WriteAndFlushEnrichedTraces`|netcoreapp3.1|674μs|1.77μs|6.85μs|0.349| 0|0|41.7 KB| |#5731|`WriteAndFlushEnrichedTraces`|net472|881μs|4.27μs|18.1μs|8.25| 2.6|0.434|53.24 KB|
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: Same allocations :heavy_check_mark: #### Slower :warning: in #5731 | Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality | |:----------|-----------:|-----------:|--------:|--------:| | Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net6.0 | 1.185 | 1,000.93 | 1,186.30 | ### Raw results | Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated | |---------|---------------------------- |-------------- |---------:|---------:|--------:|-------:|------:|------:|----------:| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`ExecuteNonQuery`|net6.0|1μs|0.341ns|1.23ns|0.0112| 0|0|808 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`ExecuteNonQuery`|netcoreapp3.1|1.54μs|0.616ns|2.39ns|0.0107| 0|0|808 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`ExecuteNonQuery`|net472|1.85μs|0.963ns|3.73ns|0.122| 0|0|770 B| |#5731|`ExecuteNonQuery`|net6.0|1.19μs|0.391ns|1.51ns|0.0113| 0|0|808 B| |#5731|`ExecuteNonQuery`|netcoreapp3.1|1.52μs|0.463ns|1.79ns|0.0106| 0|0|808 B| |#5731|`ExecuteNonQuery`|net472|1.84μs|4.65ns|18ns|0.122| 0|0|770 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/99a6f19c2a992b70e909faaf3706bde6230dd457)|`CallElasticsearch`|net6.0|1.25μs|0.554ns|2.07ns|0.0139| 0|0|976 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`CallElasticsearch`|netcoreapp3.1|1.55μs|0.748ns|2.9ns|0.0132| 0|0|976 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`CallElasticsearch`|net472|2.54μs|1.07ns|4.01ns|0.157| 0|0|995 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`CallElasticsearchAsync`|net6.0|1.29μs|0.561ns|2.1ns|0.0129| 0|0|952 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`CallElasticsearchAsync`|netcoreapp3.1|1.56μs|1.24ns|4.79ns|0.0141| 0|0|1.02 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`CallElasticsearchAsync`|net472|2.54μs|1.66ns|6.42ns|0.166| 0.00127|0|1.05 KB| |#5731|`CallElasticsearch`|net6.0|1.28μs|0.727ns|2.81ns|0.0137| 0|0|976 B| |#5731|`CallElasticsearch`|netcoreapp3.1|1.48μs|0.472ns|1.77ns|0.0126| 0|0|976 B| |#5731|`CallElasticsearch`|net472|2.55μs|1.83ns|7.08ns|0.158| 0.00127|0|995 B| |#5731|`CallElasticsearchAsync`|net6.0|1.24μs|0.502ns|1.94ns|0.0136| 0|0|952 B| |#5731|`CallElasticsearchAsync`|netcoreapp3.1|1.67μs|1.48ns|5.56ns|0.0141| 0|0|1.02 KB| |#5731|`CallElasticsearchAsync`|net472|2.66μs|1.56ns|6.05ns|0.167| 0.00133|0|1.05 KB|
Benchmarks.Trace.GraphQLBenchmark - Faster :tada: Same allocations :heavy_check_mark: #### Faster :tada: in #5731 | Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality | |:----------|-----------:|-----------:|--------:|--------:| | Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 | 1.137 | 1,716.00 | 1,509.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/99a6f19c2a992b70e909faaf3706bde6230dd457)|`ExecuteAsync`|net6.0|1.25μs|0.328ns|1.23ns|0.0133| 0|0|952 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`ExecuteAsync`|netcoreapp3.1|1.72μs|0.748ns|2.8ns|0.0128| 0|0|952 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`ExecuteAsync`|net472|1.71μs|0.706ns|2.73ns|0.145| 0.000858|0|915 B| |#5731|`ExecuteAsync`|net6.0|1.22μs|1.56ns|6.05ns|0.0134| 0|0|952 B| |#5731|`ExecuteAsync`|netcoreapp3.1|1.51μs|0.82ns|3.07ns|0.0128| 0|0|952 B| |#5731|`ExecuteAsync`|net472|1.74μs|0.38ns|1.37ns|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/99a6f19c2a992b70e909faaf3706bde6230dd457)|`SendAsync`|net6.0|4.07μs|1.79ns|6.71ns|0.0306| 0|0|2.22 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`SendAsync`|netcoreapp3.1|5.14μs|2.4ns|9.3ns|0.0359| 0|0|2.76 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`SendAsync`|net472|7.71μs|2.67ns|9.62ns|0.496| 0|0|3.15 KB| |#5731|`SendAsync`|net6.0|4.37μs|2.8ns|10.5ns|0.0308| 0|0|2.22 KB| |#5731|`SendAsync`|netcoreapp3.1|5.16μs|2.39ns|9.26ns|0.0362| 0|0|2.76 KB| |#5731|`SendAsync`|net472|7.7μs|2.17ns|8.41ns|0.499| 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/99a6f19c2a992b70e909faaf3706bde6230dd457)|`EnrichedLog`|net6.0|1.42μs|0.683ns|2.65ns|0.0227| 0|0|1.64 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`EnrichedLog`|netcoreapp3.1|2.15μs|0.681ns|2.45ns|0.0227| 0|0|1.64 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`EnrichedLog`|net472|2.55μs|1.79ns|6.93ns|0.25| 0|0|1.57 KB| |#5731|`EnrichedLog`|net6.0|1.58μs|2.85ns|11ns|0.0231| 0|0|1.64 KB| |#5731|`EnrichedLog`|netcoreapp3.1|2.2μs|0.659ns|2.47ns|0.022| 0|0|1.64 KB| |#5731|`EnrichedLog`|net472|2.68μs|3.1ns|12ns|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/99a6f19c2a992b70e909faaf3706bde6230dd457)|`EnrichedLog`|net6.0|115μs|207ns|802ns|0.0574| 0|0|4.28 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`EnrichedLog`|netcoreapp3.1|118μs|269ns|1.04μs|0.0586| 0|0|4.28 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`EnrichedLog`|net472|146μs|63.7ns|238ns|0.658| 0.219|0|4.46 KB| |#5731|`EnrichedLog`|net6.0|112μs|82.9ns|310ns|0.0557| 0|0|4.28 KB| |#5731|`EnrichedLog`|netcoreapp3.1|119μs|145ns|563ns|0.0594| 0|0|4.28 KB| |#5731|`EnrichedLog`|net472|147μs|162ns|626ns|0.659| 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](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`EnrichedLog`|net6.0|3.07μs|0.759ns|2.74ns|0.0307| 0|0|2.2 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`EnrichedLog`|netcoreapp3.1|4.12μs|2.59ns|10ns|0.0287| 0|0|2.2 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`EnrichedLog`|net472|4.85μs|2.41ns|9.33ns|0.32| 0|0|2.02 KB| |#5731|`EnrichedLog`|net6.0|3μs|1.43ns|5.52ns|0.0316| 0|0|2.2 KB| |#5731|`EnrichedLog`|netcoreapp3.1|4.16μs|1.25ns|4.84ns|0.0291| 0|0|2.2 KB| |#5731|`EnrichedLog`|net472|4.83μs|1.45ns|5.61ns|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](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`SendReceive`|net6.0|1.46μs|0.657ns|2.46ns|0.016| 0|0|1.14 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`SendReceive`|netcoreapp3.1|1.77μs|0.955ns|3.7ns|0.0149| 0|0|1.14 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`SendReceive`|net472|1.99μs|0.629ns|2.18ns|0.183| 0|0|1.16 KB| |#5731|`SendReceive`|net6.0|1.33μs|0.519ns|1.94ns|0.016| 0|0|1.14 KB| |#5731|`SendReceive`|netcoreapp3.1|1.73μs|4.37ns|16.9ns|0.0148| 0|0|1.14 KB| |#5731|`SendReceive`|net472|2.03μs|2.46ns|9.52ns|0.183| 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/99a6f19c2a992b70e909faaf3706bde6230dd457)|`EnrichedLog`|net6.0|2.92μs|0.686ns|2.66ns|0.0219| 0|0|1.6 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`EnrichedLog`|netcoreapp3.1|3.8μs|0.738ns|2.66ns|0.0209| 0|0|1.65 KB| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`EnrichedLog`|net472|4.5μs|2.28ns|8.82ns|0.322| 0|0|2.04 KB| |#5731|`EnrichedLog`|net6.0|2.7μs|0.661ns|2.56ns|0.0229| 0|0|1.6 KB| |#5731|`EnrichedLog`|netcoreapp3.1|3.85μs|7.61ns|28.5ns|0.0213| 0|0|1.65 KB| |#5731|`EnrichedLog`|net472|4.56μs|3.22ns|12.5ns|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](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`StartFinishSpan`|net6.0|403ns|0.193ns|0.747ns|0.00807| 0|0|576 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`StartFinishSpan`|netcoreapp3.1|608ns|0.446ns|1.73ns|0.0077| 0|0|576 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`StartFinishSpan`|net472|641ns|0.337ns|1.26ns|0.0917| 0|0|578 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`StartFinishScope`|net6.0|562ns|0.165ns|0.617ns|0.00962| 0|0|696 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`StartFinishScope`|netcoreapp3.1|751ns|1.05ns|4.07ns|0.00954| 0|0|696 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`StartFinishScope`|net472|864ns|0.577ns|2.23ns|0.105| 0|0|658 B| |#5731|`StartFinishSpan`|net6.0|397ns|0.218ns|0.815ns|0.008| 0|0|576 B| |#5731|`StartFinishSpan`|netcoreapp3.1|611ns|0.223ns|0.835ns|0.00772| 0|0|576 B| |#5731|`StartFinishSpan`|net472|647ns|0.718ns|2.78ns|0.0916| 0|0|578 B| |#5731|`StartFinishScope`|net6.0|536ns|0.249ns|0.962ns|0.00964| 0|0|696 B| |#5731|`StartFinishScope`|netcoreapp3.1|724ns|0.383ns|1.48ns|0.0094| 0|0|696 B| |#5731|`StartFinishScope`|net472|905ns|0.665ns|2.58ns|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/99a6f19c2a992b70e909faaf3706bde6230dd457)|`RunOnMethodBegin`|net6.0|601ns|0.473ns|1.83ns|0.00963| 0|0|696 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`RunOnMethodBegin`|netcoreapp3.1|846ns|0.316ns|1.18ns|0.0093| 0|0|696 B| |[master](https://github.com/DataDog/dd-trace-dotnet/tree/99a6f19c2a992b70e909faaf3706bde6230dd457)|`RunOnMethodBegin`|net472|1.12μs|0.741ns|2.87ns|0.104| 0|0|658 B| |#5731|`RunOnMethodBegin`|net6.0|619ns|0.24ns|0.931ns|0.00958| 0|0|696 B| |#5731|`RunOnMethodBegin`|netcoreapp3.1|921ns|0.595ns|2.31ns|0.00928| 0|0|696 B| |#5731|`RunOnMethodBegin`|net472|1.08μs|0.553ns|2.14ns|0.104| 0|0|658 B|
andrewlock commented 1 week 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 (5731) (11.739M)   : 0, 11739337
    master (11.680M)   : 0, 11680352
    benchmarks/2.9.0 (11.545M)   : 0, 11545343

    section Automatic
    This PR (5731) (7.881M)   : 0, 7880906
    master (7.820M)   : 0, 7819638
    benchmarks/2.9.0 (8.126M)   : 0, 8125785

    section Trace stats
    master (8.158M)   : 0, 8157732

    section Manual
    This PR (5731) (10.044M)   : 0, 10044313
    master (9.925M)   : 0, 9924578

    section Manual + Automatic
    This PR (5731) (7.400M)   : 0, 7399648
    master (7.482M)   : 0, 7482449

    section Version Conflict
    master (6.635M)   : 0, 6634968
gantt
    title Throughput Linux arm64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (5731) (9.462M)   : 0, 9462166
    master (9.294M)   : 0, 9294338
    benchmarks/2.9.0 (9.619M)   : 0, 9619209

    section Automatic
    This PR (5731) (6.541M)   : 0, 6541395
    master (6.468M)   : 0, 6468177

    section Trace stats
    master (6.754M)   : 0, 6754461

    section Manual
    This PR (5731) (8.336M)   : 0, 8336159
    master (8.162M)   : 0, 8161768

    section Manual + Automatic
    This PR (5731) (6.259M)   : 0, 6259087
    master (6.262M)   : 0, 6262414

    section Version Conflict
    master (5.565M)   : 0, 5565453
gantt
    title Throughput Windows x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (5731) (10.027M)   : 0, 10026717
    master (10.199M)   : 0, 10198615
    benchmarks/2.9.0 (10.207M)   : 0, 10207218

    section Automatic
    This PR (5731) (7.068M)   : 0, 7068167
    master (7.255M)   : 0, 7255144
    benchmarks/2.9.0 (7.563M)   : 0, 7562593

    section Trace stats
    master (7.633M)   : 0, 7633330

    section Manual
    This PR (5731) (8.830M)   : 0, 8830332
    master (9.048M)   : 0, 9047753

    section Manual + Automatic
    This PR (5731) (6.905M)   : 0, 6905005
    master (6.964M)   : 0, 6963644

    section Version Conflict
    master (6.423M)   : 0, 6422917