Summary of changes
- Allow running the CosmosDB tests in CI by setting the variable
run_cosmos_integration_tests
Reason for change
We disabled the CosmosDB tests in CI a while back because the emulator was incredibly flaky. However, as new versions are released, we do want to actually test the cosmosDB integration.
Implementation details
Only start the emulator if run_cosmos_integration_tests is set. Only skip the cosmosdb tests if run_cosmos_integration_tests is not set
Test coverage
- [ ] Trigger a manual CI run with the variable set to confirm this works as expected
Ah, it doesn't work. Looks like our hosted VMs don't have the emulator installed. I'll update the VM images at some point, and come back to this
Other details
We could try and update the dependency bot runner to automatically set this variable if it sees cosmosdb has been updated. For now, we can run that test ourselves manually when required
Benchmarks Report :snail:
Benchmarks for #2976 compared to master:
- 2 benchmarks are faster, with geometric mean 1.176
- 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 |
721μs |
1.92μs |
7.43μs |
0.357 |
0 |
0 |
3.16 KB |
| master |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
477μs |
286ns |
1.11μs |
0 |
0 |
0 |
2.57 KB |
| #2976 |
WriteAndFlushEnrichedTraces |
net472 |
718μs |
726ns |
2.72μs |
0.359 |
0 |
0 |
3.16 KB |
| #2976 |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
480μs |
204ns |
764ns |
0 |
0 |
0 |
2.57 KB |
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:
Faster :tada: in #2976
| Benchmark |
base/diff |
Base Median (ns) |
Diff Median (ns) |
Modality |
| Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 |
1.233 |
2,132.18 |
1,729.66 |
|
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
AllCycleSimpleBody |
net472 |
2.13μs |
3.92ns |
15.2ns |
0.237 |
0 |
0 |
1.49 KB |
| master |
AllCycleSimpleBody |
netcoreapp3.1 |
1.8μs |
2.27ns |
8.78ns |
0.0186 |
0 |
0 |
1.37 KB |
| master |
AllCycleMoreComplexBody |
net472 |
17.1μs |
27.6ns |
103ns |
1.39 |
0.0255 |
0 |
8.75 KB |
| master |
AllCycleMoreComplexBody |
netcoreapp3.1 |
14.4μs |
24.5ns |
91.8ns |
0.108 |
0 |
0 |
7.85 KB |
| master |
BodyExtractorSimpleBody |
net472 |
266ns |
1.29ns |
5.49ns |
0.0574 |
0 |
0 |
361 B |
| master |
BodyExtractorSimpleBody |
netcoreapp3.1 |
229ns |
0.201ns |
0.724ns |
0.00365 |
0 |
0 |
272 B |
| master |
BodyExtractorMoreComplexBody |
net472 |
15.1μs |
32ns |
120ns |
1.21 |
0.015 |
0 |
7.62 KB |
| master |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
12.3μs |
13.5ns |
48.8ns |
0.0857 |
0 |
0 |
6.75 KB |
| #2976 |
AllCycleSimpleBody |
net472 |
1.73μs |
1.57ns |
5.87ns |
0.236 |
0 |
0 |
1.49 KB |
| #2976 |
AllCycleSimpleBody |
netcoreapp3.1 |
1.81μs |
4.24ns |
16.4ns |
0.0188 |
0 |
0 |
1.37 KB |
| #2976 |
AllCycleMoreComplexBody |
net472 |
17.3μs |
26.6ns |
96.1ns |
1.38 |
0.0175 |
0 |
8.75 KB |
| #2976 |
AllCycleMoreComplexBody |
netcoreapp3.1 |
14.1μs |
20.5ns |
79.3ns |
0.108 |
0 |
0 |
7.85 KB |
| #2976 |
BodyExtractorSimpleBody |
net472 |
275ns |
0.342ns |
1.23ns |
0.0574 |
0 |
0 |
361 B |
| #2976 |
BodyExtractorSimpleBody |
netcoreapp3.1 |
236ns |
0.502ns |
1.88ns |
0.00378 |
0 |
0 |
272 B |
| #2976 |
BodyExtractorMoreComplexBody |
net472 |
14.8μs |
18.8ns |
72.8ns |
1.2 |
0.0148 |
0 |
7.62 KB |
| #2976 |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
12.1μs |
19.6ns |
76.1ns |
0.0905 |
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 |
175μs |
163ns |
633ns |
0.263 |
0 |
0 |
19.98 KB |
| #2976 |
SendRequest |
net472 |
0ns |
0ns |
0ns |
0 |
0 |
0 |
0 b |
| #2976 |
SendRequest |
netcoreapp3.1 |
174μs |
138ns |
534ns |
0.26 |
0 |
0 |
19.98 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.48μs |
0.501ns |
1.94ns |
0.126 |
0.000756 |
0 |
794 B |
| master |
ExecuteNonQuery |
netcoreapp3.1 |
1.35μs |
0.482ns |
1.8ns |
0.0108 |
0 |
0 |
824 B |
| #2976 |
ExecuteNonQuery |
net472 |
1.57μs |
0.871ns |
3.37ns |
0.126 |
0.000788 |
0 |
794 B |
| #2976 |
ExecuteNonQuery |
netcoreapp3.1 |
1.28μs |
1.92ns |
7.44ns |
0.0114 |
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.22μs |
0.841ns |
3.03ns |
0.158 |
0 |
0 |
1 KB |
| master |
CallElasticsearch |
netcoreapp3.1 |
1.44μs |
0.951ns |
3.68ns |
0.0137 |
0 |
0 |
984 B |
| master |
CallElasticsearchAsync |
net472 |
2.32μs |
0.674ns |
2.61ns |
0.181 |
0 |
0 |
1.14 KB |
| master |
CallElasticsearchAsync |
netcoreapp3.1 |
1.54μs |
0.417ns |
1.61ns |
0.0146 |
0 |
0 |
1.1 KB |
| #2976 |
CallElasticsearch |
net472 |
2.21μs |
0.978ns |
3.79ns |
0.159 |
0 |
0 |
1 KB |
| #2976 |
CallElasticsearch |
netcoreapp3.1 |
1.43μs |
0.446ns |
1.67ns |
0.0136 |
0 |
0 |
984 B |
| #2976 |
CallElasticsearchAsync |
net472 |
2.35μs |
0.937ns |
3.51ns |
0.181 |
0 |
0 |
1.14 KB |
| #2976 |
CallElasticsearchAsync |
netcoreapp3.1 |
1.51μs |
0.597ns |
2.15ns |
0.0151 |
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.32μs |
4.8ns |
18.6ns |
0.2 |
0 |
0 |
1.26 KB |
| master |
ExecuteAsync |
netcoreapp3.1 |
1.55μs |
2.46ns |
9.2ns |
0.0162 |
0 |
0 |
1.22 KB |
| #2976 |
ExecuteAsync |
net472 |
2.24μs |
4.61ns |
17.9ns |
0.2 |
0 |
0 |
1.26 KB |
| #2976 |
ExecuteAsync |
netcoreapp3.1 |
1.56μs |
3.78ns |
14.1ns |
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 |
5.1μs |
9.79ns |
37.9ns |
0.401 |
0 |
0 |
2.53 KB |
| master |
SendAsync |
netcoreapp3.1 |
3.52μs |
8.61ns |
31ns |
0.0334 |
0 |
0 |
2.44 KB |
| #2976 |
SendAsync |
net472 |
5.18μs |
11ns |
42.8ns |
0.401 |
0 |
0 |
2.53 KB |
| #2976 |
SendAsync |
netcoreapp3.1 |
3.47μs |
4.37ns |
16.9ns |
0.0331 |
0 |
0 |
2.44 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.8μs |
2.55ns |
9.89ns |
0.263 |
0 |
0 |
1.66 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
2.4μs |
1.64ns |
5.9ns |
0.0239 |
0 |
0 |
1.73 KB |
| #2976 |
EnrichedLog |
net472 |
2.72μs |
2.89ns |
10.8ns |
0.264 |
0 |
0 |
1.66 KB |
| #2976 |
EnrichedLog |
netcoreapp3.1 |
2.38μs |
1.41ns |
5.47ns |
0.0237 |
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 |
190ns |
735ns |
0.663 |
0.221 |
0 |
4.5 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
110μs |
276ns |
1.07μs |
0.0545 |
0 |
0 |
4.38 KB |
| #2976 |
EnrichedLog |
net472 |
146μs |
172ns |
666ns |
0.656 |
0.219 |
0 |
4.5 KB |
| #2976 |
EnrichedLog |
netcoreapp3.1 |
112μs |
110ns |
382ns |
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.06μs |
10.6ns |
39.5ns |
0.545 |
0.00257 |
0 |
3.43 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
4.18μs |
8.43ns |
31.5ns |
0.051 |
0 |
0 |
3.8 KB |
| #2976 |
EnrichedLog |
net472 |
5.15μs |
11.9ns |
46.1ns |
0.545 |
0.00252 |
0 |
3.43 KB |
| #2976 |
EnrichedLog |
netcoreapp3.1 |
4.13μs |
7.99ns |
30.9ns |
0.0504 |
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 |
0.495ns |
1.92ns |
0.192 |
0 |
0 |
1.21 KB |
| master |
SendReceive |
netcoreapp3.1 |
1.68μs |
0.691ns |
2.49ns |
0.0163 |
0 |
0 |
1.2 KB |
| #2976 |
SendReceive |
net472 |
1.97μs |
1.96ns |
7.59ns |
0.192 |
0 |
0 |
1.21 KB |
| #2976 |
SendReceive |
netcoreapp3.1 |
1.69μs |
4.07ns |
15.8ns |
0.0163 |
0 |
0 |
1.2 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.67μs |
2.89ns |
11.2ns |
0.329 |
0 |
0 |
2.08 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
4.16μs |
1.4ns |
5.04ns |
0.0229 |
0 |
0 |
1.69 KB |
| #2976 |
EnrichedLog |
net472 |
4.78μs |
1.51ns |
5.86ns |
0.329 |
0 |
0 |
2.08 KB |
| #2976 |
EnrichedLog |
netcoreapp3.1 |
4.09μs |
1.39ns |
5.38ns |
0.0225 |
0 |
0 |
1.69 KB |
Benchmarks.Trace.SpanBenchmark - Faster :tada: Same allocations :heavy_check_mark:
Faster :tada: in #2976
| Benchmark |
base/diff |
Base Median (ns) |
Diff Median (ns) |
Modality |
| Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 |
1.123 |
969.66 |
863.83 |
|
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
StartFinishSpan |
net472 |
882ns |
0.485ns |
1.88ns |
0.104 |
0 |
0 |
658 B |
| master |
StartFinishSpan |
netcoreapp3.1 |
748ns |
0.207ns |
0.773ns |
0.00894 |
0 |
0 |
648 B |
| master |
StartFinishScope |
net472 |
1.17μs |
0.562ns |
2.18ns |
0.117 |
0 |
0 |
738 B |
| master |
StartFinishScope |
netcoreapp3.1 |
970ns |
0.247ns |
0.955ns |
0.0102 |
0 |
0 |
768 B |
| #2976 |
StartFinishSpan |
net472 |
877ns |
0.596ns |
2.31ns |
0.105 |
0 |
0 |
658 B |
| #2976 |
StartFinishSpan |
netcoreapp3.1 |
708ns |
0.447ns |
1.67ns |
0.00883 |
0 |
0 |
648 B |
| #2976 |
StartFinishScope |
net472 |
1.1μs |
0.719ns |
2.78ns |
0.117 |
0 |
0 |
738 B |
| #2976 |
StartFinishScope |
netcoreapp3.1 |
864ns |
0.286ns |
1.03ns |
0.0104 |
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.24μs |
0.741ns |
2.87ns |
0.117 |
0 |
0 |
738 B |
| master |
RunOnMethodBegin |
netcoreapp3.1 |
998ns |
0.413ns |
1.6ns |
0.00998 |
0 |
0 |
768 B |
| #2976 |
RunOnMethodBegin |
net472 |
1.17μs |
0.573ns |
2.22ns |
0.117 |
0 |
0 |
738 B |
| #2976 |
RunOnMethodBegin |
netcoreapp3.1 |
1.04μs |
0.314ns |
1.17ns |
0.0104 |
0 |
0 |
768 B |
Benchmarks Report :snail:
Benchmarks for #2976 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 |
726μs |
338ns |
1.26μs |
0.361 |
0 |
0 |
3.18 KB |
| master |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
444μs |
497ns |
1.86μs |
0 |
0 |
0 |
2.58 KB |
| #2976 |
WriteAndFlushEnrichedTraces |
net472 |
719μs |
551ns |
2.06μs |
0.359 |
0 |
0 |
3.18 KB |
| #2976 |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
454μs |
241ns |
868ns |
0 |
0 |
0 |
2.59 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 |
1.77μs |
1.76ns |
6.59ns |
0.237 |
0 |
0 |
1.49 KB |
| master |
AllCycleSimpleBody |
netcoreapp3.1 |
1.77μs |
2.37ns |
8.87ns |
0.0185 |
0 |
0 |
1.37 KB |
| master |
AllCycleMoreComplexBody |
net472 |
17.1μs |
37ns |
133ns |
1.39 |
0.0169 |
0 |
8.75 KB |
| master |
AllCycleMoreComplexBody |
netcoreapp3.1 |
14.1μs |
21.2ns |
82.2ns |
0.105 |
0 |
0 |
7.85 KB |
| master |
BodyExtractorSimpleBody |
net472 |
258ns |
0.301ns |
1.17ns |
0.0573 |
0 |
0 |
361 B |
| master |
BodyExtractorSimpleBody |
netcoreapp3.1 |
234ns |
0.259ns |
0.933ns |
0.00376 |
0 |
0 |
272 B |
| master |
BodyExtractorMoreComplexBody |
net472 |
15.7μs |
30.6ns |
119ns |
1.2 |
0.0156 |
0 |
7.62 KB |
| master |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
12μs |
13.4ns |
51.7ns |
0.0905 |
0 |
0 |
6.75 KB |
| #2976 |
AllCycleSimpleBody |
net472 |
1.67μs |
3.67ns |
14.2ns |
0.237 |
0 |
0 |
1.49 KB |
| #2976 |
AllCycleSimpleBody |
netcoreapp3.1 |
1.82μs |
3.66ns |
13.7ns |
0.0181 |
0 |
0 |
1.37 KB |
| #2976 |
AllCycleMoreComplexBody |
net472 |
17μs |
20.2ns |
75.7ns |
1.38 |
0.0169 |
0 |
8.75 KB |
| #2976 |
AllCycleMoreComplexBody |
netcoreapp3.1 |
14.6μs |
43ns |
155ns |
0.101 |
0 |
0 |
7.85 KB |
| #2976 |
BodyExtractorSimpleBody |
net472 |
252ns |
0.213ns |
0.827ns |
0.0574 |
0 |
0 |
361 B |
| #2976 |
BodyExtractorSimpleBody |
netcoreapp3.1 |
222ns |
0.207ns |
0.802ns |
0.00378 |
0 |
0 |
272 B |
| #2976 |
BodyExtractorMoreComplexBody |
net472 |
15.2μs |
11.6ns |
41.8ns |
1.21 |
0.0151 |
0 |
7.62 KB |
| #2976 |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
12μs |
23.3ns |
90.1ns |
0.0897 |
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 |
176μs |
115ns |
447ns |
0.263 |
0 |
0 |
19.98 KB |
| #2976 |
SendRequest |
net472 |
0ns |
0ns |
0ns |
0 |
0 |
0 |
0 b |
| #2976 |
SendRequest |
netcoreapp3.1 |
175μs |
63.5ns |
246ns |
0.263 |
0 |
0 |
19.98 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.58μs |
0.65ns |
2.52ns |
0.126 |
0.000788 |
0 |
794 B |
| master |
ExecuteNonQuery |
netcoreapp3.1 |
1.28μs |
0.652ns |
2.52ns |
0.0109 |
0 |
0 |
824 B |
| #2976 |
ExecuteNonQuery |
net472 |
1.6μs |
0.634ns |
2.45ns |
0.126 |
0.000803 |
0 |
794 B |
| #2976 |
ExecuteNonQuery |
netcoreapp3.1 |
1.31μs |
0.92ns |
3.56ns |
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.23μs |
0.867ns |
3.24ns |
0.159 |
0 |
0 |
1 KB |
| master |
CallElasticsearch |
netcoreapp3.1 |
1.38μs |
2.28ns |
8.52ns |
0.0132 |
0 |
0 |
984 B |
| master |
CallElasticsearchAsync |
net472 |
2.45μs |
0.85ns |
3.18ns |
0.18 |
0 |
0 |
1.14 KB |
| master |
CallElasticsearchAsync |
netcoreapp3.1 |
1.48μs |
0.692ns |
2.68ns |
0.0147 |
0 |
0 |
1.1 KB |
| #2976 |
CallElasticsearch |
net472 |
2.23μs |
0.789ns |
2.95ns |
0.159 |
0 |
0 |
1 KB |
| #2976 |
CallElasticsearch |
netcoreapp3.1 |
1.4μs |
0.799ns |
3.09ns |
0.0133 |
0 |
0 |
984 B |
| #2976 |
CallElasticsearchAsync |
net472 |
2.28μs |
0.742ns |
2.78ns |
0.18 |
0 |
0 |
1.14 KB |
| #2976 |
CallElasticsearchAsync |
netcoreapp3.1 |
1.44μs |
0.517ns |
1.93ns |
0.0151 |
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.29μs |
4.65ns |
17.4ns |
0.199 |
0 |
0 |
1.26 KB |
| master |
ExecuteAsync |
netcoreapp3.1 |
1.63μs |
2.96ns |
11.5ns |
0.0167 |
0 |
0 |
1.22 KB |
| #2976 |
ExecuteAsync |
net472 |
2.29μs |
3.01ns |
11.7ns |
0.199 |
0 |
0 |
1.26 KB |
| #2976 |
ExecuteAsync |
netcoreapp3.1 |
1.55μs |
2.56ns |
9.91ns |
0.0166 |
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 |
5.19μs |
15.3ns |
57.4ns |
0.401 |
0 |
0 |
2.53 KB |
| master |
SendAsync |
netcoreapp3.1 |
3.54μs |
5.84ns |
22.6ns |
0.0333 |
0 |
0 |
2.44 KB |
| #2976 |
SendAsync |
net472 |
5.25μs |
10.9ns |
42.2ns |
0.4 |
0 |
0 |
2.53 KB |
| #2976 |
SendAsync |
netcoreapp3.1 |
3.44μs |
6.32ns |
23.6ns |
0.0329 |
0 |
0 |
2.44 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.8μs |
1.04ns |
3.75ns |
0.264 |
0 |
0 |
1.66 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
2.27μs |
1.4ns |
5.03ns |
0.0227 |
0 |
0 |
1.73 KB |
| #2976 |
EnrichedLog |
net472 |
2.84μs |
4.75ns |
18.4ns |
0.263 |
0 |
0 |
1.66 KB |
| #2976 |
EnrichedLog |
netcoreapp3.1 |
2.3μs |
2.45ns |
9.17ns |
0.0231 |
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 |
150μs |
131ns |
505ns |
0.679 |
0.226 |
0 |
4.5 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
114μs |
235ns |
909ns |
0.057 |
0 |
0 |
4.38 KB |
| #2976 |
EnrichedLog |
net472 |
146μs |
247ns |
956ns |
0.656 |
0.219 |
0 |
4.5 KB |
| #2976 |
EnrichedLog |
netcoreapp3.1 |
110μs |
134ns |
517ns |
0.0555 |
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.25μs |
6.04ns |
23.4ns |
0.545 |
0.00262 |
0 |
3.43 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
4.15μs |
7.53ns |
27.1ns |
0.0519 |
0 |
0 |
3.8 KB |
| #2976 |
EnrichedLog |
net472 |
5.1μs |
10.3ns |
38.7ns |
0.545 |
0.0025 |
0 |
3.43 KB |
| #2976 |
EnrichedLog |
netcoreapp3.1 |
4μs |
8.18ns |
31.7ns |
0.0517 |
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 |
2.01μs |
1.27ns |
4.57ns |
0.193 |
0 |
0 |
1.21 KB |
| master |
SendReceive |
netcoreapp3.1 |
1.63μs |
1.29ns |
5ns |
0.0164 |
0 |
0 |
1.2 KB |
| #2976 |
SendReceive |
net472 |
1.95μs |
1.92ns |
7.45ns |
0.192 |
0 |
0 |
1.21 KB |
| #2976 |
SendReceive |
netcoreapp3.1 |
1.61μs |
1.47ns |
5.69ns |
0.016 |
0 |
0 |
1.2 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.69μs |
2.05ns |
7.93ns |
0.329 |
0 |
0 |
2.08 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
4.04μs |
1.56ns |
5.84ns |
0.0224 |
0 |
0 |
1.69 KB |
| #2976 |
EnrichedLog |
net472 |
4.67μs |
1.94ns |
7.51ns |
0.328 |
0 |
0 |
2.08 KB |
| #2976 |
EnrichedLog |
netcoreapp3.1 |
4.11μs |
2.42ns |
9.39ns |
0.0225 |
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 |
885ns |
0.631ns |
2.44ns |
0.105 |
0 |
0 |
658 B |
| master |
StartFinishSpan |
netcoreapp3.1 |
751ns |
0.379ns |
1.47ns |
0.00891 |
0 |
0 |
648 B |
| master |
StartFinishScope |
net472 |
1.02μs |
0.628ns |
2.43ns |
0.117 |
0 |
0 |
738 B |
| master |
StartFinishScope |
netcoreapp3.1 |
876ns |
0.384ns |
1.44ns |
0.0106 |
0 |
0 |
768 B |
| #2976 |
StartFinishSpan |
net472 |
846ns |
0.525ns |
2.03ns |
0.104 |
0 |
0 |
658 B |
| #2976 |
StartFinishSpan |
netcoreapp3.1 |
801ns |
0.393ns |
1.52ns |
0.00879 |
0 |
0 |
648 B |
| #2976 |
StartFinishScope |
net472 |
1.05μs |
0.802ns |
3.11ns |
0.117 |
0 |
0 |
738 B |
| #2976 |
StartFinishScope |
netcoreapp3.1 |
832ns |
0.441ns |
1.65ns |
0.00998 |
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.22μs |
0.788ns |
2.95ns |
0.117 |
0 |
0 |
738 B |
| master |
RunOnMethodBegin |
netcoreapp3.1 |
985ns |
0.265ns |
0.992ns |
0.0103 |
0 |
0 |
768 B |
| #2976 |
RunOnMethodBegin |
net472 |
1.22μs |
0.997ns |
3.73ns |
0.117 |
0 |
0 |
738 B |
| #2976 |
RunOnMethodBegin |
netcoreapp3.1 |
1.02μs |
0.287ns |
1.07ns |
0.0103 |
0 |
0 |
768 B |
Sigh So the Cosmos DB emulator apparently fails to start on our Windows VMs, even if we give it 10 mins. Despite the fact that if I create a VM using the same image I can start the emulator without any issues. That sucks. Not sure what to do about it tbh