Summary of changes
Borrows small amount of code from: https://github.com/DataDog/dd-trace-dotnet/pull/3029
Uses a file system watcher to allow remote config received events to be created from files and therefore used in integration tests.
Also contains a partial implementation of 1-click activation. This implementation is not correct, since if asm was explicitly disabled, we should not allow it to be activated by remote config.
Test coverage
A single integration test.
Benchmarks Report :snail:
Benchmarks for #3051 compared to master:
- 1 benchmarks are faster, with geometric mean 1.299
- All benchmarks have the same allocations
The following thresholds were used for comparing the benchmark speeds:
- Mann–Whitney U test with statistical test for significance of 5%
- Only results indicating a difference greater than 10% and 0.3 ns are considered.
Allocation changes below 0.5% are ignored.
Benchmark details
Benchmarks.Trace.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 |
net472 |
722μs |
326ns |
1.26μs |
0.359 |
0 |
0 |
3.18 KB |
master |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
478μs |
344ns |
1.33μs |
0 |
0 |
0 |
2.58 KB |
#3051 |
WriteAndFlushEnrichedTraces |
net472 |
713μs |
305ns |
1.14μs |
0.357 |
0 |
0 |
3.18 KB |
#3051 |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
457μs |
193ns |
749ns |
0 |
0 |
0 |
2.58 KB |
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:
Faster :tada: in #3051
Benchmark |
base/diff |
Base Median (ns) |
Diff Median (ns) |
Modality |
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 |
1.299 |
2,208.74 |
1,699.76 |
|
Raw results
Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
master |
AllCycleSimpleBody |
net472 |
2.21μs |
2.52ns |
9.44ns |
0.237 |
0 |
0 |
1.49 KB |
master |
AllCycleSimpleBody |
netcoreapp3.1 |
1.8μs |
2.11ns |
8.16ns |
0.0186 |
0 |
0 |
1.37 KB |
master |
AllCycleMoreComplexBody |
net472 |
17.1μs |
14.3ns |
53.6ns |
1.38 |
0.0171 |
0 |
8.75 KB |
master |
AllCycleMoreComplexBody |
netcoreapp3.1 |
14.2μs |
17.1ns |
63.8ns |
0.107 |
0 |
0 |
7.85 KB |
master |
BodyExtractorSimpleBody |
net472 |
277ns |
0.284ns |
1.02ns |
0.0573 |
0 |
0 |
361 B |
master |
BodyExtractorSimpleBody |
netcoreapp3.1 |
227ns |
0.136ns |
0.509ns |
0.00376 |
0 |
0 |
272 B |
master |
BodyExtractorMoreComplexBody |
net472 |
15.1μs |
6.97ns |
26.1ns |
1.21 |
0.0151 |
0 |
7.62 KB |
master |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
12μs |
16.6ns |
62.2ns |
0.0902 |
0 |
0 |
6.75 KB |
#3051 |
AllCycleSimpleBody |
net472 |
1.7μs |
0.575ns |
2.15ns |
0.237 |
0 |
0 |
1.49 KB |
#3051 |
AllCycleSimpleBody |
netcoreapp3.1 |
1.79μs |
3.83ns |
13.8ns |
0.0186 |
0 |
0 |
1.37 KB |
#3051 |
AllCycleMoreComplexBody |
net472 |
16.5μs |
15.8ns |
61.1ns |
1.39 |
0.0248 |
0 |
8.75 KB |
#3051 |
AllCycleMoreComplexBody |
netcoreapp3.1 |
14.4μs |
63.8ns |
247ns |
0.0989 |
0 |
0 |
7.85 KB |
#3051 |
BodyExtractorSimpleBody |
net472 |
267ns |
0.319ns |
1.24ns |
0.0573 |
0 |
0 |
361 B |
#3051 |
BodyExtractorSimpleBody |
netcoreapp3.1 |
222ns |
0.274ns |
1.03ns |
0.0037 |
0 |
0 |
272 B |
#3051 |
BodyExtractorMoreComplexBody |
net472 |
15.5μs |
14.6ns |
56.6ns |
1.21 |
0.0156 |
0 |
7.62 KB |
#3051 |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
12.7μs |
17.9ns |
67.2ns |
0.0881 |
0 |
0 |
6.75 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 |
net472 |
0ns |
0ns |
0ns |
0 |
0 |
0 |
0 b |
master |
SendRequest |
netcoreapp3.1 |
177μs |
225ns |
872ns |
0.266 |
0 |
0 |
20.33 KB |
#3051 |
SendRequest |
net472 |
0ns |
0ns |
0ns |
0 |
0 |
0 |
0 b |
#3051 |
SendRequest |
netcoreapp3.1 |
180μs |
175ns |
678ns |
0.268 |
0 |
0 |
20.33 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 |
net472 |
1.57μs |
0.513ns |
1.92ns |
0.126 |
0.000785 |
0 |
794 B |
master |
ExecuteNonQuery |
netcoreapp3.1 |
1.22μs |
0.346ns |
1.29ns |
0.011 |
0 |
0 |
824 B |
#3051 |
ExecuteNonQuery |
net472 |
1.56μs |
0.289ns |
1.04ns |
0.126 |
0.000788 |
0 |
794 B |
#3051 |
ExecuteNonQuery |
netcoreapp3.1 |
1.24μs |
0.257ns |
0.996ns |
0.0112 |
0 |
0 |
824 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 |
net472 |
2.28μs |
0.705ns |
2.73ns |
0.159 |
0 |
0 |
1 KB |
master |
CallElasticsearch |
netcoreapp3.1 |
1.43μs |
0.613ns |
2.3ns |
0.0136 |
0 |
0 |
984 B |
master |
CallElasticsearchAsync |
net472 |
2.43μs |
0.81ns |
3.14ns |
0.18 |
0 |
0 |
1.14 KB |
master |
CallElasticsearchAsync |
netcoreapp3.1 |
1.49μs |
0.281ns |
1.09ns |
0.0149 |
0 |
0 |
1.1 KB |
#3051 |
CallElasticsearch |
net472 |
2.16μs |
0.539ns |
2.02ns |
0.159 |
0 |
0 |
1 KB |
#3051 |
CallElasticsearch |
netcoreapp3.1 |
1.4μs |
1.41ns |
5.26ns |
0.0132 |
0 |
0 |
984 B |
#3051 |
CallElasticsearchAsync |
net472 |
2.27μs |
0.737ns |
2.86ns |
0.181 |
0 |
0 |
1.14 KB |
#3051 |
CallElasticsearchAsync |
netcoreapp3.1 |
1.49μs |
0.704ns |
2.64ns |
0.0149 |
0 |
0 |
1.1 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 |
net472 |
2.34μs |
5.11ns |
19.8ns |
0.199 |
0 |
0 |
1.26 KB |
master |
ExecuteAsync |
netcoreapp3.1 |
1.59μs |
2.72ns |
10.2ns |
0.0164 |
0 |
0 |
1.22 KB |
#3051 |
ExecuteAsync |
net472 |
2.41μs |
2.5ns |
9.69ns |
0.199 |
0 |
0 |
1.26 KB |
#3051 |
ExecuteAsync |
netcoreapp3.1 |
1.56μs |
0.475ns |
1.84ns |
0.0163 |
0 |
0 |
1.22 KB |
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 |
net472 |
4.88μs |
8.01ns |
31ns |
0.393 |
0 |
0 |
2.48 KB |
master |
SendAsync |
netcoreapp3.1 |
3.28μs |
7.51ns |
29.1ns |
0.0324 |
0 |
0 |
2.36 KB |
#3051 |
SendAsync |
net472 |
5.04μs |
3.54ns |
13.7ns |
0.392 |
0 |
0 |
2.48 KB |
#3051 |
SendAsync |
netcoreapp3.1 |
3.36μs |
1.73ns |
6.72ns |
0.0319 |
0 |
0 |
2.36 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 |
net472 |
2.89μs |
0.935ns |
3.5ns |
0.263 |
0 |
0 |
1.66 KB |
master |
EnrichedLog |
netcoreapp3.1 |
2.29μs |
0.961ns |
3.72ns |
0.0239 |
0 |
0 |
1.73 KB |
#3051 |
EnrichedLog |
net472 |
2.86μs |
5.15ns |
18.6ns |
0.263 |
0 |
0 |
1.66 KB |
#3051 |
EnrichedLog |
netcoreapp3.1 |
2.33μs |
0.565ns |
2.11ns |
0.0232 |
0 |
0 |
1.73 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 |
net472 |
146μs |
93.9ns |
364ns |
0.66 |
0.22 |
0 |
4.5 KB |
master |
EnrichedLog |
netcoreapp3.1 |
113μs |
82.4ns |
308ns |
0.056 |
0 |
0 |
4.38 KB |
#3051 |
EnrichedLog |
net472 |
146μs |
47.1ns |
176ns |
0.656 |
0.219 |
0 |
4.5 KB |
#3051 |
EnrichedLog |
netcoreapp3.1 |
112μs |
97.6ns |
365ns |
0.056 |
0 |
0 |
4.38 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 |
net472 |
5.32μs |
12.7ns |
49.4ns |
0.545 |
0.00262 |
0 |
3.43 KB |
master |
EnrichedLog |
netcoreapp3.1 |
4.22μs |
6.58ns |
25.5ns |
0.0512 |
0 |
0 |
3.8 KB |
#3051 |
EnrichedLog |
net472 |
5.58μs |
2.89ns |
11.2ns |
0.545 |
0.00279 |
0 |
3.43 KB |
#3051 |
EnrichedLog |
netcoreapp3.1 |
4.29μs |
1.49ns |
5.57ns |
0.0515 |
0 |
0 |
3.8 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 |
net472 |
1.98μs |
1.18ns |
4.43ns |
0.194 |
0 |
0 |
1.22 KB |
master |
SendReceive |
netcoreapp3.1 |
1.61μs |
0.467ns |
1.75ns |
0.0162 |
0 |
0 |
1.21 KB |
#3051 |
SendReceive |
net472 |
1.96μs |
0.689ns |
2.58ns |
0.193 |
0 |
0 |
1.22 KB |
#3051 |
SendReceive |
netcoreapp3.1 |
1.67μs |
0.552ns |
2.07ns |
0.0159 |
0 |
0 |
1.21 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 |
net472 |
4.78μs |
1.93ns |
7.46ns |
0.329 |
0 |
0 |
2.08 KB |
master |
EnrichedLog |
netcoreapp3.1 |
4.12μs |
1.73ns |
6.48ns |
0.0227 |
0 |
0 |
1.69 KB |
#3051 |
EnrichedLog |
net472 |
4.59μs |
1.81ns |
6.52ns |
0.328 |
0 |
0 |
2.08 KB |
#3051 |
EnrichedLog |
netcoreapp3.1 |
4.23μs |
1.31ns |
4.91ns |
0.0232 |
0 |
0 |
1.69 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 |
net472 |
860ns |
0.59ns |
2.28ns |
0.105 |
0 |
0 |
658 B |
master |
StartFinishSpan |
netcoreapp3.1 |
733ns |
0.251ns |
0.906ns |
0.00875 |
0 |
0 |
648 B |
master |
StartFinishScope |
net472 |
1.05μs |
0.702ns |
2.63ns |
0.117 |
0 |
0 |
738 B |
master |
StartFinishScope |
netcoreapp3.1 |
881ns |
0.501ns |
1.87ns |
0.0101 |
0 |
0 |
768 B |
#3051 |
StartFinishSpan |
net472 |
819ns |
0.171ns |
0.662ns |
0.104 |
0 |
0 |
658 B |
#3051 |
StartFinishSpan |
netcoreapp3.1 |
758ns |
0.346ns |
1.3ns |
0.00865 |
0 |
0 |
648 B |
#3051 |
StartFinishScope |
net472 |
1.07μs |
0.531ns |
1.99ns |
0.117 |
0 |
0 |
738 B |
#3051 |
StartFinishScope |
netcoreapp3.1 |
929ns |
0.246ns |
0.955ns |
0.0102 |
0 |
0 |
768 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
master |
RunOnMethodBegin |
net472 |
1.16μs |
0.7ns |
2.71ns |
0.117 |
0 |
0 |
738 B |
master |
RunOnMethodBegin |
netcoreapp3.1 |
1.04μs |
0.506ns |
1.75ns |
0.0104 |
0 |
0 |
768 B |
#3051 |
RunOnMethodBegin |
net472 |
1.26μs |
0.319ns |
1.19ns |
0.117 |
0 |
0 |
738 B |
#3051 |
RunOnMethodBegin |
netcoreapp3.1 |
1.01μs |
0.506ns |
1.83ns |
0.0107 |
0 |
0 |
768 B |
Benchmarks Report :snail:
Benchmarks for #3051 compared to master:
- 1 benchmarks are faster, with geometric mean 1.255
- All benchmarks have the same allocations
The following thresholds were used for comparing the benchmark speeds:
- Mann–Whitney U test with statistical test for significance of 5%
- Only results indicating a difference greater than 10% and 0.3 ns are considered.
Allocation changes below 0.5% are ignored.
Benchmark details
Benchmarks.Trace.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 |
net472 |
722μs |
326ns |
1.26μs |
0.359 |
0 |
0 |
3.18 KB |
master |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
478μs |
344ns |
1.33μs |
0 |
0 |
0 |
2.58 KB |
#3051 |
WriteAndFlushEnrichedTraces |
net472 |
726μs |
618ns |
2.31μs |
0.365 |
0 |
0 |
3.18 KB |
#3051 |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
454μs |
145ns |
542ns |
0 |
0 |
0 |
2.58 KB |
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:
Faster :tada: in #3051
Benchmark |
base/diff |
Base Median (ns) |
Diff Median (ns) |
Modality |
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 |
1.255 |
2,208.74 |
1,760.01 |
|
Raw results
Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
master |
AllCycleSimpleBody |
net472 |
2.21μs |
2.52ns |
9.44ns |
0.237 |
0 |
0 |
1.49 KB |
master |
AllCycleSimpleBody |
netcoreapp3.1 |
1.8μs |
2.11ns |
8.16ns |
0.0186 |
0 |
0 |
1.37 KB |
master |
AllCycleMoreComplexBody |
net472 |
17.1μs |
14.3ns |
53.6ns |
1.38 |
0.0171 |
0 |
8.75 KB |
master |
AllCycleMoreComplexBody |
netcoreapp3.1 |
14.2μs |
17.1ns |
63.8ns |
0.107 |
0 |
0 |
7.85 KB |
master |
BodyExtractorSimpleBody |
net472 |
277ns |
0.284ns |
1.02ns |
0.0573 |
0 |
0 |
361 B |
master |
BodyExtractorSimpleBody |
netcoreapp3.1 |
227ns |
0.136ns |
0.509ns |
0.00376 |
0 |
0 |
272 B |
master |
BodyExtractorMoreComplexBody |
net472 |
15.1μs |
6.97ns |
26.1ns |
1.21 |
0.0151 |
0 |
7.62 KB |
master |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
12μs |
16.6ns |
62.2ns |
0.0902 |
0 |
0 |
6.75 KB |
#3051 |
AllCycleSimpleBody |
net472 |
1.76μs |
1.68ns |
6.3ns |
0.237 |
0 |
0 |
1.49 KB |
#3051 |
AllCycleSimpleBody |
netcoreapp3.1 |
1.82μs |
2.25ns |
8.42ns |
0.019 |
0 |
0 |
1.37 KB |
#3051 |
AllCycleMoreComplexBody |
net472 |
16.4μs |
9.55ns |
37ns |
1.39 |
0.0246 |
0 |
8.75 KB |
#3051 |
AllCycleMoreComplexBody |
netcoreapp3.1 |
14.1μs |
52.9ns |
205ns |
0.105 |
0 |
0 |
7.85 KB |
#3051 |
BodyExtractorSimpleBody |
net472 |
269ns |
0.283ns |
1.1ns |
0.0573 |
0 |
0 |
361 B |
#3051 |
BodyExtractorSimpleBody |
netcoreapp3.1 |
222ns |
0.192ns |
0.717ns |
0.0037 |
0 |
0 |
272 B |
#3051 |
BodyExtractorMoreComplexBody |
net472 |
14.7μs |
6.09ns |
23.6ns |
1.21 |
0.0148 |
0 |
7.62 KB |
#3051 |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
12μs |
14.6ns |
54.7ns |
0.0898 |
0 |
0 |
6.75 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 |
net472 |
0ns |
0ns |
0ns |
0 |
0 |
0 |
0 b |
master |
SendRequest |
netcoreapp3.1 |
177μs |
225ns |
872ns |
0.266 |
0 |
0 |
20.33 KB |
#3051 |
SendRequest |
net472 |
0ns |
0ns |
0ns |
0 |
0 |
0 |
0 b |
#3051 |
SendRequest |
netcoreapp3.1 |
179μs |
178ns |
689ns |
0.267 |
0 |
0 |
20.33 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 |
net472 |
1.57μs |
0.513ns |
1.92ns |
0.126 |
0.000785 |
0 |
794 B |
master |
ExecuteNonQuery |
netcoreapp3.1 |
1.22μs |
0.346ns |
1.29ns |
0.011 |
0 |
0 |
824 B |
#3051 |
ExecuteNonQuery |
net472 |
1.58μs |
0.717ns |
2.78ns |
0.126 |
0.000786 |
0 |
794 B |
#3051 |
ExecuteNonQuery |
netcoreapp3.1 |
1.3μs |
1.54ns |
5.97ns |
0.0111 |
0 |
0 |
824 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 |
net472 |
2.28μs |
0.705ns |
2.73ns |
0.159 |
0 |
0 |
1 KB |
master |
CallElasticsearch |
netcoreapp3.1 |
1.43μs |
0.613ns |
2.3ns |
0.0136 |
0 |
0 |
984 B |
master |
CallElasticsearchAsync |
net472 |
2.43μs |
0.81ns |
3.14ns |
0.18 |
0 |
0 |
1.14 KB |
master |
CallElasticsearchAsync |
netcoreapp3.1 |
1.49μs |
0.281ns |
1.09ns |
0.0149 |
0 |
0 |
1.1 KB |
#3051 |
CallElasticsearch |
net472 |
2.2μs |
0.765ns |
2.76ns |
0.159 |
0 |
0 |
1 KB |
#3051 |
CallElasticsearch |
netcoreapp3.1 |
1.33μs |
0.433ns |
1.62ns |
0.0134 |
0 |
0 |
984 B |
#3051 |
CallElasticsearchAsync |
net472 |
2.35μs |
1.24ns |
4.79ns |
0.18 |
0 |
0 |
1.14 KB |
#3051 |
CallElasticsearchAsync |
netcoreapp3.1 |
1.46μs |
0.646ns |
2.5ns |
0.0146 |
0 |
0 |
1.1 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 |
net472 |
2.34μs |
5.11ns |
19.8ns |
0.199 |
0 |
0 |
1.26 KB |
master |
ExecuteAsync |
netcoreapp3.1 |
1.59μs |
2.72ns |
10.2ns |
0.0164 |
0 |
0 |
1.22 KB |
#3051 |
ExecuteAsync |
net472 |
2.48μs |
1.96ns |
7.34ns |
0.2 |
0 |
0 |
1.26 KB |
#3051 |
ExecuteAsync |
netcoreapp3.1 |
1.65μs |
0.581ns |
2.17ns |
0.0165 |
0 |
0 |
1.22 KB |
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 |
net472 |
4.88μs |
8.01ns |
31ns |
0.393 |
0 |
0 |
2.48 KB |
master |
SendAsync |
netcoreapp3.1 |
3.28μs |
7.51ns |
29.1ns |
0.0324 |
0 |
0 |
2.36 KB |
#3051 |
SendAsync |
net472 |
5.08μs |
1.57ns |
5.86ns |
0.394 |
0 |
0 |
2.48 KB |
#3051 |
SendAsync |
netcoreapp3.1 |
3.27μs |
2.19ns |
7.91ns |
0.0312 |
0 |
0 |
2.36 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 |
net472 |
2.89μs |
0.935ns |
3.5ns |
0.263 |
0 |
0 |
1.66 KB |
master |
EnrichedLog |
netcoreapp3.1 |
2.29μs |
0.961ns |
3.72ns |
0.0239 |
0 |
0 |
1.73 KB |
#3051 |
EnrichedLog |
net472 |
2.87μs |
1.03ns |
3.71ns |
0.264 |
0 |
0 |
1.66 KB |
#3051 |
EnrichedLog |
netcoreapp3.1 |
2.38μs |
0.848ns |
3.17ns |
0.0229 |
0 |
0 |
1.73 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 |
net472 |
146μs |
93.9ns |
364ns |
0.66 |
0.22 |
0 |
4.5 KB |
master |
EnrichedLog |
netcoreapp3.1 |
113μs |
82.4ns |
308ns |
0.056 |
0 |
0 |
4.38 KB |
#3051 |
EnrichedLog |
net472 |
151μs |
116ns |
449ns |
0.67 |
0.223 |
0 |
4.5 KB |
#3051 |
EnrichedLog |
netcoreapp3.1 |
114μs |
260ns |
1.01μs |
0.0571 |
0 |
0 |
4.38 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 |
net472 |
5.32μs |
12.7ns |
49.4ns |
0.545 |
0.00262 |
0 |
3.43 KB |
master |
EnrichedLog |
netcoreapp3.1 |
4.22μs |
6.58ns |
25.5ns |
0.0512 |
0 |
0 |
3.8 KB |
#3051 |
EnrichedLog |
net472 |
5.47μs |
5.75ns |
22.3ns |
0.543 |
0.0028 |
0 |
3.43 KB |
#3051 |
EnrichedLog |
netcoreapp3.1 |
4.32μs |
2.91ns |
10.9ns |
0.0518 |
0 |
0 |
3.8 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 |
net472 |
1.98μs |
1.18ns |
4.43ns |
0.194 |
0 |
0 |
1.22 KB |
master |
SendReceive |
netcoreapp3.1 |
1.61μs |
0.467ns |
1.75ns |
0.0162 |
0 |
0 |
1.21 KB |
#3051 |
SendReceive |
net472 |
2.03μs |
1.07ns |
4.16ns |
0.193 |
0 |
0 |
1.22 KB |
#3051 |
SendReceive |
netcoreapp3.1 |
1.73μs |
0.97ns |
3.63ns |
0.0165 |
0 |
0 |
1.21 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 |
net472 |
4.78μs |
1.93ns |
7.46ns |
0.329 |
0 |
0 |
2.08 KB |
master |
EnrichedLog |
netcoreapp3.1 |
4.12μs |
1.73ns |
6.48ns |
0.0227 |
0 |
0 |
1.69 KB |
#3051 |
EnrichedLog |
net472 |
4.66μs |
1.91ns |
7.14ns |
0.329 |
0 |
0 |
2.08 KB |
#3051 |
EnrichedLog |
netcoreapp3.1 |
4.33μs |
1.59ns |
5.96ns |
0.0216 |
0 |
0 |
1.69 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 |
net472 |
860ns |
0.59ns |
2.28ns |
0.105 |
0 |
0 |
658 B |
master |
StartFinishSpan |
netcoreapp3.1 |
733ns |
0.251ns |
0.906ns |
0.00875 |
0 |
0 |
648 B |
master |
StartFinishScope |
net472 |
1.05μs |
0.702ns |
2.63ns |
0.117 |
0 |
0 |
738 B |
master |
StartFinishScope |
netcoreapp3.1 |
881ns |
0.501ns |
1.87ns |
0.0101 |
0 |
0 |
768 B |
#3051 |
StartFinishSpan |
net472 |
843ns |
0.191ns |
0.713ns |
0.105 |
0 |
0 |
658 B |
#3051 |
StartFinishSpan |
netcoreapp3.1 |
763ns |
0.585ns |
2.11ns |
0.00883 |
0 |
0 |
648 B |
#3051 |
StartFinishScope |
net472 |
1.11μs |
0.359ns |
1.34ns |
0.117 |
0 |
0 |
738 B |
#3051 |
StartFinishScope |
netcoreapp3.1 |
938ns |
0.361ns |
1.35ns |
0.0103 |
0 |
0 |
768 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
master |
RunOnMethodBegin |
net472 |
1.16μs |
0.7ns |
2.71ns |
0.117 |
0 |
0 |
738 B |
master |
RunOnMethodBegin |
netcoreapp3.1 |
1.04μs |
0.506ns |
1.75ns |
0.0104 |
0 |
0 |
768 B |
#3051 |
RunOnMethodBegin |
net472 |
1.17μs |
0.407ns |
1.58ns |
0.117 |
0 |
0 |
738 B |
#3051 |
RunOnMethodBegin |
netcoreapp3.1 |
967ns |
0.358ns |
1.39ns |
0.0106 |
0 |
0 |
768 B |