[Tracer] Ignore more assemblies and don't resend them all at each run
Open
pierotibou
opened this issue 2 years ago
•
8 comments
Summary of changes
Ignore assembly names like ℛ*fe48e1c0-b9fb-433d-a781-5f0f0b6555e4#2-0
as there were 6000 of them. Also do not resend all assemblies at each run.
Reason for change
There was a misunderstanding with R&P, we need to send them once, not resend the whole package every time. We'll need to do the same for config and integrations.
Implementation details
For the update, rebuild a ConcurrentDictionnary at each upload.
Test coverage
Added 2 test cases
Other details
Benchmarks Report :snail:
Benchmarks for #2966 compared to master :
1 benchmarks are faster , with geometric mean 1.350
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
728μs
511ns
1.98μs
0.361
0
0
3.16 KB
master
WriteAndFlushEnrichedTraces
netcoreapp3.1
459μs
229ns
827ns
0
0
0
2.57 KB
#2966
WriteAndFlushEnrichedTraces
net472
719μs
832ns
3.22μs
0.361
0
0
3.16 KB
#2966
WriteAndFlushEnrichedTraces
netcoreapp3.1
461μs
358ns
1.34μs
0
0
0
2.57 KB
Benchmarks.Trace.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:
Faster :tada: in #2966
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.AppSecBodyBenchmark.AllCycleSimpleBody‑net472
1.350
2,356.91
1,746.02
Raw results
Branch
Method
Toolchain
Mean
StdError
StdDev
Gen 0
Gen 1
Gen 2
Allocated
master
AllCycleSimpleBody
net472
2.36μs
3.65ns
13.7ns
0.235
0
0
1.48 KB
master
AllCycleSimpleBody
netcoreapp3.1
1.88μs
5.5ns
21.3ns
0.0183
0
0
1.36 KB
master
AllCycleMoreComplexBody
net472
17.3μs
33.7ns
121ns
1.39
0.0171
0
8.74 KB
master
AllCycleMoreComplexBody
netcoreapp3.1
14.2μs
25.4ns
95.1ns
0.106
0
0
7.84 KB
master
BodyExtractorSimpleBody
net472
258ns
0.785ns
3.04ns
0.0573
0
0
361 B
master
BodyExtractorSimpleBody
netcoreapp3.1
235ns
0.238ns
0.923ns
0.00378
0
0
272 B
master
BodyExtractorMoreComplexBody
net472
15μs
18ns
67.4ns
1.21
0.0148
0
7.62 KB
master
BodyExtractorMoreComplexBody
netcoreapp3.1
12.4μs
28.4ns
110ns
0.0912
0
0
6.75 KB
#2966
AllCycleSimpleBody
net472
1.75μs
2.61ns
9.78ns
0.236
0
0
1.48 KB
#2966
AllCycleSimpleBody
netcoreapp3.1
1.8μs
3.41ns
12.3ns
0.0187
0
0
1.36 KB
#2966
AllCycleMoreComplexBody
net472
16.9μs
43.5ns
168ns
1.39
0.025
0
8.74 KB
#2966
AllCycleMoreComplexBody
netcoreapp3.1
14μs
28.1ns
105ns
0.106
0
0
7.84 KB
#2966
BodyExtractorSimpleBody
net472
266ns
0.591ns
2.29ns
0.0573
0
0
361 B
#2966
BodyExtractorSimpleBody
netcoreapp3.1
231ns
0.902ns
3.49ns
0.00365
0
0
272 B
#2966
BodyExtractorMoreComplexBody
net472
15.4μs
37.9ns
147ns
1.2
0.0153
0
7.62 KB
#2966
BodyExtractorMoreComplexBody
netcoreapp3.1
11.8μs
14.5ns
54.3ns
0.0885
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
174μs
138ns
517ns
0.174
0
0
19.86 KB
#2966
SendRequest
net472
0ns
0ns
0ns
0
0
0
0 b
#2966
SendRequest
netcoreapp3.1
172μs
188ns
727ns
0.258
0
0
19.86 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.46μs
0.762ns
2.95ns
0.115
0.000731
0
722 B
master
ExecuteNonQuery
netcoreapp3.1
1.19μs
0.495ns
1.85ns
0.0101
0
0
752 B
#2966
ExecuteNonQuery
net472
1.46μs
0.468ns
1.81ns
0.114
0.000737
0
722 B
#2966
ExecuteNonQuery
netcoreapp3.1
1.24μs
0.489ns
1.9ns
0.00989
0
0
752 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.11μs
3.08ns
11.9ns
0.148
0
0
931 B
master
CallElasticsearch
netcoreapp3.1
1.31μs
2.04ns
7.89ns
0.0125
0
0
912 B
master
CallElasticsearchAsync
net472
2.36μs
3.52ns
13.2ns
0.169
0
0
1.07 KB
master
CallElasticsearchAsync
netcoreapp3.1
1.48μs
1.36ns
5.28ns
0.0141
0
0
1.03 KB
#2966
CallElasticsearch
net472
2.08μs
2.59ns
10ns
0.147
0
0
931 B
#2966
CallElasticsearch
netcoreapp3.1
1.41μs
1.21ns
4.7ns
0.0119
0
0
912 B
#2966
CallElasticsearchAsync
net472
2.2μs
2.94ns
11ns
0.169
0
0
1.07 KB
#2966
CallElasticsearchAsync
netcoreapp3.1
1.5μs
0.825ns
3.09ns
0.0142
0
0
1.03 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.26μs
4.59ns
17.8ns
0.188
0
0
1.19 KB
master
ExecuteAsync
netcoreapp3.1
1.47μs
2.61ns
10.1ns
0.0154
0
0
1.15 KB
#2966
ExecuteAsync
net472
2.22μs
6.12ns
23.7ns
0.188
0
0
1.19 KB
#2966
ExecuteAsync
netcoreapp3.1
1.51μs
2.31ns
8.63ns
0.0151
0
0
1.15 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.7μs
11.4ns
41ns
0.38
0
0
2.41 KB
master
SendAsync
netcoreapp3.1
3.22μs
5.13ns
19.9ns
0.0307
0
0
2.33 KB
#2966
SendAsync
net472
4.68μs
10.9ns
42.1ns
0.382
0
0
2.41 KB
#2966
SendAsync
netcoreapp3.1
3.31μs
7.56ns
29.3ns
0.0314
0
0
2.33 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
3.69ns
14.3ns
0.25
0
0
1.58 KB
master
EnrichedLog
netcoreapp3.1
2.34μs
2.11ns
7.91ns
0.022
0
0
1.65 KB
#2966
EnrichedLog
net472
2.68μs
1.34ns
5ns
0.251
0
0
1.58 KB
#2966
EnrichedLog
netcoreapp3.1
2.22μs
0.803ns
3.11ns
0.0221
0
0
1.65 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
217ns
842ns
0.664
0.221
0
4.42 KB
master
EnrichedLog
netcoreapp3.1
111μs
205ns
793ns
0.0555
0
0
4.3 KB
#2966
EnrichedLog
net472
150μs
88.2ns
341ns
0.668
0.223
0
4.42 KB
#2966
EnrichedLog
netcoreapp3.1
113μs
149ns
578ns
0.0563
0
0
4.3 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.16μs
10.7ns
39.9ns
0.531
0.0026
0
3.35 KB
master
EnrichedLog
netcoreapp3.1
3.91μs
7.84ns
30.4ns
0.0507
0
0
3.72 KB
#2966
EnrichedLog
net472
5.13μs
9.06ns
35.1ns
0.531
0.00255
0
3.35 KB
#2966
EnrichedLog
netcoreapp3.1
4.08μs
8.46ns
31.6ns
0.0505
0
0
3.72 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.93μs
1.67ns
6.23ns
0.18
0
0
1.14 KB
master
SendReceive
netcoreapp3.1
1.56μs
1.09ns
4.23ns
0.0148
0
0
1.13 KB
#2966
SendReceive
net472
1.97μs
0.987ns
3.82ns
0.181
0
0
1.14 KB
#2966
SendReceive
netcoreapp3.1
1.63μs
0.935ns
3.37ns
0.0155
0
0
1.13 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.59μs
6.14ns
23ns
0.316
0
0
2 KB
master
EnrichedLog
netcoreapp3.1
4.04μs
3.77ns
14.6ns
0.0222
0
0
1.61 KB
#2966
EnrichedLog
net472
4.63μs
4.32ns
16.7ns
0.316
0
0
2 KB
#2966
EnrichedLog
netcoreapp3.1
4.01μs
4.6ns
17.8ns
0.0219
0
0
1.61 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
880ns
0.392ns
1.52ns
0.0928
0
0
586 B
master
StartFinishSpan
netcoreapp3.1
698ns
0.228ns
0.855ns
0.00771
0
0
576 B
master
StartFinishScope
net472
1.03μs
0.68ns
2.45ns
0.105
0
0
666 B
master
StartFinishScope
netcoreapp3.1
818ns
0.406ns
1.57ns
0.00949
0
0
696 B
#2966
StartFinishSpan
net472
885ns
0.366ns
1.42ns
0.093
0
0
586 B
#2966
StartFinishSpan
netcoreapp3.1
713ns
0.331ns
1.24ns
0.00771
0
0
576 B
#2966
StartFinishScope
net472
1.08μs
0.693ns
2.69ns
0.106
0
0
666 B
#2966
StartFinishScope
netcoreapp3.1
809ns
0.274ns
0.989ns
0.00936
0
0
696 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.28μs
0.679ns
2.54ns
0.106
0
0
666 B
master
RunOnMethodBegin
netcoreapp3.1
978ns
0.243ns
0.942ns
0.00931
0
0
696 B
#2966
RunOnMethodBegin
net472
1.27μs
0.518ns
2ns
0.106
0
0
666 B
#2966
RunOnMethodBegin
netcoreapp3.1
971ns
0.485ns
1.82ns
0.00923
0
0
696 B
Code Coverage Report :bar_chart:
:heavy_check_mark: Merging #2966 into master will not change line coverage
:heavy_check_mark: Merging #2966 into master will not change branch coverage
:no_entry: Merging #2966 into master will will increase complexity by 9
master
#2966
Change
Lines
15065
/ 20488
15027
/ 20486
Lines %
74%
73%
0%
:heavy_check_mark:
Branches
9157
/ 12972
9161
/ 12982
Branches %
71%
71%
0%
:heavy_check_mark:
Complexity
13845
13854
9
:no_entry:
View the full report for further details:
Datadog.Trace Breakdown :heavy_check_mark:
master
#2966
Change
Lines %
74%
73%
0%
:heavy_check_mark:
Branches %
71%
71%
0%
:heavy_check_mark:
Complexity
13845
13854
9
:no_entry:
The following classes have significant coverage changes.
View the full reports for further details:
I initially thought this implementation would be sufficient, but actually I don't think it will be. With this design we will still send duplicate assemblies if there are multiple domains. We still have the global uniqueness requirement, so maybe something like this would work:
private readonly ConcurrentDictionary<DependencyTelemetryData, bool> _allAssemblies = new();
private ConcurrentBag<DependencyTelemetryData> _currentAssemblies = new();
internal void AssemblyLoaded(AssemblyName assembly)
{
// ...
if(_allAssemblies.TryAdd(key, true))
{
_currentAssemblies.TryAdd(key))
}
}
public ICollection<DependencyTelemetryData> GetData()
{
var assemblies = Interlocked.Exchange(ref _currentAssemblies , new ConcurrentBag<DependencyTelemetryData>());
// ...
}
Also this will break all the integration test telemetry checks I expect, so they will need updating too.
Never ever use ConcurrentBag
without a compelling use-case and setting up some benchmarks. Please use ConcurrentQueue
instead 🙂
Benchmarks Report :snail:
Benchmarks for #2966 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
715μs
276ns
1.07μs
0.355
0
0
3.18 KB
master
WriteAndFlushEnrichedTraces
netcoreapp3.1
482μs
337ns
1.3μs
0
0
0
2.58 KB
#2966
WriteAndFlushEnrichedTraces
net472
713μs
444ns
1.72μs
0.353
0
0
3.18 KB
#2966
WriteAndFlushEnrichedTraces
netcoreapp3.1
453μs
144ns
559ns
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.65μs
1.52ns
5.89ns
0.237
0
0
1.49 KB
master
AllCycleSimpleBody
netcoreapp3.1
1.84μs
1.45ns
5.82ns
0.0182
0
0
1.37 KB
master
AllCycleMoreComplexBody
net472
17.3μs
15.4ns
59.5ns
1.38
0.0248
0
8.75 KB
master
AllCycleMoreComplexBody
netcoreapp3.1
14.1μs
10.6ns
41.1ns
0.106
0
0
7.85 KB
master
BodyExtractorSimpleBody
net472
255ns
0.23ns
0.859ns
0.0574
0
0
361 B
master
BodyExtractorSimpleBody
netcoreapp3.1
222ns
0.259ns
1ns
0.0037
0
0
272 B
master
BodyExtractorMoreComplexBody
net472
16μs
93.7ns
828ns
1.21
0.0155
0
7.62 KB
master
BodyExtractorMoreComplexBody
netcoreapp3.1
11.7μs
18.8ns
67.9ns
0.0879
0
0
6.75 KB
#2966
AllCycleSimpleBody
net472
1.67μs
1.07ns
3.99ns
0.236
0
0
1.49 KB
#2966
AllCycleSimpleBody
netcoreapp3.1
1.76μs
2.81ns
10.5ns
0.0185
0
0
1.37 KB
#2966
AllCycleMoreComplexBody
net472
16.6μs
15.2ns
58.7ns
1.38
0.0249
0
8.75 KB
#2966
AllCycleMoreComplexBody
netcoreapp3.1
14.3μs
12.1ns
46.9ns
0.108
0
0
7.85 KB
#2966
BodyExtractorSimpleBody
net472
251ns
0.185ns
0.692ns
0.0573
0
0
361 B
#2966
BodyExtractorSimpleBody
netcoreapp3.1
229ns
0.235ns
0.878ns
0.0037
0
0
272 B
#2966
BodyExtractorMoreComplexBody
net472
14.7μs
11.9ns
46.1ns
1.21
0.0147
0
7.62 KB
#2966
BodyExtractorMoreComplexBody
netcoreapp3.1
12.1μs
20.1ns
77.9ns
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
179μs
94.3ns
340ns
0.268
0
0
20.37 KB
#2966
SendRequest
net472
0ns
0ns
0ns
0
0
0
0 b
#2966
SendRequest
netcoreapp3.1
180μs
125ns
468ns
0.268
0
0
20.38 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
Branch
Method
Toolchain
Mean
StdError
StdDev
Gen 0
Gen 1
Gen 2
Allocated
master
ExecuteNonQuery
net472
1.57μs
0.492ns
1.91ns
0.126
0.000793
0
794 B
master
ExecuteNonQuery
netcoreapp3.1
1.27μs
0.461ns
1.6ns
0.011
0
0
824 B
#2966
ExecuteNonQuery
net472
1.58μs
0.51ns
1.97ns
0.125
0.000794
0
794 B
#2966
ExecuteNonQuery
netcoreapp3.1
1.3μs
0.537ns
2.01ns
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.15μs
3.6ns
13.5ns
0.159
0
0
1 KB
master
CallElasticsearch
netcoreapp3.1
1.37μs
1.09ns
4.08ns
0.0132
0
0
984 B
master
CallElasticsearchAsync
net472
2.34μs
3.28ns
12.7ns
0.181
0
0
1.14 KB
master
CallElasticsearchAsync
netcoreapp3.1
1.48μs
1.79ns
6.72ns
0.0147
0
0
1.1 KB
#2966
CallElasticsearch
net472
2.23μs
1.74ns
6.74ns
0.159
0
0
1 KB
#2966
CallElasticsearch
netcoreapp3.1
1.42μs
1.64ns
6.14ns
0.0135
0
0
984 B
#2966
CallElasticsearchAsync
net472
2.27μs
2.37ns
9.17ns
0.18
0
0
1.14 KB
#2966
CallElasticsearchAsync
netcoreapp3.1
1.43μs
1.63ns
6.1ns
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.44μs
8.84ns
34.2ns
0.2
0
0
1.26 KB
master
ExecuteAsync
netcoreapp3.1
1.57μs
1.59ns
6.15ns
0.0166
0
0
1.22 KB
#2966
ExecuteAsync
net472
2.48μs
4.86ns
18.8ns
0.199
0
0
1.26 KB
#2966
ExecuteAsync
netcoreapp3.1
1.61μs
1.56ns
5.84ns
0.017
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.95μs
7.27ns
26.2ns
0.393
0
0
2.48 KB
master
SendAsync
netcoreapp3.1
3.37μs
2.7ns
10.5ns
0.032
0
0
2.4 KB
#2966
SendAsync
net472
4.95μs
7.18ns
27.8ns
0.392
0
0
2.48 KB
#2966
SendAsync
netcoreapp3.1
3.5μs
4.14ns
16ns
0.0331
0
0
2.4 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
0.836ns
3.13ns
0.264
0
0
1.66 KB
master
EnrichedLog
netcoreapp3.1
2.28μs
1.85ns
6.93ns
0.0228
0
0
1.73 KB
#2966
EnrichedLog
net472
2.75μs
1.75ns
6.79ns
0.264
0
0
1.66 KB
#2966
EnrichedLog
netcoreapp3.1
2.43μs
0.863ns
3.34ns
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
113ns
437ns
0.665
0.222
0
4.5 KB
master
EnrichedLog
netcoreapp3.1
113μs
100ns
389ns
0.0566
0
0
4.38 KB
#2966
EnrichedLog
net472
147μs
52.7ns
183ns
0.664
0.221
0
4.5 KB
#2966
EnrichedLog
netcoreapp3.1
111μs
153ns
593ns
0.0556
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.33μs
7.85ns
30.4ns
0.543
0.00265
0
3.43 KB
master
EnrichedLog
netcoreapp3.1
4.43μs
2.88ns
10.8ns
0.0516
0
0
3.8 KB
#2966
EnrichedLog
net472
5.34μs
6.39ns
23.1ns
0.543
0.00268
0
3.43 KB
#2966
EnrichedLog
netcoreapp3.1
4.21μs
4.56ns
17ns
0.0506
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.04μs
1.39ns
5.39ns
0.193
0
0
1.22 KB
master
SendReceive
netcoreapp3.1
1.61μs
2.35ns
8.47ns
0.0161
0
0
1.21 KB
#2966
SendReceive
net472
2.04μs
0.889ns
3.44ns
0.193
0
0
1.22 KB
#2966
SendReceive
netcoreapp3.1
1.73μs
1.71ns
6.6ns
0.0161
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.66μs
5.28ns
19.8ns
0.33
0
0
2.08 KB
master
EnrichedLog
netcoreapp3.1
4.17μs
6.61ns
25.6ns
0.0228
0
0
1.69 KB
#2966
EnrichedLog
net472
4.53μs
5.36ns
20.1ns
0.328
0
0
2.08 KB
#2966
EnrichedLog
netcoreapp3.1
4.12μs
3.74ns
14.5ns
0.0227
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
777ns
0.309ns
1.16ns
0.104
0
0
658 B
master
StartFinishSpan
netcoreapp3.1
782ns
0.295ns
1.1ns
0.00863
0
0
648 B
master
StartFinishScope
net472
1.09μs
0.461ns
1.78ns
0.117
0
0
738 B
master
StartFinishScope
netcoreapp3.1
949ns
0.371ns
1.34ns
0.0104
0
0
768 B
#2966
StartFinishSpan
net472
803ns
0.406ns
1.52ns
0.104
0
0
658 B
#2966
StartFinishSpan
netcoreapp3.1
726ns
1.63ns
6.11ns
0.0087
0
0
648 B
#2966
StartFinishScope
net472
1.05μs
0.504ns
1.95ns
0.117
0
0
738 B
#2966
StartFinishScope
netcoreapp3.1
929ns
0.435ns
1.57ns
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.23μs
6.49ns
35ns
0.117
0
0
738 B
master
RunOnMethodBegin
netcoreapp3.1
1.03μs
5.21ns
34.6ns
0.0106
0
0
768 B
#2966
RunOnMethodBegin
net472
1.21μs
0.391ns
1.46ns
0.117
0
0
738 B
#2966
RunOnMethodBegin
netcoreapp3.1
1.08μs
0.266ns
0.958ns
0.0102
0
0
768 B
Code Coverage Report :bar_chart:
:heavy_check_mark: Merging #2966 into master will not change line coverage
:heavy_check_mark: Merging #2966 into master will not change branch coverage
:no_entry: Merging #2966 into master will will increase complexity by 20
master
#2966
Change
Lines
16837
/ 22853
16835
/ 22860
Lines %
74%
74%
0%
:heavy_check_mark:
Branches
10034
/ 14174
10051
/ 14194
Branches %
71%
71%
0%
:heavy_check_mark:
Complexity
15236
15256
20
:no_entry:
View the full report for further details:
Datadog.Trace Breakdown :heavy_check_mark:
master
#2966
Change
Lines %
74%
74%
0%
:heavy_check_mark:
Branches %
71%
71%
0%
:heavy_check_mark:
Complexity
15236
15256
20
:no_entry:
The following classes have significant coverage changes.
File
Line coverage change
Branch coverage change
Complexity change
Datadog.Trace.Ci.CIVisibility
7%
:heavy_check_mark:
7%
:heavy_check_mark:
0
:heavy_check_mark:
View the full reports for further details:
Benchmarks Report :snail:
Benchmarks for #2966 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
715μs
276ns
1.07μs
0.355
0
0
3.18 KB
master
WriteAndFlushEnrichedTraces
netcoreapp3.1
482μs
337ns
1.3μs
0
0
0
2.58 KB
#2966
WriteAndFlushEnrichedTraces
net472
713μs
579ns
2.24μs
0.353
0
0
3.18 KB
#2966
WriteAndFlushEnrichedTraces
netcoreapp3.1
460μs
164ns
635ns
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.65μs
1.52ns
5.89ns
0.237
0
0
1.49 KB
master
AllCycleSimpleBody
netcoreapp3.1
1.84μs
1.45ns
5.82ns
0.0182
0
0
1.37 KB
master
AllCycleMoreComplexBody
net472
17.3μs
15.4ns
59.5ns
1.38
0.0248
0
8.75 KB
master
AllCycleMoreComplexBody
netcoreapp3.1
14.1μs
10.6ns
41.1ns
0.106
0
0
7.85 KB
master
BodyExtractorSimpleBody
net472
255ns
0.23ns
0.859ns
0.0574
0
0
361 B
master
BodyExtractorSimpleBody
netcoreapp3.1
222ns
0.259ns
1ns
0.0037
0
0
272 B
master
BodyExtractorMoreComplexBody
net472
16μs
93.7ns
828ns
1.21
0.0155
0
7.62 KB
master
BodyExtractorMoreComplexBody
netcoreapp3.1
11.7μs
18.8ns
67.9ns
0.0879
0
0
6.75 KB
#2966
AllCycleSimpleBody
net472
1.81μs
2.26ns
8.74ns
0.237
0
0
1.49 KB
#2966
AllCycleSimpleBody
netcoreapp3.1
1.76μs
2.85ns
11ns
0.0185
0
0
1.37 KB
#2966
AllCycleMoreComplexBody
net472
16.7μs
12.1ns
46.9ns
1.39
0.0249
0
8.75 KB
#2966
AllCycleMoreComplexBody
netcoreapp3.1
14.2μs
17.9ns
66.8ns
0.106
0
0
7.85 KB
#2966
BodyExtractorSimpleBody
net472
252ns
0.268ns
1.04ns
0.0574
0
0
361 B
#2966
BodyExtractorSimpleBody
netcoreapp3.1
210ns
0.274ns
1.06ns
0.00378
0
0
272 B
#2966
BodyExtractorMoreComplexBody
net472
14.9μs
10.2ns
39.3ns
1.2
0.015
0
7.62 KB
#2966
BodyExtractorMoreComplexBody
netcoreapp3.1
11.8μs
7.92ns
29.6ns
0.0938
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
94.3ns
340ns
0.268
0
0
20.37 KB
#2966
SendRequest
net472
0ns
0ns
0ns
0
0
0
0 b
#2966
SendRequest
netcoreapp3.1
179μs
210ns
815ns
0.266
0
0
20.37 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.492ns
1.91ns
0.126
0.000793
0
794 B
master
ExecuteNonQuery
netcoreapp3.1
1.27μs
0.461ns
1.6ns
0.011
0
0
824 B
#2966
ExecuteNonQuery
net472
1.55μs
0.447ns
1.61ns
0.126
0.000777
0
794 B
#2966
ExecuteNonQuery
netcoreapp3.1
1.28μs
0.838ns
3.25ns
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.15μs
3.6ns
13.5ns
0.159
0
0
1 KB
master
CallElasticsearch
netcoreapp3.1
1.37μs
1.09ns
4.08ns
0.0132
0
0
984 B
master
CallElasticsearchAsync
net472
2.34μs
3.28ns
12.7ns
0.181
0
0
1.14 KB
master
CallElasticsearchAsync
netcoreapp3.1
1.48μs
1.79ns
6.72ns
0.0147
0
0
1.1 KB
#2966
CallElasticsearch
net472
2.17μs
1.38ns
5.36ns
0.159
0
0
1 KB
#2966
CallElasticsearch
netcoreapp3.1
1.38μs
0.844ns
3.16ns
0.0133
0
0
984 B
#2966
CallElasticsearchAsync
net472
2.46μs
1.66ns
6.22ns
0.18
0
0
1.14 KB
#2966
CallElasticsearchAsync
netcoreapp3.1
1.44μs
1.15ns
4.45ns
0.0152
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.44μs
8.84ns
34.2ns
0.2
0
0
1.26 KB
master
ExecuteAsync
netcoreapp3.1
1.57μs
1.59ns
6.15ns
0.0166
0
0
1.22 KB
#2966
ExecuteAsync
net472
2.44μs
1.57ns
6.08ns
0.199
0
0
1.26 KB
#2966
ExecuteAsync
netcoreapp3.1
1.62μs
0.974ns
3.77ns
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.95μs
7.27ns
26.2ns
0.393
0
0
2.48 KB
master
SendAsync
netcoreapp3.1
3.37μs
2.7ns
10.5ns
0.032
0
0
2.4 KB
#2966
SendAsync
net472
5.05μs
1.76ns
6.83ns
0.394
0
0
2.48 KB
#2966
SendAsync
netcoreapp3.1
3.44μs
1.34ns
5ns
0.0328
0
0
2.4 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
0.836ns
3.13ns
0.264
0
0
1.66 KB
master
EnrichedLog
netcoreapp3.1
2.28μs
1.85ns
6.93ns
0.0228
0
0
1.73 KB
#2966
EnrichedLog
net472
2.84μs
0.769ns
2.88ns
0.264
0
0
1.66 KB
#2966
EnrichedLog
netcoreapp3.1
2.32μs
3.31ns
12.8ns
0.0228
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
113ns
437ns
0.665
0.222
0
4.5 KB
master
EnrichedLog
netcoreapp3.1
113μs
100ns
389ns
0.0566
0
0
4.38 KB
#2966
EnrichedLog
net472
147μs
114ns
441ns
0.663
0.221
0
4.5 KB
#2966
EnrichedLog
netcoreapp3.1
111μs
224ns
866ns
0.0558
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.33μs
7.85ns
30.4ns
0.543
0.00265
0
3.43 KB
master
EnrichedLog
netcoreapp3.1
4.43μs
2.88ns
10.8ns
0.0516
0
0
3.8 KB
#2966
EnrichedLog
net472
5.38μs
1.12ns
4.19ns
0.546
0.00269
0
3.43 KB
#2966
EnrichedLog
netcoreapp3.1
4.34μs
1.54ns
5.96ns
0.052
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.04μs
1.39ns
5.39ns
0.193
0
0
1.22 KB
master
SendReceive
netcoreapp3.1
1.61μs
2.35ns
8.47ns
0.0161
0
0
1.21 KB
#2966
SendReceive
net472
2.02μs
0.976ns
3.78ns
0.193
0
0
1.22 KB
#2966
SendReceive
netcoreapp3.1
1.71μs
0.989ns
3.83ns
0.0161
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.66μs
5.28ns
19.8ns
0.33
0
0
2.08 KB
master
EnrichedLog
netcoreapp3.1
4.17μs
6.61ns
25.6ns
0.0228
0
0
1.69 KB
#2966
EnrichedLog
net472
4.62μs
7.46ns
28.9ns
0.329
0
0
2.08 KB
#2966
EnrichedLog
netcoreapp3.1
4.16μs
2.33ns
9.04ns
0.0227
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
777ns
0.309ns
1.16ns
0.104
0
0
658 B
master
StartFinishSpan
netcoreapp3.1
782ns
0.295ns
1.1ns
0.00863
0
0
648 B
master
StartFinishScope
net472
1.09μs
0.461ns
1.78ns
0.117
0
0
738 B
master
StartFinishScope
netcoreapp3.1
949ns
0.371ns
1.34ns
0.0104
0
0
768 B
#2966
StartFinishSpan
net472
792ns
0.261ns
1.01ns
0.104
0
0
658 B
#2966
StartFinishSpan
netcoreapp3.1
738ns
0.236ns
0.85ns
0.00885
0
0
648 B
#2966
StartFinishScope
net472
1.05μs
0.323ns
1.25ns
0.117
0
0
738 B
#2966
StartFinishScope
netcoreapp3.1
903ns
0.352ns
1.27ns
0.0105
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.23μs
6.49ns
35ns
0.117
0
0
738 B
master
RunOnMethodBegin
netcoreapp3.1
1.03μs
5.21ns
34.6ns
0.0106
0
0
768 B
#2966
RunOnMethodBegin
net472
1.23μs
0.546ns
1.97ns
0.117
0
0
738 B
#2966
RunOnMethodBegin
netcoreapp3.1
1.04μs
0.358ns
1.39ns
0.0103
0
0
768 B
Code Coverage Report :bar_chart:
:heavy_check_mark: Merging #2966 into master will not change line coverage
:heavy_check_mark: Merging #2966 into master will not change branch coverage
:no_entry: Merging #2966 into master will will increase complexity by 16
master
#2966
Change
Lines
16802
/ 22853
16757
/ 22859
Lines %
74%
73%
0%
:heavy_check_mark:
Branches
10014
/ 14174
10016
/ 14190
Branches %
71%
71%
0%
:heavy_check_mark:
Complexity
15236
15252
16
:no_entry:
View the full report for further details:
Datadog.Trace Breakdown :heavy_check_mark:
master
#2966
Change
Lines %
74%
73%
0%
:heavy_check_mark:
Branches %
71%
71%
0%
:heavy_check_mark:
Complexity
15236
15252
16
:no_entry:
The following classes have significant coverage changes.
View the full reports for further details:
Benchmarks Report :snail:
Benchmarks for #2966 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
717μs
600ns
2.32μs
0.361
0
0
3.18 KB
master
WriteAndFlushEnrichedTraces
netcoreapp3.1
476μs
150ns
539ns
0
0
0
2.58 KB
#2966
WriteAndFlushEnrichedTraces
net472
713μs
381ns
1.42μs
0.357
0
0
3.18 KB
#2966
WriteAndFlushEnrichedTraces
netcoreapp3.1
478μs
115ns
432ns
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
213ns
0.118ns
0.456ns
0.0675
0
0
425 B
master
AllCycleSimpleBody
netcoreapp3.1
251ns
0.385ns
1.49ns
0.00585
0
0
424 B
master
AllCycleMoreComplexBody
net472
212ns
0.0923ns
0.346ns
0.0637
0
0
401 B
master
AllCycleMoreComplexBody
netcoreapp3.1
250ns
0.22ns
0.851ns
0.00541
0
0
400 B
master
BodyExtractorSimpleBody
net472
278ns
0.0937ns
0.338ns
0.0573
0
0
361 B
master
BodyExtractorSimpleBody
netcoreapp3.1
233ns
0.247ns
0.923ns
0.00372
0
0
272 B
master
BodyExtractorMoreComplexBody
net472
15.8μs
14.6ns
56.7ns
1.21
0.0158
0
7.62 KB
master
BodyExtractorMoreComplexBody
netcoreapp3.1
12.4μs
4.22ns
15.2ns
0.0931
0
0
6.75 KB
#2966
AllCycleSimpleBody
net472
199ns
0.0373ns
0.129ns
0.0675
0
0
425 B
#2966
AllCycleSimpleBody
netcoreapp3.1
256ns
0.136ns
0.525ns
0.00585
0
0
424 B
#2966
AllCycleMoreComplexBody
net472
202ns
0.234ns
0.875ns
0.0638
0
0
401 B
#2966
AllCycleMoreComplexBody
netcoreapp3.1
258ns
0.296ns
1.14ns
0.00544
0
0
400 B
#2966
BodyExtractorSimpleBody
net472
279ns
0.221ns
0.766ns
0.0574
0
0
361 B
#2966
BodyExtractorSimpleBody
netcoreapp3.1
225ns
0.108ns
0.404ns
0.00362
0
0
272 B
#2966
BodyExtractorMoreComplexBody
net472
15.9μs
14.4ns
55.7ns
1.21
0.0158
0
7.62 KB
#2966
BodyExtractorMoreComplexBody
netcoreapp3.1
12.1μs
5.68ns
22ns
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
181μs
296ns
1.15μs
0.27
0
0
20.6 KB
#2966
SendRequest
net472
0ns
0ns
0ns
0
0
0
0 b
#2966
SendRequest
netcoreapp3.1
179μs
224ns
869ns
0.268
0
0
20.58 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.85μs
5.97ns
22.3ns
0.15
0
0
947 B
master
ExecuteNonQuery
netcoreapp3.1
1.46μs
0.564ns
2.19ns
0.0124
0
0
936 B
#2966
ExecuteNonQuery
net472
1.77μs
0.621ns
2.41ns
0.15
0.000884
0
947 B
#2966
ExecuteNonQuery
netcoreapp3.1
1.43μs
3.45ns
12.9ns
0.0127
0
0
936 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.69μs
1.15ns
4.15ns
0.182
0
0
1.16 KB
master
CallElasticsearch
netcoreapp3.1
1.52μs
1.04ns
3.88ns
0.0145
0
0
1.1 KB
master
CallElasticsearchAsync
net472
2.8μs
1.53ns
5.71ns
0.204
0
0
1.29 KB
master
CallElasticsearchAsync
netcoreapp3.1
1.66μs
1.73ns
6.47ns
0.0165
0
0
1.22 KB
#2966
CallElasticsearch
net472
2.64μs
1.59ns
5.74ns
0.184
0
0
1.16 KB
#2966
CallElasticsearch
netcoreapp3.1
1.53μs
0.646ns
2.42ns
0.0146
0
0
1.1 KB
#2966
CallElasticsearchAsync
net472
2.69μs
2.19ns
8.48ns
0.205
0
0
1.29 KB
#2966
CallElasticsearchAsync
netcoreapp3.1
1.69μs
0.475ns
1.71ns
0.0169
0
0
1.22 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.86μs
2ns
7.48ns
0.225
0
0
1.42 KB
master
ExecuteAsync
netcoreapp3.1
1.82μs
1.09ns
4.08ns
0.0184
0
0
1.34 KB
#2966
ExecuteAsync
net472
2.84μs
2.56ns
9.57ns
0.224
0
0
1.42 KB
#2966
ExecuteAsync
netcoreapp3.1
1.8μs
1.02ns
3.82ns
0.018
0
0
1.34 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.88μs
3.85ns
14.9ns
0.438
0
0
2.77 KB
master
SendAsync
netcoreapp3.1
3.83μs
1.96ns
7.05ns
0.0348
0
0
2.6 KB
#2966
SendAsync
net472
5.86μs
2.84ns
11ns
0.44
0
0
2.77 KB
#2966
SendAsync
netcoreapp3.1
3.57μs
1.33ns
4.78ns
0.0356
0
0
2.6 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.16μs
4.33ns
16.8ns
0.288
0
0
1.81 KB
master
EnrichedLog
netcoreapp3.1
2.57μs
1.37ns
5.11ns
0.0255
0
0
1.85 KB
#2966
EnrichedLog
net472
3.12μs
2.05ns
7.93ns
0.287
0
0
1.81 KB
#2966
EnrichedLog
netcoreapp3.1
2.55μs
1.56ns
6.04ns
0.0256
0
0
1.85 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
152μs
133ns
515ns
0.687
0.229
0
4.66 KB
master
EnrichedLog
netcoreapp3.1
117μs
262ns
979ns
0.0587
0
0
4.5 KB
#2966
EnrichedLog
net472
150μs
129ns
500ns
0.678
0.226
0
4.66 KB
#2966
EnrichedLog
netcoreapp3.1
118μs
211ns
816ns
0.0586
0
0
4.49 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
6.03μs
2.22ns
8.59ns
0.57
0.00302
0
3.59 KB
master
EnrichedLog
netcoreapp3.1
4.42μs
2.2ns
8.51ns
0.0527
0
0
3.91 KB
#2966
EnrichedLog
net472
5.91μs
2.89ns
11.2ns
0.568
0.00296
0
3.59 KB
#2966
EnrichedLog
netcoreapp3.1
4.44μs
2.42ns
9.35ns
0.0534
0
0
3.91 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.25μs
1.91ns
7.16ns
0.217
0
0
1.37 KB
master
SendReceive
netcoreapp3.1
1.78μs
0.714ns
2.57ns
0.018
0
0
1.32 KB
#2966
SendReceive
net472
2.28μs
2.57ns
9.95ns
0.217
0
0
1.37 KB
#2966
SendReceive
netcoreapp3.1
1.85μs
0.727ns
2.81ns
0.0176
0
0
1.32 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.1μs
1.32ns
4.77ns
0.353
0
0
2.23 KB
master
EnrichedLog
netcoreapp3.1
4.17μs
2.14ns
8.03ns
0.023
0
0
1.8 KB
#2966
EnrichedLog
net472
4.91μs
1.89ns
7.33ns
0.354
0
0
2.23 KB
#2966
EnrichedLog
netcoreapp3.1
4.29μs
3.29ns
12.7ns
0.0234
0
0
1.8 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.18μs
0.506ns
1.82ns
0.129
0
0
810 B
master
StartFinishSpan
netcoreapp3.1
907ns
0.497ns
1.93ns
0.0101
0
0
760 B
master
StartFinishScope
net472
1.46μs
1.32ns
5.13ns
0.141
0
0
891 B
master
StartFinishScope
netcoreapp3.1
1.04μs
0.489ns
1.89ns
0.0119
0
0
880 B
#2966
StartFinishSpan
net472
1.18μs
0.901ns
3.49ns
0.129
0
0
810 B
#2966
StartFinishSpan
netcoreapp3.1
969ns
0.359ns
1.39ns
0.0102
0
0
760 B
#2966
StartFinishScope
net472
1.44μs
0.577ns
2.23ns
0.141
0
0
891 B
#2966
StartFinishScope
netcoreapp3.1
1.1μs
0.448ns
1.73ns
0.0122
0
0
880 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.53μs
0.659ns
2.47ns
0.141
0
0
891 B
master
RunOnMethodBegin
netcoreapp3.1
1.18μs
0.755ns
2.82ns
0.0118
0
0
880 B
#2966
RunOnMethodBegin
net472
1.52μs
1.47ns
5.71ns
0.141
0
0
891 B
#2966
RunOnMethodBegin
netcoreapp3.1
1.16μs
0.318ns
1.23ns
0.0117
0
0
880 B
Code Coverage Report :bar_chart:
:heavy_check_mark: Merging #2966 into master will not change line coverage
:heavy_check_mark: Merging #2966 into master will not change branch coverage
:no_entry: Merging #2966 into master will will increase complexity by 30
master
#2966
Change
Lines
18002
/ 24930
18032
/ 24950
Lines %
72%
72%
0%
:heavy_check_mark:
Branches
10484
/ 15274
10516
/ 15302
Branches %
69%
69%
0%
:heavy_check_mark:
Complexity
16497
16527
30
:no_entry:
View the full report for further details:
Datadog.Trace Breakdown :heavy_check_mark:
master
#2966
Change
Lines %
72%
72%
0%
:heavy_check_mark:
Branches %
69%
69%
0%
:heavy_check_mark:
Complexity
16497
16527
30
:no_entry:
The following classes have significant coverage changes.
View the full reports for further details: