[Tracer] Add tests for stats computation feature
Summary of changes
Adds testing for various requirements of the stats computation feature, as agreed upon by other tracers.
This is PR 1/3 in an attempt to break down the massive PR #2988
Reason for change
Implementation details
Test coverage
Adds new unit tests (StatsAggregatorTests) and integration tests (StatsTests)
Other details
Benchmarks Report :snail:
Benchmarks for #3047 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 |
719μs |
673ns |
2.52μs |
0.359 |
0 |
0 |
3.18 KB |
| master |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
458μs |
220ns |
824ns |
0 |
0 |
0 |
2.58 KB |
| #3047 |
WriteAndFlushEnrichedTraces |
net472 |
721μs |
204ns |
789ns |
0.357 |
0 |
0 |
3.18 KB |
| #3047 |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
457μs |
255ns |
986ns |
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 |
1.71μs |
4.24ns |
16.4ns |
0.236 |
0 |
0 |
1.49 KB |
| master |
AllCycleSimpleBody |
netcoreapp3.1 |
1.87μs |
1.95ns |
7.3ns |
0.0187 |
0 |
0 |
1.37 KB |
| master |
AllCycleMoreComplexBody |
net472 |
16.8μs |
56.3ns |
218ns |
1.39 |
0.0249 |
0 |
8.75 KB |
| master |
AllCycleMoreComplexBody |
netcoreapp3.1 |
14.2μs |
18.3ns |
70.9ns |
0.107 |
0 |
0 |
7.85 KB |
| master |
BodyExtractorSimpleBody |
net472 |
251ns |
0.19ns |
0.737ns |
0.0574 |
0 |
0 |
361 B |
| master |
BodyExtractorSimpleBody |
netcoreapp3.1 |
226ns |
0.427ns |
1.6ns |
0.0038 |
0 |
0 |
272 B |
| master |
BodyExtractorMoreComplexBody |
net472 |
14.6μs |
9.35ns |
33.7ns |
1.21 |
0.0147 |
0 |
7.62 KB |
| master |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
12.2μs |
12.1ns |
46.8ns |
0.0905 |
0 |
0 |
6.75 KB |
| #3047 |
AllCycleSimpleBody |
net472 |
1.67μs |
1.61ns |
6.22ns |
0.237 |
0 |
0 |
1.49 KB |
| #3047 |
AllCycleSimpleBody |
netcoreapp3.1 |
1.78μs |
1.71ns |
6.38ns |
0.0189 |
0 |
0 |
1.37 KB |
| #3047 |
AllCycleMoreComplexBody |
net472 |
17μs |
13.6ns |
52.6ns |
1.38 |
0.0255 |
0 |
8.75 KB |
| #3047 |
AllCycleMoreComplexBody |
netcoreapp3.1 |
14.2μs |
26.4ns |
102ns |
0.107 |
0 |
0 |
7.85 KB |
| #3047 |
BodyExtractorSimpleBody |
net472 |
257ns |
0.307ns |
1.19ns |
0.0574 |
0 |
0 |
361 B |
| #3047 |
BodyExtractorSimpleBody |
netcoreapp3.1 |
225ns |
0.161ns |
0.581ns |
0.00371 |
0 |
0 |
272 B |
| #3047 |
BodyExtractorMoreComplexBody |
net472 |
14.7μs |
11.1ns |
42.9ns |
1.21 |
0.0147 |
0 |
7.62 KB |
| #3047 |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
11.6μs |
12.5ns |
46.7ns |
0.0925 |
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 |
181μs |
166ns |
642ns |
0.181 |
0 |
0 |
20.33 KB |
| #3047 |
SendRequest |
net472 |
0ns |
0ns |
0ns |
0 |
0 |
0 |
0 b |
| #3047 |
SendRequest |
netcoreapp3.1 |
179μs |
65.5ns |
236ns |
0.269 |
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.51μs |
0.67ns |
2.59ns |
0.126 |
0.000761 |
0 |
794 B |
| master |
ExecuteNonQuery |
netcoreapp3.1 |
1.27μs |
0.378ns |
1.47ns |
0.0114 |
0 |
0 |
824 B |
| #3047 |
ExecuteNonQuery |
net472 |
1.55μs |
0.351ns |
1.36ns |
0.126 |
0.000785 |
0 |
794 B |
| #3047 |
ExecuteNonQuery |
netcoreapp3.1 |
1.25μs |
0.301ns |
1.09ns |
0.0113 |
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.12μs |
1.05ns |
4.06ns |
0.159 |
0 |
0 |
1 KB |
| master |
CallElasticsearch |
netcoreapp3.1 |
1.41μs |
0.982ns |
3.67ns |
0.0134 |
0 |
0 |
984 B |
| master |
CallElasticsearchAsync |
net472 |
2.45μs |
0.989ns |
3.83ns |
0.181 |
0 |
0 |
1.14 KB |
| master |
CallElasticsearchAsync |
netcoreapp3.1 |
1.48μs |
0.503ns |
1.88ns |
0.0148 |
0 |
0 |
1.1 KB |
| #3047 |
CallElasticsearch |
net472 |
2.22μs |
0.72ns |
2.69ns |
0.159 |
0 |
0 |
1 KB |
| #3047 |
CallElasticsearch |
netcoreapp3.1 |
1.38μs |
0.538ns |
2.01ns |
0.0136 |
0 |
0 |
984 B |
| #3047 |
CallElasticsearchAsync |
net472 |
2.33μs |
1.2ns |
4.48ns |
0.181 |
0 |
0 |
1.14 KB |
| #3047 |
CallElasticsearchAsync |
netcoreapp3.1 |
1.49μs |
0.528ns |
2.04ns |
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.39μs |
5.36ns |
20ns |
0.2 |
0 |
0 |
1.26 KB |
| master |
ExecuteAsync |
netcoreapp3.1 |
1.63μs |
2.21ns |
8.28ns |
0.0164 |
0 |
0 |
1.22 KB |
| #3047 |
ExecuteAsync |
net472 |
2.32μs |
2.24ns |
8.66ns |
0.2 |
0 |
0 |
1.26 KB |
| #3047 |
ExecuteAsync |
netcoreapp3.1 |
1.63μs |
0.99ns |
3.84ns |
0.0164 |
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.92μs |
5.04ns |
19.5ns |
0.392 |
0 |
0 |
2.48 KB |
| master |
SendAsync |
netcoreapp3.1 |
3.22μs |
2.52ns |
9.43ns |
0.032 |
0 |
0 |
2.36 KB |
| #3047 |
SendAsync |
net472 |
5.09μs |
3.37ns |
13ns |
0.392 |
0 |
0 |
2.48 KB |
| #3047 |
SendAsync |
netcoreapp3.1 |
3.23μs |
0.698ns |
2.52ns |
0.0323 |
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.73μs |
0.783ns |
2.82ns |
0.263 |
0 |
0 |
1.66 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
2.36μs |
0.97ns |
3.76ns |
0.0238 |
0 |
0 |
1.73 KB |
| #3047 |
EnrichedLog |
net472 |
2.8μs |
1.56ns |
6.05ns |
0.264 |
0 |
0 |
1.66 KB |
| #3047 |
EnrichedLog |
netcoreapp3.1 |
2.32μs |
0.593ns |
2.14ns |
0.0233 |
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 |
114ns |
440ns |
0.659 |
0.22 |
0 |
4.5 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
112μs |
144ns |
557ns |
0.0562 |
0 |
0 |
4.38 KB |
| #3047 |
EnrichedLog |
net472 |
148μs |
100ns |
388ns |
0.659 |
0.22 |
0 |
4.5 KB |
| #3047 |
EnrichedLog |
netcoreapp3.1 |
113μs |
98.1ns |
367ns |
0 |
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.42μs |
5.29ns |
19.8ns |
0.543 |
0.0027 |
0 |
3.43 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
4.39μs |
2.26ns |
8.77ns |
0.0525 |
0 |
0 |
3.8 KB |
| #3047 |
EnrichedLog |
net472 |
5.44μs |
2.53ns |
9.46ns |
0.544 |
0.00272 |
0 |
3.43 KB |
| #3047 |
EnrichedLog |
netcoreapp3.1 |
4.49μs |
2ns |
7.21ns |
0.0511 |
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.02μs |
1.61ns |
6.25ns |
0.194 |
0 |
0 |
1.22 KB |
| master |
SendReceive |
netcoreapp3.1 |
1.72μs |
0.607ns |
2.27ns |
0.0163 |
0 |
0 |
1.21 KB |
| #3047 |
SendReceive |
net472 |
1.99μs |
0.382ns |
1.48ns |
0.193 |
0 |
0 |
1.22 KB |
| #3047 |
SendReceive |
netcoreapp3.1 |
1.68μs |
0.487ns |
1.82ns |
0.016 |
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.63μs |
1.88ns |
7.05ns |
0.328 |
0 |
0 |
2.08 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
4.22μs |
1.37ns |
5.32ns |
0.0232 |
0 |
0 |
1.69 KB |
| #3047 |
EnrichedLog |
net472 |
4.7μs |
2.94ns |
11.4ns |
0.329 |
0 |
0 |
2.08 KB |
| #3047 |
EnrichedLog |
netcoreapp3.1 |
4.23μs |
1.15ns |
4.46ns |
0.0211 |
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 |
849ns |
0.263ns |
0.985ns |
0.105 |
0 |
0 |
658 B |
| master |
StartFinishSpan |
netcoreapp3.1 |
762ns |
0.226ns |
0.875ns |
0.00877 |
0 |
0 |
648 B |
| master |
StartFinishScope |
net472 |
1.09μs |
0.281ns |
1.05ns |
0.117 |
0 |
0 |
738 B |
| master |
StartFinishScope |
netcoreapp3.1 |
888ns |
0.66ns |
2.47ns |
0.0101 |
0 |
0 |
768 B |
| #3047 |
StartFinishSpan |
net472 |
871ns |
0.209ns |
0.754ns |
0.104 |
0 |
0 |
658 B |
| #3047 |
StartFinishSpan |
netcoreapp3.1 |
794ns |
0.324ns |
1.21ns |
0.00862 |
0 |
0 |
648 B |
| #3047 |
StartFinishScope |
net472 |
1.1μs |
0.416ns |
1.56ns |
0.117 |
0 |
0 |
738 B |
| #3047 |
StartFinishScope |
netcoreapp3.1 |
862ns |
0.661ns |
2.56ns |
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.19μs |
0.319ns |
1.23ns |
0.117 |
0 |
0 |
738 B |
| master |
RunOnMethodBegin |
netcoreapp3.1 |
1.01μs |
0.491ns |
1.84ns |
0.0101 |
0 |
0 |
768 B |
| #3047 |
RunOnMethodBegin |
net472 |
1.22μs |
0.459ns |
1.72ns |
0.117 |
0 |
0 |
738 B |
| #3047 |
RunOnMethodBegin |
netcoreapp3.1 |
1.04μs |
0.369ns |
1.43ns |
0.0103 |
0 |
0 |
768 B |
Code Coverage Report :bar_chart:
:heavy_check_mark: Merging #3047 into master will not change line coverage
:heavy_check_mark: Merging #3047 into master will not change branch coverage
:heavy_check_mark: Merging #3047 into master will not change complexity
|
master |
#3047 |
Change |
| Lines |
16775 / 22859 |
16750 / 22859 |
|
| Lines % |
73% |
73% |
0% :heavy_check_mark: |
| Branches |
9996 / 14184 |
9998 / 14184 |
|
| Branches % |
70% |
70% |
0% :heavy_check_mark: |
| Complexity |
15245 |
15245 |
0 :heavy_check_mark: |
View the full report for further details:
Datadog.Trace Breakdown :heavy_check_mark:
|
master |
#3047 |
Change |
| Lines % |
73% |
73% |
0% :heavy_check_mark: |
| Branches % |
70% |
70% |
0% :heavy_check_mark: |
| Complexity |
15245 |
15245 |
0 :heavy_check_mark: |
The following classes have significant coverage changes.
View the full reports for further details:
Benchmarks Report :snail:
Benchmarks for #3047 compared to master:
- 1 benchmarks are faster, with geometric mean 1.328
- 1 benchmarks are slower, with geometric mean 1.116
- 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 |
| #3047 |
WriteAndFlushEnrichedTraces |
net472 |
717μs |
583ns |
2.26μs |
0.357 |
0 |
0 |
3.18 KB |
| #3047 |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
473μs |
329ns |
1.27μs |
0 |
0 |
0 |
2.58 KB |
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:
Faster :tada: in #3047
| Benchmark |
base/diff |
Base Median (ns) |
Diff Median (ns) |
Modality |
| Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 |
1.328 |
2,208.74 |
1,663.02 |
|
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 |
| #3047 |
AllCycleSimpleBody |
net472 |
1.66μs |
1.47ns |
5.69ns |
0.237 |
0 |
0 |
1.49 KB |
| #3047 |
AllCycleSimpleBody |
netcoreapp3.1 |
1.86μs |
3.3ns |
12.8ns |
0.0187 |
0 |
0 |
1.37 KB |
| #3047 |
AllCycleMoreComplexBody |
net472 |
16.7μs |
9.23ns |
35.7ns |
1.39 |
0.0249 |
0 |
8.75 KB |
| #3047 |
AllCycleMoreComplexBody |
netcoreapp3.1 |
14.6μs |
10.7ns |
40ns |
0.101 |
0 |
0 |
7.85 KB |
| #3047 |
BodyExtractorSimpleBody |
net472 |
274ns |
0.28ns |
1.05ns |
0.0573 |
0 |
0 |
361 B |
| #3047 |
BodyExtractorSimpleBody |
netcoreapp3.1 |
213ns |
0.273ns |
1.02ns |
0.00371 |
0 |
0 |
272 B |
| #3047 |
BodyExtractorMoreComplexBody |
net472 |
15μs |
7.99ns |
31ns |
1.2 |
0.0158 |
0 |
7.62 KB |
| #3047 |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
12.2μs |
11.9ns |
41.2ns |
0.0922 |
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 |
177μs |
225ns |
872ns |
0.266 |
0 |
0 |
20.33 KB |
| #3047 |
SendRequest |
net472 |
0ns |
0ns |
0ns |
0 |
0 |
0 |
0 b |
| #3047 |
SendRequest |
netcoreapp3.1 |
179μs |
88.5ns |
331ns |
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 |
| #3047 |
ExecuteNonQuery |
net472 |
1.5μs |
0.482ns |
1.87ns |
0.126 |
0.000752 |
0 |
794 B |
| #3047 |
ExecuteNonQuery |
netcoreapp3.1 |
1.28μs |
0.35ns |
1.31ns |
0.0108 |
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 |
| #3047 |
CallElasticsearch |
net472 |
2.2μs |
0.615ns |
2.3ns |
0.159 |
0 |
0 |
1 KB |
| #3047 |
CallElasticsearch |
netcoreapp3.1 |
1.42μs |
0.385ns |
1.39ns |
0.0134 |
0 |
0 |
984 B |
| #3047 |
CallElasticsearchAsync |
net472 |
2.25μs |
1.03ns |
4ns |
0.181 |
0 |
0 |
1.14 KB |
| #3047 |
CallElasticsearchAsync |
netcoreapp3.1 |
1.5μs |
0.753ns |
2.82ns |
0.015 |
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 |
| #3047 |
ExecuteAsync |
net472 |
2.46μs |
3.7ns |
14.3ns |
0.2 |
0 |
0 |
1.26 KB |
| #3047 |
ExecuteAsync |
netcoreapp3.1 |
1.57μs |
0.593ns |
2.22ns |
0.0167 |
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 |
| #3047 |
SendAsync |
net472 |
4.99μs |
4.96ns |
19.2ns |
0.393 |
0 |
0 |
2.48 KB |
| #3047 |
SendAsync |
netcoreapp3.1 |
3.3μs |
3.24ns |
12.6ns |
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 |
| #3047 |
EnrichedLog |
net472 |
2.83μs |
0.898ns |
3.48ns |
0.264 |
0 |
0 |
1.66 KB |
| #3047 |
EnrichedLog |
netcoreapp3.1 |
2.37μs |
0.892ns |
3.45ns |
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 |
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 |
| #3047 |
EnrichedLog |
net472 |
148μs |
47.2ns |
183ns |
0.665 |
0.222 |
0 |
4.5 KB |
| #3047 |
EnrichedLog |
netcoreapp3.1 |
113μs |
94.4ns |
366ns |
0.0561 |
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 |
| #3047 |
EnrichedLog |
net472 |
5.27μs |
3.75ns |
14.5ns |
0.546 |
0.00262 |
0 |
3.43 KB |
| #3047 |
EnrichedLog |
netcoreapp3.1 |
4.36μs |
1.52ns |
5.49ns |
0.0521 |
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 |
| #3047 |
SendReceive |
net472 |
2μs |
0.688ns |
2.48ns |
0.194 |
0 |
0 |
1.22 KB |
| #3047 |
SendReceive |
netcoreapp3.1 |
1.66μs |
0.827ns |
3.09ns |
0.0166 |
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 |
| #3047 |
EnrichedLog |
net472 |
4.63μs |
1.77ns |
6.86ns |
0.329 |
0 |
0 |
2.08 KB |
| #3047 |
EnrichedLog |
netcoreapp3.1 |
4.06μs |
1.34ns |
4.84ns |
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 |
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 |
| #3047 |
StartFinishSpan |
net472 |
839ns |
0.402ns |
1.5ns |
0.105 |
0 |
0 |
658 B |
| #3047 |
StartFinishSpan |
netcoreapp3.1 |
772ns |
0.329ns |
1.23ns |
0.00885 |
0 |
0 |
648 B |
| #3047 |
StartFinishScope |
net472 |
1.01μs |
0.231ns |
0.894ns |
0.117 |
0 |
0 |
738 B |
| #3047 |
StartFinishScope |
netcoreapp3.1 |
928ns |
0.258ns |
0.965ns |
0.0107 |
0 |
0 |
768 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: Same allocations :heavy_check_mark:
Slower :warning: in #3047
| Benchmark |
diff/base |
Base Median (ns) |
Diff Median (ns) |
Modality |
| Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 |
1.116 |
1,155.89 |
1,289.93 |
|
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 |
| #3047 |
RunOnMethodBegin |
net472 |
1.29μs |
0.32ns |
1.24ns |
0.117 |
0 |
0 |
738 B |
| #3047 |
RunOnMethodBegin |
netcoreapp3.1 |
993ns |
0.369ns |
1.43ns |
0.0104 |
0 |
0 |
768 B |
Benchmarks Report :snail:
Benchmarks for #3047 compared to master:
- 1 benchmarks are faster, with geometric mean 1.333
- 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 |
| #3047 |
WriteAndFlushEnrichedTraces |
net472 |
717μs |
757ns |
2.93μs |
0.357 |
0 |
0 |
3.18 KB |
| #3047 |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
463μs |
217ns |
814ns |
0 |
0 |
0 |
2.59 KB |
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:
Faster :tada: in #3047
| Benchmark |
base/diff |
Base Median (ns) |
Diff Median (ns) |
Modality |
| Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 |
1.333 |
2,208.74 |
1,657.47 |
|
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 |
| #3047 |
AllCycleSimpleBody |
net472 |
1.66μs |
1.77ns |
6.87ns |
0.237 |
0 |
0 |
1.49 KB |
| #3047 |
AllCycleSimpleBody |
netcoreapp3.1 |
1.77μs |
2.26ns |
8.73ns |
0.0183 |
0 |
0 |
1.37 KB |
| #3047 |
AllCycleMoreComplexBody |
net472 |
17μs |
14.1ns |
52.8ns |
1.38 |
0.0253 |
0 |
8.75 KB |
| #3047 |
AllCycleMoreComplexBody |
netcoreapp3.1 |
13.8μs |
14.4ns |
52ns |
0.104 |
0 |
0 |
7.85 KB |
| #3047 |
BodyExtractorSimpleBody |
net472 |
260ns |
0.803ns |
3.11ns |
0.0573 |
0 |
0 |
361 B |
| #3047 |
BodyExtractorSimpleBody |
netcoreapp3.1 |
214ns |
0.132ns |
0.477ns |
0.00373 |
0 |
0 |
272 B |
| #3047 |
BodyExtractorMoreComplexBody |
net472 |
14.7μs |
10.2ns |
35.2ns |
1.21 |
0.0147 |
0 |
7.62 KB |
| #3047 |
BodyExtractorMoreComplexBody |
netcoreapp3.1 |
12.2μs |
10ns |
36.2ns |
0.0906 |
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 |
177μs |
225ns |
872ns |
0.266 |
0 |
0 |
20.33 KB |
| #3047 |
SendRequest |
net472 |
0ns |
0ns |
0ns |
0 |
0 |
0 |
0 b |
| #3047 |
SendRequest |
netcoreapp3.1 |
178μs |
105ns |
406ns |
0.266 |
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 |
| #3047 |
ExecuteNonQuery |
net472 |
1.54μs |
0.506ns |
1.96ns |
0.126 |
0.000772 |
0 |
794 B |
| #3047 |
ExecuteNonQuery |
netcoreapp3.1 |
1.28μs |
0.212ns |
0.765ns |
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 |
| #3047 |
CallElasticsearch |
net472 |
2.21μs |
0.837ns |
3.24ns |
0.159 |
0 |
0 |
1 KB |
| #3047 |
CallElasticsearch |
netcoreapp3.1 |
1.38μs |
0.882ns |
3.18ns |
0.0131 |
0 |
0 |
984 B |
| #3047 |
CallElasticsearchAsync |
net472 |
2.3μs |
0.698ns |
2.7ns |
0.181 |
0 |
0 |
1.14 KB |
| #3047 |
CallElasticsearchAsync |
netcoreapp3.1 |
1.5μs |
0.452ns |
1.63ns |
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 |
| #3047 |
ExecuteAsync |
net472 |
2.44μs |
1.98ns |
7.65ns |
0.2 |
0 |
0 |
1.26 KB |
| #3047 |
ExecuteAsync |
netcoreapp3.1 |
1.64μs |
0.737ns |
2.85ns |
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 |
| #3047 |
SendAsync |
net472 |
5.02μs |
1.62ns |
6.29ns |
0.393 |
0 |
0 |
2.48 KB |
| #3047 |
SendAsync |
netcoreapp3.1 |
3.23μs |
4.65ns |
18ns |
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 |
| #3047 |
EnrichedLog |
net472 |
2.99μs |
1.25ns |
4.69ns |
0.263 |
0 |
0 |
1.66 KB |
| #3047 |
EnrichedLog |
netcoreapp3.1 |
2.52μs |
0.862ns |
3.34ns |
0.0238 |
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 |
| #3047 |
EnrichedLog |
net472 |
147μs |
78.3ns |
293ns |
0.666 |
0.222 |
0 |
4.5 KB |
| #3047 |
EnrichedLog |
netcoreapp3.1 |
113μs |
70.1ns |
272ns |
0.0559 |
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 |
| #3047 |
EnrichedLog |
net472 |
5.36μs |
4.53ns |
17.6ns |
0.544 |
0.00268 |
0 |
3.43 KB |
| #3047 |
EnrichedLog |
netcoreapp3.1 |
4.3μs |
2.81ns |
10.5ns |
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 |
| #3047 |
SendReceive |
net472 |
2.03μs |
2.25ns |
8.71ns |
0.193 |
0 |
0 |
1.22 KB |
| #3047 |
SendReceive |
netcoreapp3.1 |
1.65μs |
0.791ns |
2.96ns |
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 |
| #3047 |
EnrichedLog |
net472 |
4.57μs |
1.8ns |
6.98ns |
0.33 |
0 |
0 |
2.08 KB |
| #3047 |
EnrichedLog |
netcoreapp3.1 |
4.12μs |
1.93ns |
7.21ns |
0.0226 |
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 |
| #3047 |
StartFinishSpan |
net472 |
877ns |
0.35ns |
1.36ns |
0.104 |
0 |
0 |
658 B |
| #3047 |
StartFinishSpan |
netcoreapp3.1 |
776ns |
0.133ns |
0.515ns |
0.0089 |
0 |
0 |
648 B |
| #3047 |
StartFinishScope |
net472 |
1.01μs |
0.253ns |
0.981ns |
0.117 |
0 |
0 |
738 B |
| #3047 |
StartFinishScope |
netcoreapp3.1 |
899ns |
1.39ns |
4.82ns |
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.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 |
| #3047 |
RunOnMethodBegin |
net472 |
1.22μs |
0.519ns |
2.01ns |
0.117 |
0 |
0 |
738 B |
| #3047 |
RunOnMethodBegin |
netcoreapp3.1 |
1.06μs |
0.413ns |
1.55ns |
0.0101 |
0 |
0 |
768 B |
Code Coverage Report :bar_chart:
:heavy_check_mark: Merging #3047 into master will not change line coverage
:heavy_check_mark: Merging #3047 into master will not change branch coverage
:heavy_check_mark: Merging #3047 into master will not change complexity
|
master |
#3047 |
Change |
| Lines |
16778 / 22859 |
16748 / 22859 |
|
| Lines % |
73% |
73% |
0% :heavy_check_mark: |
| Branches |
9999 / 14184 |
9999 / 14184 |
|
| Branches % |
70% |
70% |
0% :heavy_check_mark: |
| Complexity |
15245 |
15245 |
0 :heavy_check_mark: |
View the full report for further details:
Datadog.Trace Breakdown :heavy_check_mark:
|
master |
#3047 |
Change |
| Lines % |
73% |
73% |
0% :heavy_check_mark: |
| Branches % |
70% |
70% |
0% :heavy_check_mark: |
| Complexity |
15245 |
15245 |
0 :heavy_check_mark: |
The following classes have significant coverage changes.
View the full reports for further details: