[tracing] hangfire autoinstrumentation
Summary of changes
Reason for change
Implementation details
Test coverage
Other details
Datadog Report
All test runs d150741 :link:
:x: 2 Total Test Services: 1 Failed, 1 Passed
Test Services
| Service Name | Failed | Known Flaky | New Flaky | Passed | Skipped | Total Time | Test Service View |
|---|---|---|---|---|---|---|---|
dd-trace-dotnet |
60 | 0 | 0 | 448193 | 4050 | 32h 20m 21.7s | Link |
exploration_tests |
0 | 0 | 0 | 22085 | 3 | 2m 14.25s | Link |
:x: Failed Tests (60)
This report shows up to 5 failed tests.
-
SubmitsTraces-Datadog.Trace.ClrProfiler.IntegrationTests.HangfireTests- DetailsExpand for error
pplication not found: /project/artifacts/bin/Samples.Hangfire/release_net9.0/Samples.Hangfire.dll -
SubmitsTraces-Datadog.Trace.ClrProfiler.IntegrationTests.HangfireTests- DetailsExpand for error
pplication not found: /project/artifacts/bin/Samples.Hangfire/release_net9.0/Samples.Hangfire.dll -
SubmitsTraces-Datadog.Trace.ClrProfiler.IntegrationTests.HangfireTests- DetailsExpand for error
pplication not found: /project/artifacts/bin/Samples.Hangfire/release_netcoreapp3.0/Samples.Hangfire.dll -
SubmitsTraces-Datadog.Trace.ClrProfiler.IntegrationTests.HangfireTests- DetailsExpand for error
pplication not found: /project/artifacts/bin/Samples.Hangfire/release_netcoreapp3.0/Samples.Hangfire.dll -
SubmitsTraces-Datadog.Trace.ClrProfiler.IntegrationTests.HangfireTests- DetailsExpand for error
pplication not found: /project/artifacts/bin/Samples.Hangfire/release_net7.0/Samples.Hangfire.dll
Benchmarks Report for tracer :snail:
Benchmarks for #6904 compared to master:
- 2 benchmarks are faster, with geometric mean 1.175
- 1 benchmarks are slower, with geometric mean 1.218
- 3 benchmarks have fewer 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 - Same speed :heavy_check_mark: Fewer allocations :tada:
Fewer allocations :tada: in #6904
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net6.0
5.6 KB
5.55 KB
-49 B
-0.88%
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1
5.8 KB
5.73 KB
-69 B
-1.19%
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StartStopWithChild |
net6.0 | 8.25μs | 144ns | 1.44μs | 0 | 0 | 0 | 5.6 KB |
| master | StartStopWithChild |
netcoreapp3.1 | 9.83μs | 99.8ns | 988ns | 0 | 0 | 0 | 5.8 KB |
| master | StartStopWithChild |
net472 | 15.2μs | 72.2ns | 289ns | 1.03 | 0.344 | 0.0688 | 6.15 KB |
| #6904 | StartStopWithChild |
net6.0 | 8.05μs | 102ns | 1.02μs | 0 | 0 | 0 | 5.55 KB |
| #6904 | StartStopWithChild |
netcoreapp3.1 | 10.8μs | 153ns | 1.53μs | 0 | 0 | 0 | 5.73 KB |
| #6904 | StartStopWithChild |
net472 | 15μs | 86ns | 688ns | 0.939 | 0.313 | 0 | 6.13 KB |
Benchmarks.Trace.AgentWriterBenchmark - Same speed :heavy_check_mark: Fewer allocations :tada:
Fewer allocations :tada: in #6904
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net472
3.35 KB
3.31 KB
-34 B
-1.02%
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | WriteAndFlushEnrichedTraces |
net6.0 | 498μs | 1.08μs | 4.18μs | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 651μs | 1.29μs | 4.98μs | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 860μs | 2.13μs | 8.25μs | 0 | 0 | 0 | 3.35 KB |
| #6904 | WriteAndFlushEnrichedTraces |
net6.0 | 498μs | 892ns | 3.22μs | 0 | 0 | 0 | 2.7 KB |
| #6904 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 688μs | 2.73μs | 10.6μs | 0 | 0 | 0 | 2.7 KB |
| #6904 | WriteAndFlushEnrichedTraces |
net472 | 861μs | 1.28μs | 4.97μs | 0 | 0 | 0 | 3.31 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 | 128μs | 716ns | 4.47μs | 0 | 0 | 0 | 14.48 KB |
| master | SendRequest |
netcoreapp3.1 | 142μs | 811ns | 6.07μs | 0 | 0 | 0 | 17.28 KB |
| master | SendRequest |
net472 | 0.0024ns | 0.00101ns | 0.00376ns | 0 | 0 | 0 | 0 b |
| #6904 | SendRequest |
net6.0 | 127μs | 719ns | 5.14μs | 0 | 0 | 0 | 14.48 KB |
| #6904 | SendRequest |
netcoreapp3.1 | 152μs | 849ns | 5.44μs | 0 | 0 | 0 | 17.28 KB |
| #6904 | SendRequest |
net472 | 0.00283ns | 0.000925ns | 0.00333ns | 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 | 612μs | 6.19μs | 60μs | 0 | 0 | 0 | 41.73 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 724μs | 6.28μs | 60.9μs | 0 | 0 | 0 | 41.78 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 857μs | 5.02μs | 49.9μs | 7.81 | 0 | 0 | 53.47 KB |
| #6904 | WriteAndFlushEnrichedTraces |
net6.0 | 562μs | 3.12μs | 24.4μs | 0 | 0 | 0 | 41.54 KB |
| #6904 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 760μs | 8.58μs | 84.1μs | 0 | 0 | 0 | 41.87 KB |
| #6904 | WriteAndFlushEnrichedTraces |
net472 | 887μs | 5.4μs | 53.4μs | 7.81 | 0 | 0 | 53.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 |
net6.0 | 1.3μs | 1.02ns | 3.82ns | 0.013 | 0 | 0 | 1.03 KB |
| master | ExecuteNonQuery |
netcoreapp3.1 | 1.9μs | 4.54ns | 17ns | 0.00912 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
net472 | 2.08μs | 3.4ns | 12.7ns | 0.154 | 0.0103 | 0 | 995 B |
| #6904 | ExecuteNonQuery |
net6.0 | 1.3μs | 2.85ns | 10.6ns | 0.0129 | 0 | 0 | 1.03 KB |
| #6904 | ExecuteNonQuery |
netcoreapp3.1 | 1.76μs | 2.73ns | 9.86ns | 0.00901 | 0 | 0 | 1.02 KB |
| #6904 | ExecuteNonQuery |
net472 | 2.14μs | 6.52ns | 25.2ns | 0.157 | 0.0105 | 0 | 995 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.17μs | 0.581ns | 2.1ns | 0.0118 | 0 | 0 | 984 B |
| master | CallElasticsearch |
netcoreapp3.1 | 1.52μs | 1.08ns | 4.19ns | 0.00748 | 0 | 0 | 984 B |
| master | CallElasticsearch |
net472 | 2.57μs | 1.78ns | 6.65ns | 0.157 | 0 | 0 | 1 KB |
| master | CallElasticsearchAsync |
net6.0 | 1.31μs | 1.5ns | 5.79ns | 0.0131 | 0 | 0 | 960 B |
| master | CallElasticsearchAsync |
netcoreapp3.1 | 1.62μs | 1.29ns | 4.99ns | 0.00811 | 0 | 0 | 1.03 KB |
| master | CallElasticsearchAsync |
net472 | 2.7μs | 0.977ns | 3.52ns | 0.162 | 0 | 0 | 1.06 KB |
| #6904 | CallElasticsearch |
net6.0 | 1.1μs | 1.16ns | 4.18ns | 0.0112 | 0 | 0 | 984 B |
| #6904 | CallElasticsearch |
netcoreapp3.1 | 1.52μs | 0.773ns | 2.79ns | 0.00776 | 0 | 0 | 984 B |
| #6904 | CallElasticsearch |
net472 | 2.52μs | 1.6ns | 5.98ns | 0.152 | 0 | 0 | 1 KB |
| #6904 | CallElasticsearchAsync |
net6.0 | 1.31μs | 1.17ns | 4.38ns | 0.013 | 0 | 0 | 960 B |
| #6904 | CallElasticsearchAsync |
netcoreapp3.1 | 1.64μs | 0.941ns | 4.98ns | 0.00828 | 0 | 0 | 1.03 KB |
| #6904 | CallElasticsearchAsync |
net472 | 2.75μs | 2.4ns | 9.28ns | 0.164 | 0 | 0 | 1.06 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.28μs | 0.574ns | 2.15ns | 0.0129 | 0 | 0 | 960 B |
| master | ExecuteAsync |
netcoreapp3.1 | 1.7μs | 2.25ns | 8.41ns | 0.00848 | 0 | 0 | 960 B |
| master | ExecuteAsync |
net472 | 1.93μs | 0.866ns | 3.36ns | 0.144 | 0 | 0 | 923 B |
| #6904 | ExecuteAsync |
net6.0 | 1.23μs | 0.876ns | 3.39ns | 0.0122 | 0 | 0 | 960 B |
| #6904 | ExecuteAsync |
netcoreapp3.1 | 1.68μs | 2.12ns | 7.92ns | 0.00836 | 0 | 0 | 960 B |
| #6904 | ExecuteAsync |
net472 | 1.82μs | 1ns | 3.48ns | 0.145 | 0 | 0 | 923 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.59μs | 2.41ns | 9.34ns | 0.0228 | 0 | 0 | 2.32 KB |
| master | SendAsync |
netcoreapp3.1 | 5.27μs | 3.52ns | 13.6ns | 0.0262 | 0 | 0 | 2.86 KB |
| master | SendAsync |
net472 | 7.49μs | 5.18ns | 18.7ns | 0.485 | 0 | 0 | 3.13 KB |
| #6904 | SendAsync |
net6.0 | 4.29μs | 2.64ns | 9.86ns | 0 | 0 | 0 | 2.32 KB |
| #6904 | SendAsync |
netcoreapp3.1 | 5.27μs | 2.16ns | 7.77ns | 0.0262 | 0 | 0 | 2.86 KB |
| #6904 | SendAsync |
net472 | 7.45μs | 3.89ns | 14.5ns | 0.484 | 0 | 0 | 3.13 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.54μs | 4.09ns | 14.7ns | 0.0235 | 0 | 0 | 1.71 KB |
| master | EnrichedLog |
netcoreapp3.1 | 2.4μs | 3.92ns | 14.7ns | 0.0119 | 0 | 0 | 1.71 KB |
| master | EnrichedLog |
net472 | 2.75μs | 5.93ns | 23ns | 0.259 | 0 | 0 | 1.64 KB |
| #6904 | EnrichedLog |
net6.0 | 1.57μs | 1.17ns | 4.39ns | 0.0236 | 0 | 0 | 1.71 KB |
| #6904 | EnrichedLog |
netcoreapp3.1 | 2.17μs | 2.81ns | 10.5ns | 0.0221 | 0 | 0 | 1.71 KB |
| #6904 | EnrichedLog |
net472 | 2.59μs | 2.77ns | 10.7ns | 0.255 | 0 | 0 | 1.64 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 | 117μs | 328ns | 1.27μs | 0 | 0 | 0 | 4.32 KB |
| master | EnrichedLog |
netcoreapp3.1 | 126μs | 469ns | 1.76μs | 0 | 0 | 0 | 4.32 KB |
| master | EnrichedLog |
net472 | 159μs | 683ns | 2.64μs | 0 | 0 | 0 | 4.51 KB |
| #6904 | EnrichedLog |
net6.0 | 113μs | 332ns | 1.29μs | 0 | 0 | 0 | 4.32 KB |
| #6904 | EnrichedLog |
netcoreapp3.1 | 119μs | 203ns | 787ns | 0 | 0 | 0 | 4.32 KB |
| #6904 | EnrichedLog |
net472 | 151μs | 402ns | 1.56μs | 0 | 0 | 0 | 4.51 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.14μs | 2.67ns | 10.4ns | 0.0313 | 0 | 0 | 2.26 KB |
| master | EnrichedLog |
netcoreapp3.1 | 4.15μs | 3.64ns | 14.1ns | 0.0206 | 0 | 0 | 2.26 KB |
| master | EnrichedLog |
net472 | 4.82μs | 3.13ns | 11.7ns | 0.314 | 0 | 0 | 2.09 KB |
| #6904 | EnrichedLog |
net6.0 | 2.97μs | 2.51ns | 9.05ns | 0.0298 | 0 | 0 | 2.26 KB |
| #6904 | EnrichedLog |
netcoreapp3.1 | 4.36μs | 4.33ns | 15.6ns | 0.0218 | 0 | 0 | 2.26 KB |
| #6904 | EnrichedLog |
net472 | 4.76μs | 2.47ns | 9.24ns | 0.309 | 0 | 0 | 2.09 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.45μs | 2.72ns | 10.5ns | 0.0143 | 0 | 0 | 1.15 KB |
| master | SendReceive |
netcoreapp3.1 | 1.78μs | 8.33ns | 34.4ns | 0.00898 | 0 | 0 | 1.15 KB |
| master | SendReceive |
net472 | 2.19μs | 9.79ns | 37.9ns | 0.184 | 0 | 0 | 1.16 KB |
| #6904 | SendReceive |
net6.0 | 1.32μs | 1.39ns | 5.39ns | 0.0133 | 0 | 0 | 1.15 KB |
| #6904 | SendReceive |
netcoreapp3.1 | 1.81μs | 1.26ns | 4.72ns | 0.00907 | 0 | 0 | 1.15 KB |
| #6904 | SendReceive |
net472 | 2.06μs | 1.16ns | 4.35ns | 0.175 | 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 | EnrichedLog |
net6.0 | 2.66μs | 2.35ns | 9.1ns | 0.0133 | 0 | 0 | 1.64 KB |
| master | EnrichedLog |
netcoreapp3.1 | 4.17μs | 3.5ns | 12.1ns | 0.0209 | 0 | 0 | 1.69 KB |
| master | EnrichedLog |
net472 | 4.55μs | 3.8ns | 14.2ns | 0.32 | 0 | 0 | 2.08 KB |
| #6904 | EnrichedLog |
net6.0 | 2.78μs | 1.5ns | 5.8ns | 0.0138 | 0 | 0 | 1.64 KB |
| #6904 | EnrichedLog |
netcoreapp3.1 | 4.03μs | 3.64ns | 13.6ns | 0.0201 | 0 | 0 | 1.69 KB |
| #6904 | EnrichedLog |
net472 | 4.46μs | 3.13ns | 11.7ns | 0.312 | 0 | 0 | 2.08 KB |
Benchmarks.Trace.SpanBenchmark - Slower :warning: Same allocations :heavy_check_mark:
Slower :warning: in #6904
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net6.0
1.218
479.42
584.12
Faster :tada: in #6904
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1
1.136
632.58
556.61
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StartFinishSpan |
net6.0 | 410ns | 0.277ns | 1.04ns | 0.00812 | 0 | 0 | 584 B |
| master | StartFinishSpan |
netcoreapp3.1 | 634ns | 0.659ns | 2.55ns | 0.00635 | 0 | 0 | 584 B |
| master | StartFinishSpan |
net472 | 683ns | 0.185ns | 0.692ns | 0.0927 | 0 | 0 | 586 B |
| master | StartFinishScope |
net6.0 | 480ns | 0.522ns | 2.02ns | 0.00974 | 0 | 0 | 704 B |
| master | StartFinishScope |
netcoreapp3.1 | 774ns | 0.796ns | 2.87ns | 0.00751 | 0 | 0 | 704 B |
| master | StartFinishScope |
net472 | 789ns | 0.567ns | 2.2ns | 0.103 | 0 | 0 | 666 B |
| #6904 | StartFinishSpan |
net6.0 | 426ns | 0.753ns | 2.92ns | 0.00631 | 0 | 0 | 584 B |
| #6904 | StartFinishSpan |
netcoreapp3.1 | 557ns | 0.656ns | 2.54ns | 0.00579 | 0 | 0 | 584 B |
| #6904 | StartFinishSpan |
net472 | 651ns | 0.621ns | 2.32ns | 0.091 | 0 | 0 | 586 B |
| #6904 | StartFinishScope |
net6.0 | 582ns | 1.48ns | 5.74ns | 0.00858 | 0 | 0 | 704 B |
| #6904 | StartFinishScope |
netcoreapp3.1 | 733ns | 0.848ns | 3.17ns | 0.00727 | 0 | 0 | 704 B |
| #6904 | StartFinishScope |
net472 | 829ns | 0.437ns | 1.63ns | 0.104 | 0 | 0 | 666 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Faster :tada: Same allocations :heavy_check_mark:
Faster :tada: in #6904
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net6.0
1.214
716.58
590.16
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | RunOnMethodBegin |
net6.0 | 717ns | 0.25ns | 0.937ns | 0.00757 | 0 | 0 | 704 B |
| master | RunOnMethodBegin |
netcoreapp3.1 | 996ns | 5.57ns | 37.8ns | 0.00492 | 0 | 0 | 704 B |
| master | RunOnMethodBegin |
net472 | 1.12μs | 0.755ns | 2.83ns | 0.101 | 0 | 0 | 666 B |
| #6904 | RunOnMethodBegin |
net6.0 | 590ns | 0.474ns | 1.77ns | 0.00884 | 0 | 0 | 704 B |
| #6904 | RunOnMethodBegin |
netcoreapp3.1 | 943ns | 1.07ns | 4.13ns | 0.00934 | 0 | 0 | 704 B |
| #6904 | RunOnMethodBegin |
net472 | 1.03μs | 0.371ns | 1.39ns | 0.103 | 0 | 0 | 666 B |
Execution-Time Benchmarks Report :stopwatch:
Execution-time results for samples comparing This PR (6904) and master.
✅ No regressions detected - check the details below
Full Metrics Comparison
FakeDbCommand
| Metric | Master (Mean ± 95% CI) | Current (Mean ± 95% CI) | Change | Status |
|---|---|---|---|---|
| .NET Framework 4.8 - Baseline | ||||
| duration | 77.02 ± (77.07 - 77.98) ms | 74.91 ± (75.03 - 75.82) ms | -2.7% | ✅ |
| .NET Framework 4.8 - Bailout | ||||
| duration | 81.89 ± (81.83 - 82.84) ms | 80.89 ± (80.92 - 81.79) ms | -1.2% | ✅ |
| .NET Framework 4.8 - CallTarget+Inlining+NGEN | ||||
| duration | 1078.74 ± (1080.20 - 1090.29) ms | 1063.25 ± (1065.79 - 1075.34) ms | -1.4% | ✅ |
| .NET Core 3.1 - Baseline | ||||
| process.internal_duration_ms | 23.19 ± (23.12 - 23.25) ms | 23.03 ± (22.93 - 23.13) ms | -0.7% | ✅ |
| process.time_to_main_ms | 90.09 ± (89.61 - 90.56) ms | 88.93 ± (88.39 - 89.47) ms | -1.3% | ✅ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 10.90 ± (10.90 - 10.90) MB | 10.91 ± (10.91 - 10.92) MB | +0.1% | ✅⬆️ |
| runtime.dotnet.threads.count | 12 ± (12 - 12) | 12 ± (12 - 12) | +0.0% | ✅ |
| .NET Core 3.1 - Bailout | ||||
| process.internal_duration_ms | 23.14 ± (23.06 - 23.21) ms | 23.00 ± (22.93 - 23.08) ms | -0.6% | ✅ |
| process.time_to_main_ms | 91.17 ± (90.74 - 91.59) ms | 90.92 ± (90.47 - 91.38) ms | -0.3% | ✅ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 10.95 ± (10.95 - 10.95) MB | 10.96 ± (10.95 - 10.96) MB | +0.0% | ✅⬆️ |
| runtime.dotnet.threads.count | 13 ± (13 - 13) | 13 ± (13 - 13) | +0.0% | ✅ |
| .NET Core 3.1 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 224.37 ± (223.08 - 225.66) ms | 221.83 ± (220.52 - 223.14) ms | -1.1% | ✅ |
| process.time_to_main_ms | 508.62 ± (507.24 - 509.99) ms | 505.28 ± (503.69 - 506.88) ms | -0.7% | ✅ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 47.92 ± (47.90 - 47.94) MB | 47.95 ± (47.93 - 47.97) MB | +0.1% | ✅⬆️ |
| runtime.dotnet.threads.count | 28 ± (28 - 28) | 28 ± (28 - 28) | +0.1% | ✅⬆️ |
| .NET 6 - Baseline | ||||
| process.internal_duration_ms | 21.98 ± (21.91 - 22.06) ms | 22.10 ± (21.99 - 22.20) ms | +0.5% | ✅⬆️ |
| process.time_to_main_ms | 78.11 ± (77.66 - 78.55) ms | 78.26 ± (77.76 - 78.77) ms | +0.2% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 10.60 ± (10.60 - 10.60) MB | 10.62 ± (10.62 - 10.62) MB | +0.2% | ✅⬆️ |
| runtime.dotnet.threads.count | 10 ± (10 - 10) | 10 ± (10 - 10) | +0.0% | ✅ |
| .NET 6 - Bailout | ||||
| process.internal_duration_ms | 21.95 ± (21.86 - 22.03) ms | 22.27 ± (22.18 - 22.37) ms | +1.5% | ✅⬆️ |
| process.time_to_main_ms | 79.31 ± (78.90 - 79.73) ms | 80.67 ± (80.14 - 81.19) ms | +1.7% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 10.66 ± (10.65 - 10.66) MB | 10.66 ± (10.65 - 10.66) MB | -0.0% | ✅ |
| runtime.dotnet.threads.count | 11 ± (11 - 11) | 11 ± (11 - 11) | +0.0% | ✅ |
| .NET 6 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 212.48 ± (211.40 - 213.56) ms | 212.98 ± (211.82 - 214.14) ms | +0.2% | ✅⬆️ |
| process.time_to_main_ms | 473.82 ± (472.66 - 474.98) ms | 472.05 ± (470.78 - 473.32) ms | -0.4% | ✅ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 48.14 ± (48.11 - 48.17) MB | 48.06 ± (48.04 - 48.09) MB | -0.2% | ✅ |
| runtime.dotnet.threads.count | 28 ± (28 - 28) | 28 ± (28 - 28) | +0.0% | ✅⬆️ |
| .NET 8 - Baseline | ||||
| process.internal_duration_ms | 20.11 ± (20.03 - 20.19) ms | 19.87 ± (19.80 - 19.95) ms | -1.2% | ✅ |
| process.time_to_main_ms | 76.36 ± (75.95 - 76.78) ms | 75.59 ± (75.20 - 75.99) ms | -1.0% | ✅ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 7.66 ± (7.65 - 7.67) MB | 7.65 ± (7.65 - 7.65) MB | -0.1% | ✅ |
| runtime.dotnet.threads.count | 10 ± (10 - 10) | 10 ± (10 - 10) | +0.0% | ✅ |
| .NET 8 - Bailout | ||||
| process.internal_duration_ms | 19.92 ± (19.84 - 20.00) ms | 20.09 ± (20.01 - 20.16) ms | +0.8% | ✅⬆️ |
| process.time_to_main_ms | 77.40 ± (77.03 - 77.77) ms | 77.86 ± (77.45 - 78.27) ms | +0.6% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 7.70 ± (7.69 - 7.70) MB | 7.72 ± (7.71 - 7.73) MB | +0.3% | ✅⬆️ |
| runtime.dotnet.threads.count | 11 ± (11 - 11) | 11 ± (11 - 11) | +0.0% | ✅ |
| .NET 8 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 194.46 ± (193.35 - 195.58) ms | 194.34 ± (193.17 - 195.50) ms | -0.1% | ✅ |
| process.time_to_main_ms | 463.68 ± (462.39 - 464.98) ms | 461.05 ± (459.77 - 462.33) ms | -0.6% | ✅ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 36.44 ± (36.40 - 36.47) MB | 36.53 ± (36.49 - 36.57) MB | +0.3% | ✅⬆️ |
| runtime.dotnet.threads.count | 27 ± (27 - 27) | 27 ± (27 - 27) | -0.1% | ✅ |
HttpMessageHandler
| Metric | Master (Mean ± 95% CI) | Current (Mean ± 95% CI) | Change | Status |
|---|---|---|---|---|
| .NET Framework 4.8 - Baseline | ||||
| duration | 195.77 ± (195.56 - 196.38) ms | 197.18 ± (196.97 - 198.00) ms | +0.7% | ✅⬆️ |
| .NET Framework 4.8 - Bailout | ||||
| duration | 198.64 ± (198.44 - 199.32) ms | 204.09 ± (203.62 - 204.84) ms | +2.7% | ✅⬆️ |
| .NET Framework 4.8 - CallTarget+Inlining+NGEN | ||||
| duration | 1122.57 ± (1125.36 - 1133.96) ms | 1134.95 ± (1137.76 - 1147.88) ms | +1.1% | ✅⬆️ |
| .NET Core 3.1 - Baseline | ||||
| process.internal_duration_ms | 192.55 ± (192.11 - 192.99) ms | 193.79 ± (193.32 - 194.27) ms | +0.6% | ✅⬆️ |
| process.time_to_main_ms | 82.12 ± (81.88 - 82.36) ms | 82.90 ± (82.65 - 83.15) ms | +0.9% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 3 ± (3 - 3) | 3 ± (3 - 3) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.05 ± (16.03 - 16.07) MB | 16.00 ± (15.98 - 16.02) MB | -0.3% | ✅ |
| runtime.dotnet.threads.count | 20 ± (20 - 20) | 20 ± (20 - 20) | -0.3% | ✅ |
| .NET Core 3.1 - Bailout | ||||
| process.internal_duration_ms | 190.58 ± (190.18 - 190.99) ms | 191.54 ± (191.12 - 191.96) ms | +0.5% | ✅⬆️ |
| process.time_to_main_ms | 83.00 ± (82.77 - 83.22) ms | 83.28 ± (83.03 - 83.52) ms | +0.3% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 3 ± (3 - 3) | 3 ± (3 - 3) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.10 ± (16.08 - 16.13) MB | 16.07 ± (16.05 - 16.10) MB | -0.2% | ✅ |
| runtime.dotnet.threads.count | 21 ± (21 - 21) | 21 ± (20 - 21) | -0.5% | ✅ |
| .NET Core 3.1 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 398.70 ± (396.49 - 400.92) ms | 398.53 ± (396.62 - 400.43) ms | -0.0% | ✅ |
| process.time_to_main_ms | 478.01 ± (477.22 - 478.80) ms | 484.49 ± (483.42 - 485.57) ms | +1.4% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 3 ± (3 - 3) | 3 ± (3 - 3) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 58.85 ± (58.74 - 58.97) MB | 59.01 ± (58.92 - 59.09) MB | +0.3% | ✅⬆️ |
| runtime.dotnet.threads.count | 29 ± (29 - 30) | 30 ± (30 - 30) | +0.2% | ✅⬆️ |
| .NET 6 - Baseline | ||||
| process.internal_duration_ms | 195.35 ± (194.92 - 195.78) ms | 198.79 ± (198.28 - 199.30) ms | +1.8% | ✅⬆️ |
| process.time_to_main_ms | 70.54 ± (70.33 - 70.74) ms | 71.54 ± (71.34 - 71.75) ms | +1.4% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.34 ± (16.32 - 16.37) MB | 16.33 ± (16.31 - 16.34) MB | -0.1% | ✅ |
| runtime.dotnet.threads.count | 19 ± (19 - 19) | 19 ± (19 - 19) | +0.0% | ✅⬆️ |
| .NET 6 - Bailout | ||||
| process.internal_duration_ms | 196.34 ± (195.90 - 196.79) ms | 196.74 ± (196.28 - 197.21) ms | +0.2% | ✅⬆️ |
| process.time_to_main_ms | 72.02 ± (71.84 - 72.20) ms | 72.30 ± (72.11 - 72.49) ms | +0.4% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.40 ± (16.38 - 16.43) MB | 16.35 ± (16.33 - 16.36) MB | -0.4% | ✅ |
| runtime.dotnet.threads.count | 20 ± (20 - 20) | 20 ± (20 - 20) | -0.3% | ✅ |
| .NET 6 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 411.70 ± (409.78 - 413.62) ms | 414.57 ± (412.74 - 416.41) ms | +0.7% | ✅⬆️ |
| process.time_to_main_ms | 446.97 ± (446.26 - 447.69) ms | 451.86 ± (450.93 - 452.78) ms | +1.1% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 59.20 ± (59.08 - 59.32) MB | 59.45 ± (59.37 - 59.53) MB | +0.4% | ✅⬆️ |
| runtime.dotnet.threads.count | 30 ± (30 - 30) | 30 ± (30 - 30) | -0.0% | ✅ |
| .NET 8 - Baseline | ||||
| process.internal_duration_ms | 193.75 ± (193.28 - 194.22) ms | 198.98 ± (198.37 - 199.60) ms | +2.7% | ✅⬆️ |
| process.time_to_main_ms | 69.88 ± (69.68 - 70.08) ms | 72.07 ± (71.80 - 72.34) ms | +3.1% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 11.67 ± (11.65 - 11.69) MB | 11.65 ± (11.64 - 11.67) MB | -0.1% | ✅ |
| runtime.dotnet.threads.count | 18 ± (18 - 18) | 19 ± (18 - 19) | +1.8% | ✅⬆️ |
| .NET 8 - Bailout | ||||
| process.internal_duration_ms | 192.52 ± (192.08 - 192.97) ms | 195.28 ± (194.78 - 195.77) ms | +1.4% | ✅⬆️ |
| process.time_to_main_ms | 71.25 ± (71.06 - 71.43) ms | 71.62 ± (71.45 - 71.79) ms | +0.5% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 11.78 ± (11.76 - 11.81) MB | 11.74 ± (11.72 - 11.76) MB | -0.4% | ✅ |
| runtime.dotnet.threads.count | 19 ± (19 - 19) | 19 ± (19 - 19) | +0.3% | ✅⬆️ |
| .NET 8 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 371.75 ± (370.31 - 373.19) ms | 373.80 ± (372.40 - 375.20) ms | +0.6% | ✅⬆️ |
| process.time_to_main_ms | 435.11 ± (434.50 - 435.72) ms | 437.73 ± (436.94 - 438.53) ms | +0.6% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 47.99 ± (47.96 - 48.02) MB | 47.99 ± (47.95 - 48.02) MB | -0.0% | ✅ |
| runtime.dotnet.threads.count | 29 ± (29 - 29) | 29 ± (29 - 29) | -0.4% | ✅ |
Comparison explanation
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 highlighted 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).
Duration charts
FakeDbCommand (.NET Framework 4.8)
gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (6904) - mean (75ms) : 70, 81
master - mean (78ms) : 71, 84
section Bailout
This PR (6904) - mean (81ms) : 75, 88
master - mean (82ms) : 75, 90
section CallTarget+Inlining+NGEN
This PR (6904) - mean (1,071ms) : 1000, 1141
master - mean (1,085ms) : 1016, 1155
FakeDbCommand (.NET Core 3.1)
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (6904) - mean (120ms) : 108, 132
master - mean (121ms) : 113, 129
section Bailout
This PR (6904) - mean (121ms) : 112, 131
master - mean (122ms) : 113, 131
section CallTarget+Inlining+NGEN
This PR (6904) - mean (765ms) : 724, 807
master - mean (774ms) : 737, 810
FakeDbCommand (.NET 6)
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (6904) - mean (107ms) : 97, 117
master - mean (108ms) : 98, 117
section Bailout
This PR (6904) - mean (110ms) : 102, 118
master - mean (109ms) : 101, 117
section CallTarget+Inlining+NGEN
This PR (6904) - mean (710ms) : 674, 746
master - mean (715ms) : 686, 745
FakeDbCommand (.NET 8)
gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (6904) - mean (104ms) : 97, 111
master - mean (105ms) : 96, 115
section Bailout
This PR (6904) - mean (107ms) : 99, 114
master - mean (106ms) : 99, 112
section CallTarget+Inlining+NGEN
This PR (6904) - mean (691ms) : 644, 739
master - mean (697ms) : 659, 735
HttpMessageHandler (.NET Framework 4.8)
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (6904) - mean (197ms) : 190, 205
master - mean (196ms) : 191, 201
section Bailout
This PR (6904) - mean (204ms) : 195, 213
master - mean (199ms) : 195, 203
section CallTarget+Inlining+NGEN
This PR (6904) - mean (1,143ms) : 1065, 1221
master - mean (1,130ms) : 1067, 1193
HttpMessageHandler (.NET Core 3.1)
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (6904) - mean (286ms) : 277, 295
master - mean (283ms) : 274, 292
section Bailout
This PR (6904) - mean (284ms) : 277, 290
master - mean (282ms) : 275, 288
section CallTarget+Inlining+NGEN
This PR (6904) - mean (928ms) : 886, 970
master - mean (914ms) : 874, 955
HttpMessageHandler (.NET 6)
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (6904) - mean (279ms) : 269, 288
master - mean (274ms) : 268, 280
section Bailout
This PR (6904) - mean (278ms) : 266, 289
master - mean (277ms) : 270, 284
section CallTarget+Inlining+NGEN
This PR (6904) - mean (901ms) : 864, 938
master - mean (893ms) : 856, 930
HttpMessageHandler (.NET 8)
gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (6904) - mean (281ms) : 268, 294
master - mean (274ms) : 266, 282
section Bailout
This PR (6904) - mean (277ms) : 268, 285
master - mean (274ms) : 268, 279
section CallTarget+Inlining+NGEN
This PR (6904) - mean (844ms) : 818, 870
master - mean (837ms) : 806, 869
Benchmarks
Benchmarks Report for benchmark platform :snail:
Benchmarks for #6904 compared to master:
- 1 benchmarks are faster, with geometric mean 1.224
- 1 benchmarks have fewer allocations
- 3 benchmarks have more 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 - Same speed :heavy_check_mark: More allocations :warning:
More allocations :warning: in #6904
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472
5.93 KB
5.98 KB
46 B
0.78%
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StartStopWithChild |
net6.0 | 10.9μs | 60ns | 350ns | 0 | 0 | 0 | 5.5 KB |
| master | StartStopWithChild |
netcoreapp3.1 | 13.6μs | 50ns | 194ns | 0 | 0 | 0 | 5.71 KB |
| master | StartStopWithChild |
net472 | 22.7μs | 123ns | 675ns | 1.03 | 0.413 | 0.103 | 5.93 KB |
| #6904 | StartStopWithChild |
net6.0 | 10.5μs | 58.3ns | 354ns | 0 | 0 | 0 | 5.5 KB |
| #6904 | StartStopWithChild |
netcoreapp3.1 | 13.5μs | 71.5ns | 357ns | 0 | 0 | 0 | 5.71 KB |
| #6904 | StartStopWithChild |
net472 | 22.5μs | 121ns | 630ns | 1.02 | 0.339 | 0.113 | 5.98 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 | 1.28ms | 145ns | 543ns | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 1.38ms | 540ns | 2.09μs | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 1.7ms | 1.57μs | 5.88μs | 0 | 0 | 0 | 3.26 KB |
| #6904 | WriteAndFlushEnrichedTraces |
net6.0 | 1.26ms | 130ns | 470ns | 0 | 0 | 0 | 2.7 KB |
| #6904 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 1.37ms | 71.6ns | 277ns | 0 | 0 | 0 | 2.7 KB |
| #6904 | WriteAndFlushEnrichedTraces |
net472 | 1.7ms | 1.26μs | 4.88μs | 0 | 0 | 0 | 3.26 KB |
Benchmarks.Trace.Asm.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 |
net6.0 | 1.14μs | 5.88ns | 27.6ns | 0 | 0 | 0 | 1.22 KB |
| master | AllCycleSimpleBody |
netcoreapp3.1 | 1.38μs | 7.63ns | 47.6ns | 0 | 0 | 0 | 1.2 KB |
| master | AllCycleSimpleBody |
net472 | 999ns | 0.161ns | 0.623ns | 0.195 | 0 | 0 | 1.23 KB |
| master | AllCycleMoreComplexBody |
net6.0 | 7.28μs | 34.2ns | 137ns | 0 | 0 | 0 | 4.72 KB |
| master | AllCycleMoreComplexBody |
netcoreapp3.1 | 9.01μs | 44.1ns | 177ns | 0 | 0 | 0 | 4.62 KB |
| master | AllCycleMoreComplexBody |
net472 | 7.67μs | 3.82ns | 14.3ns | 0.73 | 0 | 0 | 4.74 KB |
| master | ObjectExtractorSimpleBody |
net6.0 | 326ns | 1.6ns | 8.34ns | 0 | 0 | 0 | 280 B |
| master | ObjectExtractorSimpleBody |
netcoreapp3.1 | 396ns | 2.18ns | 12.5ns | 0 | 0 | 0 | 272 B |
| master | ObjectExtractorSimpleBody |
net472 | 297ns | 0.0328ns | 0.123ns | 0.0434 | 0 | 0 | 281 B |
| master | ObjectExtractorMoreComplexBody |
net6.0 | 6.23μs | 31.7ns | 142ns | 0 | 0 | 0 | 3.79 KB |
| master | ObjectExtractorMoreComplexBody |
netcoreapp3.1 | 7.95μs | 37.9ns | 152ns | 0 | 0 | 0 | 3.69 KB |
| master | ObjectExtractorMoreComplexBody |
net472 | 6.69μs | 4.07ns | 15.8ns | 0.6 | 0 | 0 | 3.8 KB |
| #6904 | AllCycleSimpleBody |
net6.0 | 1.12μs | 6.07ns | 35.9ns | 0 | 0 | 0 | 1.22 KB |
| #6904 | AllCycleSimpleBody |
netcoreapp3.1 | 1.42μs | 0.627ns | 2.26ns | 0 | 0 | 0 | 1.2 KB |
| #6904 | AllCycleSimpleBody |
net472 | 1μs | 0.136ns | 0.509ns | 0.191 | 0 | 0 | 1.23 KB |
| #6904 | AllCycleMoreComplexBody |
net6.0 | 7.26μs | 32.6ns | 126ns | 0 | 0 | 0 | 4.72 KB |
| #6904 | AllCycleMoreComplexBody |
netcoreapp3.1 | 9.19μs | 42.9ns | 177ns | 0 | 0 | 0 | 4.62 KB |
| #6904 | AllCycleMoreComplexBody |
net472 | 7.69μs | 2.14ns | 7.99ns | 0.732 | 0 | 0 | 4.74 KB |
| #6904 | ObjectExtractorSimpleBody |
net6.0 | 333ns | 0.145ns | 0.562ns | 0 | 0 | 0 | 280 B |
| #6904 | ObjectExtractorSimpleBody |
netcoreapp3.1 | 409ns | 2.14ns | 9.78ns | 0 | 0 | 0 | 272 B |
| #6904 | ObjectExtractorSimpleBody |
net472 | 296ns | 0.0219ns | 0.0849ns | 0.0433 | 0 | 0 | 281 B |
| #6904 | ObjectExtractorMoreComplexBody |
net6.0 | 6.37μs | 32.1ns | 136ns | 0 | 0 | 0 | 3.78 KB |
| #6904 | ObjectExtractorMoreComplexBody |
netcoreapp3.1 | 7.89μs | 38ns | 161ns | 0 | 0 | 0 | 3.69 KB |
| #6904 | ObjectExtractorMoreComplexBody |
net472 | 6.68μs | 1.46ns | 5.64ns | 0.602 | 0 | 0 | 3.8 KB |
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - 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 | EncodeArgs |
net6.0 | 77.8μs | 244ns | 947ns | 0 | 0 | 0 | 32.4 KB |
| master | EncodeArgs |
netcoreapp3.1 | 96.6μs | 293ns | 1.1μs | 0 | 0 | 0 | 32.4 KB |
| master | EncodeArgs |
net472 | 109μs | 17.9ns | 69.2ns | 4.89 | 0 | 0 | 32.5 KB |
| master | EncodeLegacyArgs |
net6.0 | 146μs | 29.6ns | 111ns | 0 | 0 | 0 | 2.14 KB |
| master | EncodeLegacyArgs |
netcoreapp3.1 | 201μs | 65.1ns | 244ns | 0 | 0 | 0 | 2.14 KB |
| master | EncodeLegacyArgs |
net472 | 264μs | 50.8ns | 197ns | 0 | 0 | 0 | 2.14 KB |
| #6904 | EncodeArgs |
net6.0 | 76.3μs | 219ns | 850ns | 0 | 0 | 0 | 32.4 KB |
| #6904 | EncodeArgs |
netcoreapp3.1 | 96.6μs | 314ns | 1.22μs | 0 | 0 | 0 | 32.4 KB |
| #6904 | EncodeArgs |
net472 | 108μs | 16.3ns | 63.2ns | 4.86 | 0 | 0 | 32.5 KB |
| #6904 | EncodeLegacyArgs |
net6.0 | 146μs | 4.96ns | 17.2ns | 0 | 0 | 0 | 2.14 KB |
| #6904 | EncodeLegacyArgs |
netcoreapp3.1 | 198μs | 42.4ns | 159ns | 0 | 0 | 0 | 2.14 KB |
| #6904 | EncodeLegacyArgs |
net472 | 262μs | 41.3ns | 160ns | 0 | 0 | 0 | 2.14 KB |
Benchmarks.Trace.Asm.AppSecWafBenchmark - 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 | RunWafRealisticBenchmark |
net6.0 | 421μs | 704ns | 2.54μs | 0 | 0 | 0 | 4.55 KB |
| master | RunWafRealisticBenchmark |
netcoreapp3.1 | 459μs | 2.67μs | 24.3μs | 0 | 0 | 0 | 4.48 KB |
| master | RunWafRealisticBenchmark |
net472 | 487μs | 964ns | 3.73μs | 0 | 0 | 0 | 0 b |
| master | RunWafRealisticBenchmarkWithAttack |
net6.0 | 306μs | 1.14μs | 4.12μs | 0 | 0 | 0 | 2.24 KB |
| master | RunWafRealisticBenchmarkWithAttack |
netcoreapp3.1 | 339μs | 2.82μs | 26.9μs | 0 | 0 | 0 | 2.22 KB |
| master | RunWafRealisticBenchmarkWithAttack |
net472 | 360μs | 175ns | 629ns | 0 | 0 | 0 | 0 b |
| #6904 | RunWafRealisticBenchmark |
net6.0 | 423μs | 2.19μs | 10μs | 0 | 0 | 0 | 4.55 KB |
| #6904 | RunWafRealisticBenchmark |
netcoreapp3.1 | 479μs | 3.85μs | 37μs | 0 | 0 | 0 | 4.48 KB |
| #6904 | RunWafRealisticBenchmark |
net472 | 489μs | 885ns | 3.31μs | 0 | 0 | 0 | 0 b |
| #6904 | RunWafRealisticBenchmarkWithAttack |
net6.0 | 303μs | 748ns | 2.7μs | 0 | 0 | 0 | 2.24 KB |
| #6904 | RunWafRealisticBenchmarkWithAttack |
netcoreapp3.1 | 341μs | 2.54μs | 24μs | 0 | 0 | 0 | 2.22 KB |
| #6904 | RunWafRealisticBenchmarkWithAttack |
net472 | 373μs | 868ns | 3.36μs | 0 | 0 | 0 | 0 b |
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 | 82.8μs | 174ns | 628ns | 0 | 0 | 0 | 18.97 KB |
| master | SendRequest |
netcoreapp3.1 | 97.2μs | 406ns | 2.57μs | 0 | 0 | 0 | 21.18 KB |
| master | SendRequest |
net472 | 0ns | 0ns | 0ns | 0 | 0 | 0 | 0 b |
| #6904 | SendRequest |
net6.0 | 85.4μs | 390ns | 1.4μs | 0 | 0 | 0 | 18.97 KB |
| #6904 | SendRequest |
netcoreapp3.1 | 98.1μs | 522ns | 3.98μs | 0 | 0 | 0 | 21.18 KB |
| #6904 | SendRequest |
net472 | 0ns | 0ns | 0ns | 0 | 0 | 0 | 0 b |
Benchmarks.Trace.CharSliceBenchmark - 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 | OriginalCharSlice |
net6.0 | 1.95ms | 960ns | 3.72μs | 0 | 0 | 0 | 640 KB |
| master | OriginalCharSlice |
netcoreapp3.1 | 3.93ms | 1.47μs | 5.29μs | 0 | 0 | 0 | 640.05 KB |
| master | OriginalCharSlice |
net472 | 2.61ms | 312ns | 1.08μs | 0 | 0 | 0 | 638.98 KB |
| master | OptimizedCharSlice |
net6.0 | 1.41ms | 1.74μs | 6.52μs | 0 | 0 | 0 | 0 b |
| master | OptimizedCharSlice |
netcoreapp3.1 | 2.79ms | 2.35μs | 9.11μs | 0 | 0 | 0 | 0 b |
| master | OptimizedCharSlice |
net472 | 1.93ms | 2.23μs | 8.63μs | 0 | 0 | 0 | 0 b |
| master | OptimizedCharSliceWithPool |
net6.0 | 999μs | 916ns | 3.43μs | 0 | 0 | 0 | 0 b |
| master | OptimizedCharSliceWithPool |
netcoreapp3.1 | 1.88ms | 1.13μs | 4.37μs | 0 | 0 | 0 | 0 b |
| master | OptimizedCharSliceWithPool |
net472 | 1.13ms | 686ns | 2.66μs | 0 | 0 | 0 | 0 b |
| #6904 | OriginalCharSlice |
net6.0 | 2.01ms | 760ns | 2.94μs | 0 | 0 | 0 | 640 KB |
| #6904 | OriginalCharSlice |
netcoreapp3.1 | 3.94ms | 1.08μs | 4.03μs | 0 | 0 | 0 | 640.05 KB |
| #6904 | OriginalCharSlice |
net472 | 2.63ms | 731ns | 2.74μs | 0 | 0 | 0 | 638.98 KB |
| #6904 | OptimizedCharSlice |
net6.0 | 1.5ms | 331ns | 1.24μs | 0 | 0 | 0 | 0 b |
| #6904 | OptimizedCharSlice |
netcoreapp3.1 | 2.83ms | 444ns | 1.6μs | 0 | 0 | 0 | 0 b |
| #6904 | OptimizedCharSlice |
net472 | 1.98ms | 576ns | 2.23μs | 0 | 0 | 0 | 0 b |
| #6904 | OptimizedCharSliceWithPool |
net6.0 | 1.03ms | 1.21μs | 4.7μs | 0 | 0 | 0 | 0 b |
| #6904 | OptimizedCharSliceWithPool |
netcoreapp3.1 | 1.96ms | 767ns | 2.97μs | 0 | 0 | 0 | 0 b |
| #6904 | OptimizedCharSliceWithPool |
net472 | 1.13ms | 590ns | 2.29μs | 0 | 0 | 0 | 0 b |
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed :heavy_check_mark: More allocations :warning:
More allocations :warning: in #6904
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0
41.63 KB
42.33 KB
699 B
1.68%
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472
56.03 KB
56.56 KB
535 B
0.95%
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | WriteAndFlushEnrichedTraces |
net6.0 | 680μs | 1.36μs | 5.25μs | 0 | 0 | 0 | 41.63 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 648μs | 1.26μs | 4.88μs | 0 | 0 | 0 | 41.93 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 956μs | 3.53μs | 13.7μs | 4.46 | 0 | 0 | 56.03 KB |
| #6904 | WriteAndFlushEnrichedTraces |
net6.0 | 744μs | 4.27μs | 32.8μs | 0 | 0 | 0 | 42.33 KB |
| #6904 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 663μs | 3.64μs | 22.2μs | 0 | 0 | 0 | 41.9 KB |
| #6904 | WriteAndFlushEnrichedTraces |
net472 | 974μs | 3.86μs | 14.9μs | 8.33 | 4.17 | 0 | 56.56 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.97μs | 6.87ns | 26.6ns | 0 | 0 | 0 | 968 B |
| master | ExecuteNonQuery |
netcoreapp3.1 | 2.6μs | 10.6ns | 40.9ns | 0 | 0 | 0 | 960 B |
| master | ExecuteNonQuery |
net472 | 2.64μs | 0.669ns | 2.59ns | 0.146 | 0 | 0 | 931 B |
| #6904 | ExecuteNonQuery |
net6.0 | 1.93μs | 9.54ns | 40.5ns | 0 | 0 | 0 | 968 B |
| #6904 | ExecuteNonQuery |
netcoreapp3.1 | 2.62μs | 5.98ns | 23.2ns | 0 | 0 | 0 | 960 B |
| #6904 | ExecuteNonQuery |
net472 | 2.67μs | 1.19ns | 4.6ns | 0.147 | 0 | 0 | 931 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.7μs | 6.62ns | 25.7ns | 0 | 0 | 0 | 952 B |
| master | CallElasticsearch |
netcoreapp3.1 | 2.34μs | 8.27ns | 32ns | 0 | 0 | 0 | 968 B |
| master | CallElasticsearch |
net472 | 3.35μs | 2.58ns | 9.98ns | 0.151 | 0 | 0 | 955 B |
| master | CallElasticsearchAsync |
net6.0 | 1.72μs | 8.26ns | 32ns | 0 | 0 | 0 | 928 B |
| master | CallElasticsearchAsync |
netcoreapp3.1 | 2.44μs | 5.62ns | 21.8ns | 0 | 0 | 0 | 1.02 KB |
| master | CallElasticsearchAsync |
net472 | 3.44μs | 4.03ns | 15.1ns | 0.156 | 0 | 0 | 1.01 KB |
| #6904 | CallElasticsearch |
net6.0 | 1.68μs | 6.95ns | 24.1ns | 0 | 0 | 0 | 952 B |
| #6904 | CallElasticsearch |
netcoreapp3.1 | 2.19μs | 10.3ns | 39.8ns | 0 | 0 | 0 | 968 B |
| #6904 | CallElasticsearch |
net472 | 3.34μs | 2.54ns | 9.85ns | 0.151 | 0 | 0 | 955 B |
| #6904 | CallElasticsearchAsync |
net6.0 | 1.7μs | 8.48ns | 35ns | 0 | 0 | 0 | 928 B |
| #6904 | CallElasticsearchAsync |
netcoreapp3.1 | 2.44μs | 9.96ns | 35.9ns | 0 | 0 | 0 | 1.02 KB |
| #6904 | CallElasticsearchAsync |
net472 | 3.5μs | 1.51ns | 5.84ns | 0.156 | 0 | 0 | 1.01 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.87μs | 6.49ns | 25.1ns | 0 | 0 | 0 | 896 B |
| master | ExecuteAsync |
netcoreapp3.1 | 2.33μs | 4.72ns | 18.3ns | 0 | 0 | 0 | 896 B |
| master | ExecuteAsync |
net472 | 2.59μs | 2.34ns | 9.07ns | 0.13 | 0 | 0 | 858 B |
| #6904 | ExecuteAsync |
net6.0 | 1.94μs | 6.46ns | 25ns | 0 | 0 | 0 | 896 B |
| #6904 | ExecuteAsync |
netcoreapp3.1 | 2.44μs | 6.03ns | 23.3ns | 0 | 0 | 0 | 896 B |
| #6904 | ExecuteAsync |
net472 | 2.53μs | 2.7ns | 10.4ns | 0.127 | 0 | 0 | 859 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 | 7.15μs | 17.2ns | 64.3ns | 0 | 0 | 0 | 2.29 KB |
| master | SendAsync |
netcoreapp3.1 | 8.65μs | 28.1ns | 109ns | 0 | 0 | 0 | 2.83 KB |
| master | SendAsync |
net472 | 12μs | 11.3ns | 43.8ns | 0.479 | 0 | 0 | 3.08 KB |
| #6904 | SendAsync |
net6.0 | 6.93μs | 7.8ns | 30.2ns | 0 | 0 | 0 | 2.29 KB |
| #6904 | SendAsync |
netcoreapp3.1 | 8.63μs | 40ns | 160ns | 0 | 0 | 0 | 2.83 KB |
| #6904 | SendAsync |
net472 | 11.8μs | 6.93ns | 25.9ns | 0.475 | 0 | 0 | 3.08 KB |
Benchmarks.Trace.Iast.StringAspectsBenchmark - Faster :tada: Fewer allocations :tada:
Faster :tada: in #6904
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1
1.224
537,500.00
439,200.00
bimodal
Fewer allocations :tada: in #6904
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0
272.25 KB
254.98 KB
-17.27 KB
-6.34%
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StringConcatBenchmark |
net6.0 | 45μs | 218ns | 927ns | 0 | 0 | 0 | 42.51 KB |
| master | StringConcatBenchmark |
netcoreapp3.1 | 49.5μs | 279ns | 1.72μs | 0 | 0 | 0 | 42.54 KB |
| master | StringConcatBenchmark |
net472 | 57.6μs | 143ns | 517ns | 0 | 0 | 0 | 49.15 KB |
| master | StringConcatAspectBenchmark |
net6.0 | 471μs | 2.15μs | 8.62μs | 0 | 0 | 0 | 272.25 KB |
| master | StringConcatAspectBenchmark |
netcoreapp3.1 | 540μs | 2.46μs | 13μs | 0 | 0 | 0 | 275.15 KB |
| master | StringConcatAspectBenchmark |
net472 | 406μs | 2.36μs | 19.9μs | 0 | 0 | 0 | 269.28 KB |
| #6904 | StringConcatBenchmark |
net6.0 | 44.7μs | 251ns | 1.74μs | 0 | 0 | 0 | 42.51 KB |
| #6904 | StringConcatBenchmark |
netcoreapp3.1 | 50.9μs | 256ns | 1.58μs | 0 | 0 | 0 | 42.54 KB |
| #6904 | StringConcatBenchmark |
net472 | 57.3μs | 71.8ns | 249ns | 0 | 0 | 0 | 49.15 KB |
| #6904 | StringConcatAspectBenchmark |
net6.0 | 452μs | 1.89μs | 8.24μs | 0 | 0 | 0 | 254.98 KB |
| #6904 | StringConcatAspectBenchmark |
netcoreapp3.1 | 461μs | 5.16μs | 49.7μs | 0 | 0 | 0 | 275.21 KB |
| #6904 | StringConcatAspectBenchmark |
net472 | 404μs | 2.15μs | 12.2μs | 0 | 0 | 0 | 270.34 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 | 2.66μs | 0.992ns | 3.84ns | 0 | 0 | 0 | 1.69 KB |
| master | EnrichedLog |
netcoreapp3.1 | 3.51μs | 14.4ns | 53.8ns | 0 | 0 | 0 | 1.7 KB |
| master | EnrichedLog |
net472 | 4.04μs | 4.4ns | 17ns | 0.242 | 0 | 0 | 1.6 KB |
| #6904 | EnrichedLog |
net6.0 | 2.69μs | 13ns | 56.7ns | 0 | 0 | 0 | 1.69 KB |
| #6904 | EnrichedLog |
netcoreapp3.1 | 3.59μs | 15.5ns | 59.9ns | 0 | 0 | 0 | 1.7 KB |
| #6904 | EnrichedLog |
net472 | 4μs | 5.64ns | 21.8ns | 0.237 | 0 | 0 | 1.6 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 | 121μs | 82.3ns | 285ns | 0 | 0 | 0 | 4.31 KB |
| master | EnrichedLog |
netcoreapp3.1 | 127μs | 407ns | 1.52μs | 0 | 0 | 0 | 4.31 KB |
| master | EnrichedLog |
net472 | 165μs | 44.7ns | 173ns | 0 | 0 | 0 | 4.51 KB |
| #6904 | EnrichedLog |
net6.0 | 123μs | 60.5ns | 210ns | 0 | 0 | 0 | 4.31 KB |
| #6904 | EnrichedLog |
netcoreapp3.1 | 127μs | 152ns | 589ns | 0 | 0 | 0 | 4.31 KB |
| #6904 | EnrichedLog |
net472 | 169μs | 260ns | 1.01μs | 0 | 0 | 0 | 4.51 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 | 5.06μs | 3.04ns | 11.8ns | 0 | 0 | 0 | 2.24 KB |
| master | EnrichedLog |
netcoreapp3.1 | 6.88μs | 14.1ns | 48.8ns | 0 | 0 | 0 | 2.26 KB |
| master | EnrichedLog |
net472 | 7.55μs | 6.05ns | 23.4ns | 0.303 | 0 | 0 | 2.05 KB |
| #6904 | EnrichedLog |
net6.0 | 5.14μs | 6.38ns | 23.9ns | 0 | 0 | 0 | 2.24 KB |
| #6904 | EnrichedLog |
netcoreapp3.1 | 6.96μs | 10.1ns | 37.8ns | 0 | 0 | 0 | 2.26 KB |
| #6904 | EnrichedLog |
net472 | 7.42μs | 4.55ns | 17.6ns | 0.296 | 0 | 0 | 2.05 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.88μs | 9.8ns | 46ns | 0 | 0 | 0 | 1.12 KB |
| master | SendReceive |
netcoreapp3.1 | 2.41μs | 12.4ns | 58.3ns | 0 | 0 | 0 | 1.14 KB |
| master | SendReceive |
net472 | 2.95μs | 1.88ns | 7.27ns | 0.176 | 0 | 0 | 1.12 KB |
| #6904 | SendReceive |
net6.0 | 1.86μs | 9.73ns | 46.7ns | 0 | 0 | 0 | 1.12 KB |
| #6904 | SendReceive |
netcoreapp3.1 | 2.46μs | 12.4ns | 56.8ns | 0 | 0 | 0 | 1.14 KB |
| #6904 | SendReceive |
net472 | 3.16μs | 3.21ns | 12.4ns | 0.172 | 0 | 0 | 1.12 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 | 4.47μs | 2.85ns | 10.3ns | 0 | 0 | 0 | 1.58 KB |
| master | EnrichedLog |
netcoreapp3.1 | 5.74μs | 25.9ns | 100ns | 0 | 0 | 0 | 1.63 KB |
| master | EnrichedLog |
net472 | 6.6μs | 7.36ns | 27.5ns | 0.295 | 0 | 0 | 2.03 KB |
| #6904 | EnrichedLog |
net6.0 | 4.27μs | 11ns | 41ns | 0 | 0 | 0 | 1.58 KB |
| #6904 | EnrichedLog |
netcoreapp3.1 | 5.67μs | 12.2ns | 47.4ns | 0 | 0 | 0 | 1.63 KB |
| #6904 | EnrichedLog |
net472 | 6.51μs | 8.53ns | 33ns | 0.293 | 0 | 0 | 2.03 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 | 759ns | 0.792ns | 3.07ns | 0 | 0 | 0 | 520 B |
| master | StartFinishSpan |
netcoreapp3.1 | 971ns | 4.82ns | 21ns | 0 | 0 | 0 | 520 B |
| master | StartFinishSpan |
net472 | 894ns | 3.57ns | 13.8ns | 0.08 | 0 | 0 | 522 B |
| master | StartFinishScope |
net6.0 | 895ns | 1.22ns | 4.72ns | 0 | 0 | 0 | 640 B |
| master | StartFinishScope |
netcoreapp3.1 | 1.13μs | 5.7ns | 24.9ns | 0 | 0 | 0 | 640 B |
| master | StartFinishScope |
net472 | 1.08μs | 1.04ns | 4.03ns | 0.092 | 0 | 0 | 602 B |
| master | StartFinishTwoScopes |
net6.0 | 1.79μs | 1.66ns | 6.22ns | 0 | 0 | 0 | 1.19 KB |
| master | StartFinishTwoScopes |
netcoreapp3.1 | 2.22μs | 10.4ns | 40.3ns | 0 | 0 | 0 | 1.19 KB |
| master | StartFinishTwoScopes |
net472 | 2.1μs | 0.216ns | 0.837ns | 0.168 | 0 | 0 | 1.08 KB |
| #6904 | StartFinishSpan |
net6.0 | 748ns | 4.08ns | 23.8ns | 0 | 0 | 0 | 520 B |
| #6904 | StartFinishSpan |
netcoreapp3.1 | 952ns | 4.33ns | 16.8ns | 0 | 0 | 0 | 520 B |
| #6904 | StartFinishSpan |
net472 | 877ns | 0.267ns | 1.03ns | 0.079 | 0 | 0 | 522 B |
| #6904 | StartFinishScope |
net6.0 | 912ns | 0.541ns | 2.02ns | 0 | 0 | 0 | 640 B |
| #6904 | StartFinishScope |
netcoreapp3.1 | 1.14μs | 5.18ns | 20.1ns | 0 | 0 | 0 | 640 B |
| #6904 | StartFinishScope |
net472 | 1.08μs | 0.502ns | 1.95ns | 0.0922 | 0 | 0 | 602 B |
| #6904 | StartFinishTwoScopes |
net6.0 | 1.74μs | 9.2ns | 46ns | 0 | 0 | 0 | 1.19 KB |
| #6904 | StartFinishTwoScopes |
netcoreapp3.1 | 2.26μs | 11.6ns | 51.7ns | 0 | 0 | 0 | 1.19 KB |
| #6904 | StartFinishTwoScopes |
net472 | 2.14μs | 3.2ns | 12.4ns | 0.171 | 0 | 0 | 1.08 KB |
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 | 1.05μs | 5.24ns | 23.5ns | 0 | 0 | 0 | 640 B |
| master | RunOnMethodBegin |
netcoreapp3.1 | 1.41μs | 6.52ns | 26.1ns | 0 | 0 | 0 | 640 B |
| master | RunOnMethodBegin |
net472 | 1.43μs | 0.431ns | 1.67ns | 0.0929 | 0 | 0 | 602 B |
| #6904 | RunOnMethodBegin |
net6.0 | 1.07μs | 3.51ns | 13.6ns | 0 | 0 | 0 | 640 B |
| #6904 | RunOnMethodBegin |
netcoreapp3.1 | 1.46μs | 1.52ns | 5.9ns | 0 | 0 | 0 | 640 B |
| #6904 | RunOnMethodBegin |
net472 | 1.42μs | 0.31ns | 1.12ns | 0.0931 | 0 | 0 | 602 B |
@bouwkast + @link04 - would ya'll mind taking a preliminary look Things I'm unsure of
- Creating test for distributed trace - I added this already but not sure if I should keep it
- Any additional testing scenarios
- I took what made sense from OTEL's tests: https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/8f7b44160f801f23b224d0165cd21221cbd4e306/test/OpenTelemetry.Instrumentation.Hangfire.Tests
- Should I be removing extra boilerplate code I'm using from the duck typing or keep them in?
- For the Interface Proxy I think I need to keep them or else I get yelled at that it's not a match from my testing.
⚠️ Warnings
❄️ 4 New flaky tests detected
TestBlockingActionfromDatadog.Trace.Security.IntegrationTests.Rcm.AspNetCore5AsmActionsConfiguration(Datadog)-------- System.Net.Sockets.SocketException : No connection could be made because the target machine actively refused it. [::ffff:127.0.0.1]:64626localhost:64626)e because the target machine actively refused it. [::ffff:127.0.0.1]:64626 (localhost:64626)
TestBlockingActionfromDatadog.Trace.Security.IntegrationTests.Rcm.AspNetCore5AsmActionsConfiguration(Datadog)Verified path: D:\a\_work\1\s\tracer\test\Datadog.Trace.Security.IntegrationTests\..\snapshots\Security.AspNetCore5AsmActionsConfiguration.__type=redirect_request_statusCode=302_argument=dummy_rule_actionName=block.verified.txtue":"","parameters":[{"address":"server.request.query","highlight":["dummy_rule"],"key_path":["arg","0"],"value":"dummy_rule"}]}],"security_response_id":"Guid_3"}]},
TestBlockingActionfromDatadog.Trace.Security.IntegrationTests.Rcm.AspNetCore5AsmActionsConfigurationView all
TestBlockingActionfromDatadog.Trace.Security.IntegrationTests.Rcm.AspNetCore5AsmActionsConfiguration(Datadog)Verified path: D:\a\_work\1\s\tracer\test\Datadog.Trace.Security.IntegrationTests\..\snapshots\Security.AspNetCore5AsmActionsConfiguration.__type=block_request_statusCode=200_argument=dummy_rule_actionName=block.verified.txtvalue":"","parameters":[{"address":"server.request.query","highlight":["dummy_rule"],"key_path":["arg","0"],"value":"dummy_rule"}]}],"security_response_id":"Guid_3"}]},
ℹ️ Info
🧪 All tests passed
This comment will be updated automatically if new data arrives.🔗 Commit SHA: 12fc3fc | Docs | Datadog PR Page | Was this helpful? Give us feedback!
@codex review
Codex Review: Didn't find any major issues. Hooray!
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting
- @codex fix this CI failure
- @codex address that feedback
@zacharycmontoya - I implemented the changes and the snapshot changed a lot. Please let me know if there's anything else.
@bouwkast - when you get the chance 🥺