Summary of changes
Ensures an using the library can start after the agent and still receive remote config updates.
Reason for change
https://datadoghq.atlassian.net/browse/APPSEC-5523
Test coverage
This is a test.
Benchmarks Report :snail:
Benchmarks for #3281 compared to master:
- All benchmarks have the same speed
- 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 |
709μs |
541ns |
2.02μs |
0.355 |
0 |
0 |
3.18 KB |
| master |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
456μs |
461ns |
1.79μs |
0 |
0 |
0 |
2.58 KB |
| #3281 |
WriteAndFlushEnrichedTraces |
net472 |
715μs |
392ns |
1.52μs |
0.355 |
0 |
0 |
3.18 KB |
| #3281 |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
447μs |
323ns |
1.25μs |
0 |
0 |
0 |
2.58 KB |
Benchmarks.Trace.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 |
net472 |
196ns |
0.0443ns |
0.16ns |
0.0727 |
0 |
0 |
457 B |
| master |
AllCycleSimpleBody |
netcoreapp3.1 |
258ns |
0.128ns |
0.479ns |
0.00629 |
0 |
0 |
456 B |
| master |
AllCycleMoreComplexBody |
net472 |
192ns |
0.0859ns |
0.31ns |
0.0688 |
0 |
0 |
433 B |
| master |
AllCycleMoreComplexBody |
netcoreapp3.1 |
253ns |
0.0973ns |
0.377ns |
0.00594 |
0 |
0 |
432 B |
| master |
BodyExtractorSimpleBody |
net472 |
276ns |
0.16ns |
0.598ns |
0.0573 |
0 |
0 |
361 B |
| master |
BodyExtractorSimpleBody |
netcoreapp3.1 |
236ns |
0.224ns |
0.838ns |
0.00378 |
0 |
0 |
272 B |
| master |
BodyExtractorMoreComplexBody |
net472 |
15.8μs |
10.6ns |
41ns |
1.21 |
0.0156 |
0 |
7.62 KB |
| master |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
13.1μs |
8.56ns |
33.1ns |
0.0848 |
0 |
0 |
6.75 KB |
| #3281 |
AllCycleSimpleBody |
net472 |
196ns |
0.0377ns |
0.141ns |
0.0726 |
0 |
0 |
457 B |
| #3281 |
AllCycleSimpleBody |
netcoreapp3.1 |
257ns |
0.116ns |
0.417ns |
0.00634 |
0 |
0 |
456 B |
| #3281 |
AllCycleMoreComplexBody |
net472 |
192ns |
0.0267ns |
0.0998ns |
0.0688 |
0 |
0 |
433 B |
| #3281 |
AllCycleMoreComplexBody |
netcoreapp3.1 |
260ns |
0.355ns |
1.38ns |
0.00587 |
0 |
0 |
432 B |
| #3281 |
BodyExtractorSimpleBody |
net472 |
284ns |
0.186ns |
0.695ns |
0.0572 |
0 |
0 |
361 B |
| #3281 |
BodyExtractorSimpleBody |
netcoreapp3.1 |
244ns |
0.197ns |
0.738ns |
0.0037 |
0 |
0 |
272 B |
| #3281 |
BodyExtractorMoreComplexBody |
net472 |
16.2μs |
4.49ns |
16.2ns |
1.21 |
0.0162 |
0 |
7.62 KB |
| #3281 |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
13.2μs |
5.29ns |
19.1ns |
0.0928 |
0 |
0 |
6.75 KB |
Benchmarks.Trace.AspNetCoreBenchmark - Unknown :shrug: 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 |
182μs |
305ns |
1.18μs |
0.18 |
0 |
0 |
20.68 KB |
| #3281 |
SendRequest |
net472 |
0ns |
0ns |
0ns |
0 |
0 |
0 |
0 b |
| #3281 |
SendRequest |
netcoreapp3.1 |
180μs |
178ns |
689ns |
0.267 |
0 |
0 |
20.68 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.81μs |
1.36ns |
5.07ns |
0.155 |
0.000911 |
0 |
979 B |
| master |
ExecuteNonQuery |
netcoreapp3.1 |
1.45μs |
0.661ns |
2.47ns |
0.0131 |
0 |
0 |
968 B |
| #3281 |
ExecuteNonQuery |
net472 |
1.78μs |
1.31ns |
5.07ns |
0.155 |
0.000893 |
0 |
979 B |
| #3281 |
ExecuteNonQuery |
netcoreapp3.1 |
1.46μs |
0.864ns |
3.34ns |
0.0132 |
0 |
0 |
968 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.53μs |
7.55ns |
29.2ns |
0.188 |
0 |
0 |
1.19 KB |
| master |
CallElasticsearch |
netcoreapp3.1 |
1.61μs |
1.01ns |
3.91ns |
0.0151 |
0 |
0 |
1.13 KB |
| master |
CallElasticsearchAsync |
net472 |
2.7μs |
1.73ns |
6.72ns |
0.21 |
0 |
0 |
1.32 KB |
| master |
CallElasticsearchAsync |
netcoreapp3.1 |
1.66μs |
0.414ns |
1.61ns |
0.0166 |
0 |
0 |
1.25 KB |
| #3281 |
CallElasticsearch |
net472 |
2.5μs |
1.05ns |
4.08ns |
0.188 |
0 |
0 |
1.19 KB |
| #3281 |
CallElasticsearch |
netcoreapp3.1 |
1.56μs |
1ns |
3.75ns |
0.0149 |
0 |
0 |
1.13 KB |
| #3281 |
CallElasticsearchAsync |
net472 |
2.58μs |
2.22ns |
8.6ns |
0.21 |
0 |
0 |
1.32 KB |
| #3281 |
CallElasticsearchAsync |
netcoreapp3.1 |
1.65μs |
0.46ns |
1.78ns |
0.0174 |
0 |
0 |
1.25 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.79μs |
0.581ns |
2.17ns |
0.23 |
0 |
0 |
1.45 KB |
| master |
ExecuteAsync |
netcoreapp3.1 |
1.72μs |
0.92ns |
3.44ns |
0.019 |
0 |
0 |
1.38 KB |
| #3281 |
ExecuteAsync |
net472 |
2.81μs |
0.858ns |
3.32ns |
0.23 |
0 |
0 |
1.45 KB |
| #3281 |
ExecuteAsync |
netcoreapp3.1 |
1.8μs |
0.555ns |
2.15ns |
0.019 |
0 |
0 |
1.38 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 |
5.93μs |
1.12ns |
4.19ns |
0.445 |
0 |
0 |
2.8 KB |
| master |
SendAsync |
netcoreapp3.1 |
3.82μs |
1.66ns |
6.2ns |
0.0362 |
0 |
0 |
2.63 KB |
| #3281 |
SendAsync |
net472 |
5.89μs |
1.96ns |
7.07ns |
0.444 |
0 |
0 |
2.8 KB |
| #3281 |
SendAsync |
netcoreapp3.1 |
3.61μs |
1.14ns |
4.42ns |
0.0362 |
0 |
0 |
2.63 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 |
3.12μs |
3.5ns |
13.6ns |
0.297 |
0 |
0 |
1.88 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
2.5μs |
2.42ns |
9.07ns |
0.026 |
0 |
0 |
1.91 KB |
| #3281 |
EnrichedLog |
net472 |
3.22μs |
3.18ns |
11.9ns |
0.298 |
0 |
0 |
1.88 KB |
| #3281 |
EnrichedLog |
netcoreapp3.1 |
2.48μs |
1.27ns |
4.58ns |
0.0261 |
0 |
0 |
1.91 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 |
153μs |
111ns |
429ns |
0.686 |
0.229 |
0 |
4.72 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
116μs |
111ns |
417ns |
0.0581 |
0 |
0 |
4.55 KB |
| #3281 |
EnrichedLog |
net472 |
151μs |
210ns |
811ns |
0.748 |
0.224 |
0 |
4.72 KB |
| #3281 |
EnrichedLog |
netcoreapp3.1 |
119μs |
168ns |
628ns |
0 |
0 |
0 |
4.55 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.91μs |
1.75ns |
6.79ns |
0.579 |
0.00296 |
0 |
3.65 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
4.52μs |
1.51ns |
5.64ns |
0.0545 |
0 |
0 |
3.98 KB |
| #3281 |
EnrichedLog |
net472 |
5.87μs |
1.63ns |
6.09ns |
0.577 |
0.00293 |
0 |
3.65 KB |
| #3281 |
EnrichedLog |
netcoreapp3.1 |
4.38μs |
3.54ns |
13.2ns |
0.0542 |
0 |
0 |
3.98 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 |
2.36μs |
2.4ns |
9.31ns |
0.222 |
0 |
0 |
1.4 KB |
| master |
SendReceive |
netcoreapp3.1 |
1.81μs |
0.907ns |
3.27ns |
0.0181 |
0 |
0 |
1.35 KB |
| #3281 |
SendReceive |
net472 |
2.29μs |
2.34ns |
9.05ns |
0.223 |
0 |
0 |
1.4 KB |
| #3281 |
SendReceive |
netcoreapp3.1 |
1.78μs |
1.03ns |
3.99ns |
0.0187 |
0 |
0 |
1.35 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.99μs |
1.72ns |
6.19ns |
0.364 |
0 |
0 |
2.3 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
4.25μs |
5.14ns |
19.2ns |
0.0255 |
0 |
0 |
1.86 KB |
| #3281 |
EnrichedLog |
net472 |
5.03μs |
1.52ns |
5.7ns |
0.364 |
0 |
0 |
2.3 KB |
| #3281 |
EnrichedLog |
netcoreapp3.1 |
4.3μs |
1.25ns |
4.66ns |
0.0236 |
0 |
0 |
1.86 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 |
1.19μs |
0.224ns |
0.839ns |
0.134 |
0 |
0 |
842 B |
| master |
StartFinishSpan |
netcoreapp3.1 |
990ns |
0.383ns |
1.43ns |
0.0108 |
0 |
0 |
792 B |
| master |
StartFinishScope |
net472 |
1.4μs |
0.488ns |
1.83ns |
0.146 |
0 |
0 |
923 B |
| master |
StartFinishScope |
netcoreapp3.1 |
1.1μs |
0.346ns |
1.34ns |
0.0121 |
0 |
0 |
912 B |
| #3281 |
StartFinishSpan |
net472 |
1.17μs |
0.206ns |
0.77ns |
0.134 |
0 |
0 |
842 B |
| #3281 |
StartFinishSpan |
netcoreapp3.1 |
933ns |
0.369ns |
1.38ns |
0.0106 |
0 |
0 |
792 B |
| #3281 |
StartFinishScope |
net472 |
1.43μs |
0.548ns |
2.05ns |
0.146 |
0 |
0 |
923 B |
| #3281 |
StartFinishScope |
netcoreapp3.1 |
1.08μs |
0.325ns |
1.17ns |
0.0123 |
0 |
0 |
912 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.52μs |
0.265ns |
0.955ns |
0.146 |
0 |
0 |
923 B |
| master |
RunOnMethodBegin |
netcoreapp3.1 |
1.13μs |
0.494ns |
1.78ns |
0.0124 |
0 |
0 |
912 B |
| #3281 |
RunOnMethodBegin |
net472 |
1.5μs |
2.89ns |
10.8ns |
0.146 |
0 |
0 |
923 B |
| #3281 |
RunOnMethodBegin |
netcoreapp3.1 |
1.15μs |
0.245ns |
0.882ns |
0.0121 |
0 |
0 |
912 B |
Benchmarks Report :snail:
Benchmarks for #3281 compared to master:
- All benchmarks have the same speed
- 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 |
713μs |
317ns |
1.19μs |
0.357 |
0 |
0 |
3.18 KB |
| master |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
466μs |
180ns |
673ns |
0 |
0 |
0 |
2.59 KB |
| #3281 |
WriteAndFlushEnrichedTraces |
net472 |
728μs |
456ns |
1.64μs |
0.361 |
0 |
0 |
3.18 KB |
| #3281 |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
453μs |
152ns |
567ns |
0 |
0 |
0 |
2.58 KB |
Benchmarks.Trace.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 |
net472 |
197ns |
0.0804ns |
0.29ns |
0.0726 |
0 |
0 |
457 B |
| master |
AllCycleSimpleBody |
netcoreapp3.1 |
257ns |
0.115ns |
0.399ns |
0.0063 |
0 |
0 |
456 B |
| master |
AllCycleMoreComplexBody |
net472 |
193ns |
0.129ns |
0.482ns |
0.0688 |
9.64E-05 |
0 |
433 B |
| master |
AllCycleMoreComplexBody |
netcoreapp3.1 |
251ns |
0.213ns |
0.824ns |
0.00604 |
0 |
0 |
432 B |
| master |
BodyExtractorSimpleBody |
net472 |
276ns |
0.197ns |
0.765ns |
0.0573 |
0 |
0 |
361 B |
| master |
BodyExtractorSimpleBody |
netcoreapp3.1 |
234ns |
0.149ns |
0.578ns |
0.00376 |
0 |
0 |
272 B |
| master |
BodyExtractorMoreComplexBody |
net472 |
15.8μs |
10.8ns |
41.7ns |
1.21 |
0.0157 |
0 |
7.62 KB |
| master |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
13.6μs |
14ns |
52.3ns |
0.0879 |
0 |
0 |
6.75 KB |
| #3281 |
AllCycleSimpleBody |
net472 |
196ns |
0.0519ns |
0.194ns |
0.0727 |
0 |
0 |
457 B |
| #3281 |
AllCycleSimpleBody |
netcoreapp3.1 |
257ns |
0.0645ns |
0.241ns |
0.00629 |
0 |
0 |
456 B |
| #3281 |
AllCycleMoreComplexBody |
net472 |
193ns |
0.0364ns |
0.131ns |
0.0688 |
0 |
0 |
433 B |
| #3281 |
AllCycleMoreComplexBody |
netcoreapp3.1 |
252ns |
0.258ns |
0.999ns |
0.00597 |
0 |
0 |
432 B |
| #3281 |
BodyExtractorSimpleBody |
net472 |
274ns |
0.18ns |
0.697ns |
0.0573 |
0 |
0 |
361 B |
| #3281 |
BodyExtractorSimpleBody |
netcoreapp3.1 |
235ns |
0.098ns |
0.379ns |
0.00367 |
0 |
0 |
272 B |
| #3281 |
BodyExtractorMoreComplexBody |
net472 |
16μs |
9.24ns |
35.8ns |
1.21 |
0.0159 |
0 |
7.62 KB |
| #3281 |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
12.9μs |
2.34ns |
8.76ns |
0.0902 |
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 |
179μs |
315ns |
1.22μs |
0.267 |
0 |
0 |
20.68 KB |
| #3281 |
SendRequest |
net472 |
0ns |
0ns |
0ns |
0 |
0 |
0 |
0 b |
| #3281 |
SendRequest |
netcoreapp3.1 |
181μs |
106ns |
412ns |
0.271 |
0 |
0 |
20.68 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.88μs |
0.419ns |
1.62ns |
0.155 |
0.000939 |
0 |
979 B |
| master |
ExecuteNonQuery |
netcoreapp3.1 |
1.42μs |
0.498ns |
1.86ns |
0.0128 |
0 |
0 |
968 B |
| #3281 |
ExecuteNonQuery |
net472 |
1.78μs |
0.53ns |
1.98ns |
0.155 |
0.000893 |
0 |
979 B |
| #3281 |
ExecuteNonQuery |
netcoreapp3.1 |
1.43μs |
0.473ns |
1.83ns |
0.0129 |
0 |
0 |
968 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.55μs |
0.739ns |
2.76ns |
0.188 |
0 |
0 |
1.19 KB |
| master |
CallElasticsearch |
netcoreapp3.1 |
1.54μs |
0.549ns |
1.98ns |
0.0155 |
0 |
0 |
1.13 KB |
| master |
CallElasticsearchAsync |
net472 |
2.61μs |
0.761ns |
2.85ns |
0.21 |
0 |
0 |
1.32 KB |
| master |
CallElasticsearchAsync |
netcoreapp3.1 |
1.63μs |
0.527ns |
1.97ns |
0.0172 |
0 |
0 |
1.25 KB |
| #3281 |
CallElasticsearch |
net472 |
2.62μs |
1.07ns |
3.85ns |
0.188 |
0 |
0 |
1.19 KB |
| #3281 |
CallElasticsearch |
netcoreapp3.1 |
1.55μs |
0.89ns |
3.21ns |
0.0155 |
0 |
0 |
1.13 KB |
| #3281 |
CallElasticsearchAsync |
net472 |
2.59μs |
1.5ns |
5.59ns |
0.209 |
0 |
0 |
1.32 KB |
| #3281 |
CallElasticsearchAsync |
netcoreapp3.1 |
1.6μs |
0.555ns |
2.08ns |
0.017 |
0 |
0 |
1.25 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.7μs |
0.949ns |
3.68ns |
0.23 |
0 |
0 |
1.45 KB |
| master |
ExecuteAsync |
netcoreapp3.1 |
1.69μs |
1.68ns |
6.49ns |
0.0185 |
0 |
0 |
1.38 KB |
| #3281 |
ExecuteAsync |
net472 |
2.64μs |
0.736ns |
2.85ns |
0.231 |
0 |
0 |
1.45 KB |
| #3281 |
ExecuteAsync |
netcoreapp3.1 |
1.77μs |
1.17ns |
4.52ns |
0.0185 |
0 |
0 |
1.38 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 |
5.82μs |
1.67ns |
6.23ns |
0.445 |
0 |
0 |
2.8 KB |
| master |
SendAsync |
netcoreapp3.1 |
3.72μs |
0.646ns |
2.33ns |
0.0355 |
0 |
0 |
2.63 KB |
| #3281 |
SendAsync |
net472 |
5.88μs |
1.6ns |
6.2ns |
0.444 |
0 |
0 |
2.8 KB |
| #3281 |
SendAsync |
netcoreapp3.1 |
3.69μs |
2.28ns |
8.81ns |
0.0354 |
0 |
0 |
2.63 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 |
3.17μs |
2.94ns |
11.4ns |
0.297 |
0 |
0 |
1.88 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
2.46μs |
0.949ns |
3.55ns |
0.0258 |
0 |
0 |
1.91 KB |
| #3281 |
EnrichedLog |
net472 |
3.4μs |
1.79ns |
6.95ns |
0.298 |
0 |
0 |
1.88 KB |
| #3281 |
EnrichedLog |
netcoreapp3.1 |
2.59μs |
1.05ns |
3.92ns |
0.0259 |
0 |
0 |
1.91 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 |
153μs |
151ns |
584ns |
0.688 |
0.229 |
0 |
4.72 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
118μs |
209ns |
723ns |
0.0591 |
0 |
0 |
4.55 KB |
| #3281 |
EnrichedLog |
net472 |
154μs |
185ns |
718ns |
0.683 |
0.228 |
0 |
4.72 KB |
| #3281 |
EnrichedLog |
netcoreapp3.1 |
120μs |
276ns |
1.07μs |
0.0598 |
0 |
0 |
4.55 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.87μs |
1.62ns |
6.05ns |
0.578 |
0.00294 |
0 |
3.65 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
4.61μs |
1.69ns |
5.87ns |
0.053 |
0 |
0 |
3.98 KB |
| #3281 |
EnrichedLog |
net472 |
5.84μs |
2.7ns |
10.5ns |
0.577 |
0.00292 |
0 |
3.65 KB |
| #3281 |
EnrichedLog |
netcoreapp3.1 |
4.38μs |
2.29ns |
8.86ns |
0.0543 |
0 |
0 |
3.98 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 |
2.32μs |
1.89ns |
6.55ns |
0.222 |
0 |
0 |
1.4 KB |
| master |
SendReceive |
netcoreapp3.1 |
1.83μs |
6.04ns |
23.4ns |
0.0184 |
0 |
0 |
1.35 KB |
| #3281 |
SendReceive |
net472 |
2.39μs |
0.918ns |
3.56ns |
0.222 |
0 |
0 |
1.4 KB |
| #3281 |
SendReceive |
netcoreapp3.1 |
1.84μs |
0.583ns |
2.26ns |
0.0183 |
0 |
0 |
1.35 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 |
5.07μs |
1.94ns |
7ns |
0.365 |
0 |
0 |
2.3 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
4.27μs |
1.16ns |
4.49ns |
0.0255 |
0 |
0 |
1.86 KB |
| #3281 |
EnrichedLog |
net472 |
5.19μs |
1.88ns |
7.27ns |
0.364 |
0 |
0 |
2.3 KB |
| #3281 |
EnrichedLog |
netcoreapp3.1 |
4.2μs |
1.85ns |
6.93ns |
0.0254 |
0 |
0 |
1.86 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 |
1.2μs |
0.362ns |
1.4ns |
0.133 |
0 |
0 |
842 B |
| master |
StartFinishSpan |
netcoreapp3.1 |
957ns |
0.318ns |
1.15ns |
0.0105 |
0 |
0 |
792 B |
| master |
StartFinishScope |
net472 |
1.44μs |
0.568ns |
2.13ns |
0.147 |
0 |
0 |
923 B |
| master |
StartFinishScope |
netcoreapp3.1 |
1.02μs |
0.261ns |
0.941ns |
0.0122 |
0 |
0 |
912 B |
| #3281 |
StartFinishSpan |
net472 |
1.19μs |
0.519ns |
2.01ns |
0.134 |
0 |
0 |
842 B |
| #3281 |
StartFinishSpan |
netcoreapp3.1 |
910ns |
0.35ns |
1.31ns |
0.0104 |
0 |
0 |
792 B |
| #3281 |
StartFinishScope |
net472 |
1.37μs |
0.266ns |
0.96ns |
0.146 |
0 |
0 |
923 B |
| #3281 |
StartFinishScope |
netcoreapp3.1 |
1.13μs |
0.439ns |
1.64ns |
0.0124 |
0 |
0 |
912 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.48μs |
0.617ns |
2.22ns |
0.146 |
0 |
0 |
923 B |
| master |
RunOnMethodBegin |
netcoreapp3.1 |
1.17μs |
0.662ns |
2.57ns |
0.0122 |
0 |
0 |
912 B |
| #3281 |
RunOnMethodBegin |
net472 |
1.53μs |
0.547ns |
2.12ns |
0.146 |
0 |
0 |
923 B |
| #3281 |
RunOnMethodBegin |
netcoreapp3.1 |
1.14μs |
0.716ns |
2.68ns |
0.0124 |
0 |
0 |
912 B |
Seems to add flake, so converting to a draft to review.