[Dynamic Instrumentation] Add NotCapturedReason for unreachable local var value in async method
Open
dudikeleti
opened this issue 1 year ago
•
6 comments
Summary of changes
This PR handle the scenario of having locals in async method that was not hoisted within the state machine object. In this scenario, we can't get their values at method end so we are displaying their default values.
Reason for change
When customer see snapshot of such a method, he could be confusing about the local variable value that he is seeing.
Implementation details
We are wrapping those locals in dedicated struct that indicate that we might not able to get their real values.
Test coverage
AsyncMethodWithNotHoistedLocals
AsyncVoid
Snapshots difference summary
The following differences have been observed in committed snapshots. It is meant to help the reviewer.
The diff is simplistic, so please check some files anyway while we improve it.
1 occurrences of :
- "isNull": "true",
+ "notCapturedReason": "The value of this variable in not available in the specified probe location. Place a line probe closer to where the variable was assigned or used to obtain its value.",
Datadog Report
Branch report: dudik/unreachable-value-async-method
Commit report: cfa5b4a
Test service: dd-trace-dotnet
:white_check_mark: 0 Failed, 275675 Passed, 1865 Skipped, 58m 51.42s Wall Time
:hourglass: 1 Performance Regression
:hourglass: Performance Regressions vs Default Branch (1)
Baseline_allocation - scenarios 1.53s (+21.87ms, +1%) - Details
Execution-Time Benchmarks Report :stopwatch:
Execution-time results for samples comparing the following branches/commits:
Execution-time benchmarks measure the whole time it takes to execute a program. And are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are shown in red . The following thresholds were used for comparing the execution times:
Welch test with statistical test for significance of 5%
Only results indicating a difference greater than 5% and 5 ms are considered.
Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard .
Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph).
gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5161) - mean (75ms) : 64, 85
. : milestone, 75,
master - mean (73ms) : 67, 79
. : milestone, 73,
section CallTarget+Inlining+NGEN
This PR (5161) - mean (1,006ms) : 986, 1026
. : milestone, 1006,
master - mean (1,005ms) : 987, 1024
. : milestone, 1005,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5161) - mean (110ms) : 106, 115
. : milestone, 110,
master - mean (110ms) : 107, 113
. : milestone, 110,
section CallTarget+Inlining+NGEN
This PR (5161) - mean (724ms) : 701, 746
. : milestone, 724,
master - mean (723ms) : 702, 744
. : milestone, 723,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5161) - mean (94ms) : 92, 96
. : milestone, 94,
master - mean (93ms) : 90, 97
. : milestone, 93,
section CallTarget+Inlining+NGEN
This PR (5161) - mean (679ms) : 658, 700
. : milestone, 679,
master - mean (677ms) : 651, 704
. : milestone, 677,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5161) - mean (188ms) : 186, 191
. : milestone, 188,
master - mean (189ms) : 186, 192
. : milestone, 189,
section CallTarget+Inlining+NGEN
This PR (5161) - mean (1,080ms) : 1051, 1108
. : milestone, 1080,
master - mean (1,087ms) : 1058, 1115
. : milestone, 1087,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5161) - mean (271ms) : 267, 276
. : milestone, 271,
master - mean (273ms) : 268, 277
. : milestone, 273,
section CallTarget+Inlining+NGEN
This PR (5161) - mean (874ms) : 848, 899
. : milestone, 874,
master - mean (877ms) : 855, 900
. : milestone, 877,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5161) - mean (261ms) : 258, 264
. : milestone, 261,
master - mean (262ms) : 258, 266
. : milestone, 262,
section CallTarget+Inlining+NGEN
This PR (5161) - mean (860ms) : 834, 886
. : milestone, 860,
master - mean (859ms) : 833, 884
. : milestone, 859,
Benchmarks Report :snail:
Benchmarks for #5161 compared to master :
1 benchmarks are faster , with geometric mean 1.125
2 benchmarks have fewer allocations
4 benchmarks have more 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.ActivityBenchmark - 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
StartStopWithChild
net6.0
8.78μs
48.6ns
292ns
0.0216
0.00863
0
7.49 KB
master
StartStopWithChild
netcoreapp3.1
10.5μs
56.1ns
317ns
0.021
0.0105
0
7.59 KB
master
StartStopWithChild
net472
17.5μs
59.5ns
230ns
1.33
0.347
0.107
7.96 KB
#5161
StartStopWithChild
net6.0
8.49μs
47.5ns
315ns
0.0252
0.0126
0
7.49 KB
#5161
StartStopWithChild
netcoreapp3.1
10.7μs
55ns
275ns
0.0268
0.0107
0
7.59 KB
#5161
StartStopWithChild
net472
16.9μs
55.3ns
214ns
1.35
0.358
0.0936
7.97 KB
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
net6.0
454μs
253ns
981ns
0
0
0
2.7 KB
master
WriteAndFlushEnrichedTraces
netcoreapp3.1
628μs
318ns
1.23μs
0
0
0
2.7 KB
master
WriteAndFlushEnrichedTraces
net472
813μs
227ns
817ns
0.403
0
0
3.3 KB
#5161
WriteAndFlushEnrichedTraces
net6.0
450μs
263ns
1.02μs
0
0
0
2.7 KB
#5161
WriteAndFlushEnrichedTraces
netcoreapp3.1
618μs
193ns
747ns
0
0
0
2.7 KB
#5161
WriteAndFlushEnrichedTraces
net472
820μs
446ns
1.61μs
0.408
0
0
3.3 KB
Benchmarks.Trace.Asm.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
net6.0
40.6μs
16.6ns
64.2ns
0.0203
0
0
2.36 KB
master
AllCycleSimpleBody
netcoreapp3.1
43.7μs
42.5ns
165ns
0.0217
0
0
2.34 KB
master
AllCycleSimpleBody
net472
46.7μs
18.7ns
72.5ns
0.374
0
0
2.41 KB
master
AllCycleMoreComplexBody
net6.0
216μs
299ns
1.16μs
0.106
0
0
9.84 KB
master
AllCycleMoreComplexBody
netcoreapp3.1
226μs
337ns
1.31μs
0.113
0
0
9.73 KB
master
AllCycleMoreComplexBody
net472
242μs
77.9ns
302ns
1.57
0
0
9.91 KB
master
ObjectExtractorSimpleBody
net6.0
142ns
0.0578ns
0.2ns
0.00396
0
0
280 B
master
ObjectExtractorSimpleBody
netcoreapp3.1
199ns
0.18ns
0.698ns
0.0037
0
0
272 B
master
ObjectExtractorSimpleBody
net472
172ns
0.061ns
0.236ns
0.0446
0
0
281 B
master
ObjectExtractorMoreComplexBody
net6.0
3.02μs
1.48ns
5.33ns
0.053
0
0
3.78 KB
master
ObjectExtractorMoreComplexBody
netcoreapp3.1
4.15μs
10.2ns
38ns
0.0494
0
0
3.69 KB
master
ObjectExtractorMoreComplexBody
net472
3.8μs
3.05ns
11.8ns
0.602
0.00568
0
3.8 KB
#5161
AllCycleSimpleBody
net6.0
40.8μs
18.3ns
68.6ns
0.0203
0
0
2.36 KB
#5161
AllCycleSimpleBody
netcoreapp3.1
43.7μs
18.1ns
65.2ns
0.0218
0
0
2.34 KB
#5161
AllCycleSimpleBody
net472
47μs
15.5ns
60.2ns
0.375
0
0
2.41 KB
#5161
AllCycleMoreComplexBody
net6.0
213μs
59.5ns
222ns
0.107
0
0
9.84 KB
#5161
AllCycleMoreComplexBody
netcoreapp3.1
225μs
140ns
541ns
0.112
0
0
9.73 KB
#5161
AllCycleMoreComplexBody
net472
243μs
602ns
2.33μs
1.5
0
0
9.91 KB
#5161
ObjectExtractorSimpleBody
net6.0
144ns
0.0577ns
0.216ns
0.00393
0
0
280 B
#5161
ObjectExtractorSimpleBody
netcoreapp3.1
199ns
0.163ns
0.631ns
0.00366
0
0
272 B
#5161
ObjectExtractorSimpleBody
net472
172ns
0.123ns
0.477ns
0.0446
0
0
281 B
#5161
ObjectExtractorMoreComplexBody
net6.0
3.06μs
1.81ns
6.76ns
0.0533
0
0
3.78 KB
#5161
ObjectExtractorMoreComplexBody
netcoreapp3.1
3.98μs
2.87ns
11.1ns
0.0497
0
0
3.69 KB
#5161
ObjectExtractorMoreComplexBody
net472
3.85μs
1.23ns
4.61ns
0.601
0.00575
0
3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - 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
EncodeArgs
net6.0
52.9μs
53.9ns
209ns
0.423
0
0
30.94 KB
master
EncodeArgs
netcoreapp3.1
69.2μs
91ns
341ns
0.418
0
0
31.47 KB
master
EncodeArgs
net472
83.3μs
45.7ns
177ns
5.11
0.0832
0
32.27 KB
master
EncodeLegacyArgs
net6.0
126μs
304ns
1.18μs
0.444
0
0
33.89 KB
master
EncodeLegacyArgs
netcoreapp3.1
154μs
452ns
1.75μs
0.455
0
0
34.09 KB
master
EncodeLegacyArgs
net472
214μs
876ns
3.39μs
5.52
0.424
0
34.99 KB
#5161
EncodeArgs
net6.0
51.2μs
61.8ns
239ns
0.436
0
0
30.94 KB
#5161
EncodeArgs
netcoreapp3.1
70.8μs
70.6ns
273ns
0.422
0
0
31.47 KB
#5161
EncodeArgs
net472
84.3μs
68.4ns
256ns
5.09
0.0842
0
32.27 KB
#5161
EncodeLegacyArgs
net6.0
122μs
195ns
703ns
0.476
0
0
33.89 KB
#5161
EncodeLegacyArgs
netcoreapp3.1
154μs
751ns
3μs
0.452
0
0
34.09 KB
#5161
EncodeLegacyArgs
net472
208μs
74.7ns
280ns
5.54
0.418
0
34.99 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - 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
RunWafRealisticBenchmark
net6.0
190μs
158ns
610ns
0.0962
0
0
6.51 KB
master
RunWafRealisticBenchmark
netcoreapp3.1
205μs
255ns
953ns
0
0
0
6.49 KB
master
RunWafRealisticBenchmark
net472
223μs
137ns
530ns
1
0
0
6.59 KB
master
RunWafRealisticBenchmarkWithAttack
net6.0
126μs
61.5ns
238ns
0
0
0
4.15 KB
master
RunWafRealisticBenchmarkWithAttack
netcoreapp3.1
135μs
164ns
634ns
0
0
0
4.14 KB
master
RunWafRealisticBenchmarkWithAttack
net472
148μs
74.3ns
268ns
0.659
0
0
4.19 KB
#5161
RunWafRealisticBenchmark
net6.0
189μs
91.7ns
355ns
0.0956
0
0
6.51 KB
#5161
RunWafRealisticBenchmark
netcoreapp3.1
204μs
268ns
1.04μs
0
0
0
6.49 KB
#5161
RunWafRealisticBenchmark
net472
223μs
89.8ns
348ns
1
0
0
6.59 KB
#5161
RunWafRealisticBenchmarkWithAttack
net6.0
126μs
57.4ns
222ns
0.063
0
0
4.15 KB
#5161
RunWafRealisticBenchmarkWithAttack
netcoreapp3.1
133μs
186ns
719ns
0
0
0
4.15 KB
#5161
RunWafRealisticBenchmarkWithAttack
net472
148μs
78.9ns
305ns
0.662
0
0
4.19 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
net6.0
168μs
282ns
1.05μs
0.251
0
0
18.26 KB
master
SendRequest
netcoreapp3.1
191μs
213ns
796ns
0.191
0
0
20.42 KB
master
SendRequest
net472
0.000834ns
0.000387ns
0.00145ns
0
0
0
0 b
#5161
SendRequest
net6.0
173μs
183ns
707ns
0.173
0
0
18.26 KB
#5161
SendRequest
netcoreapp3.1
195μs
276ns
1.07μs
0.196
0
0
20.42 KB
#5161
SendRequest
net472
0.00131ns
0.000778ns
0.0027ns
0
0
0
0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed :heavy_check_mark: More allocations :warning:
More allocations :warning: in #5161
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0
41.4 KB
41.65 KB
247 B
0.60%
Fewer allocations :tada: in #5161
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1
41.89 KB
41.66 KB
-227 B
-0.54%
Raw results
Branch
Method
Toolchain
Mean
StdError
StdDev
Gen 0
Gen 1
Gen 2
Allocated
master
WriteAndFlushEnrichedTraces
net6.0
534μs
2.64μs
10.9μs
0.553
0
0
41.4 KB
master
WriteAndFlushEnrichedTraces
netcoreapp3.1
656μs
778ns
2.91μs
0.334
0
0
41.89 KB
master
WriteAndFlushEnrichedTraces
net472
846μs
3.74μs
14.5μs
8.08
2.55
0.425
53.25 KB
#5161
WriteAndFlushEnrichedTraces
net6.0
568μs
3μs
15.9μs
0.558
0
0
41.65 KB
#5161
WriteAndFlushEnrichedTraces
netcoreapp3.1
655μs
2.3μs
8.92μs
0.331
0
0
41.66 KB
#5161
WriteAndFlushEnrichedTraces
net472
819μs
3.91μs
15.7μs
8.22
2.47
0.411
53.24 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
net6.0
1.13μs
0.507ns
1.9ns
0.0108
0
0
776 B
master
ExecuteNonQuery
netcoreapp3.1
1.47μs
0.866ns
3.35ns
0.0102
0
0
776 B
master
ExecuteNonQuery
net472
1.69μs
0.891ns
3.21ns
0.117
0
0
738 B
#5161
ExecuteNonQuery
net6.0
1.21μs
1.48ns
5.72ns
0.0108
0
0
776 B
#5161
ExecuteNonQuery
netcoreapp3.1
1.52μs
0.744ns
2.88ns
0.0104
0
0
776 B
#5161
ExecuteNonQuery
net472
1.83μs
2.09ns
7.54ns
0.117
0
0
738 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
net6.0
1.24μs
0.718ns
2.68ns
0.0131
0
0
944 B
master
CallElasticsearch
netcoreapp3.1
1.56μs
0.799ns
2.88ns
0.0124
0
0
944 B
master
CallElasticsearch
net472
2.4μs
1.07ns
4.14ns
0.152
0
0
963 B
master
CallElasticsearchAsync
net6.0
1.22μs
0.713ns
2.76ns
0.0133
0
0
920 B
master
CallElasticsearchAsync
netcoreapp3.1
1.67μs
0.731ns
2.83ns
0.0133
0
0
992 B
master
CallElasticsearchAsync
net472
2.55μs
1.55ns
6.01ns
0.162
0
0
1.02 KB
#5161
CallElasticsearch
net6.0
1.21μs
0.724ns
2.81ns
0.0133
0
0
944 B
#5161
CallElasticsearch
netcoreapp3.1
1.55μs
0.531ns
2.06ns
0.0124
0
0
944 B
#5161
CallElasticsearch
net472
2.51μs
1.82ns
7.04ns
0.152
0
0
963 B
#5161
CallElasticsearchAsync
net6.0
1.28μs
0.749ns
2.8ns
0.0127
0
0
920 B
#5161
CallElasticsearchAsync
netcoreapp3.1
1.62μs
0.405ns
1.52ns
0.013
0
0
992 B
#5161
CallElasticsearchAsync
net472
2.69μs
1.39ns
5.37ns
0.161
0
0
1.02 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
net6.0
1.3μs
0.832ns
3.11ns
0.0129
0
0
920 B
master
ExecuteAsync
netcoreapp3.1
1.62μs
1.01ns
3.79ns
0.0122
0
0
920 B
master
ExecuteAsync
net472
1.86μs
0.549ns
2.06ns
0.14
0
0
883 B
#5161
ExecuteAsync
net6.0
1.19μs
1.01ns
3.79ns
0.0131
0
0
920 B
#5161
ExecuteAsync
netcoreapp3.1
1.66μs
0.661ns
2.47ns
0.0125
0
0
920 B
#5161
ExecuteAsync
net472
1.82μs
0.99ns
3.71ns
0.139
0
0
883 B
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
net6.0
4.1μs
3.81ns
14.7ns
0.029
0
0
2.1 KB
master
SendAsync
netcoreapp3.1
4.82μs
1.63ns
5.88ns
0.0362
0
0
2.64 KB
master
SendAsync
net472
7.74μs
2.53ns
9.47ns
0.524
0
0
3.31 KB
#5161
SendAsync
net6.0
4μs
2.12ns
7.95ns
0.0301
0
0
2.1 KB
#5161
SendAsync
netcoreapp3.1
5.08μs
2.06ns
7.99ns
0.0354
0
0
2.64 KB
#5161
SendAsync
net472
7.68μs
2.67ns
10.3ns
0.526
0
0
3.31 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed :heavy_check_mark: More allocations :warning:
More allocations :warning: in #5161
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0
205.46 KB
216.76 KB
11.3 KB
5.50%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1
202.89 KB
213.75 KB
10.86 KB
5.35%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472
221.18 KB
229.38 KB
8.19 KB
3.70%
Fewer allocations :tada: in #5161
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472
59.26 KB
57.1 KB
-2.16 KB
-3.64%
Raw results
Branch
Method
Toolchain
Mean
StdError
StdDev
Gen 0
Gen 1
Gen 2
Allocated
master
StringConcatBenchmark
net6.0
60.2μs
846ns
8.2μs
0
0
0
43.44 KB
master
StringConcatBenchmark
netcoreapp3.1
52.8μs
226ns
781ns
0
0
0
42.64 KB
master
StringConcatBenchmark
net472
37.4μs
80.6ns
290ns
0
0
0
59.26 KB
master
StringConcatAspectBenchmark
net6.0
286μs
5.49μs
54.3μs
0
0
0
205.46 KB
master
StringConcatAspectBenchmark
netcoreapp3.1
275μs
1.4μs
8.54μs
0
0
0
202.89 KB
master
StringConcatAspectBenchmark
net472
232μs
1.16μs
5.31μs
0
0
0
221.18 KB
#5161
StringConcatBenchmark
net6.0
58.2μs
656ns
6.53μs
0
0
0
43.44 KB
#5161
StringConcatBenchmark
netcoreapp3.1
52.7μs
247ns
988ns
0
0
0
42.64 KB
#5161
StringConcatBenchmark
net472
37.8μs
78.2ns
292ns
0
0
0
57.1 KB
#5161
StringConcatAspectBenchmark
net6.0
286μs
1.52μs
8.02μs
0
0
0
216.76 KB
#5161
StringConcatAspectBenchmark
netcoreapp3.1
289μs
1.11μs
5.54μs
0
0
0
213.75 KB
#5161
StringConcatAspectBenchmark
net472
223μs
1.09μs
4.61μs
0
0
0
229.38 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
net6.0
1.47μs
0.906ns
3.51ns
0.0222
0
0
1.58 KB
master
EnrichedLog
netcoreapp3.1
2.16μs
1.72ns
6.65ns
0.0217
0
0
1.58 KB
master
EnrichedLog
net472
2.53μs
1.35ns
5.21ns
0.239
0
0
1.51 KB
#5161
EnrichedLog
net6.0
1.47μs
2.33ns
8.42ns
0.022
0
0
1.58 KB
#5161
EnrichedLog
netcoreapp3.1
2.24μs
0.646ns
2.33ns
0.0212
0
0
1.58 KB
#5161
EnrichedLog
net472
2.51μs
4.89ns
18.9ns
0.238
0
0
1.51 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
net6.0
114μs
278ns
1.08μs
0.0567
0
0
4.22 KB
master
EnrichedLog
netcoreapp3.1
118μs
112ns
434ns
0
0
0
4.22 KB
master
EnrichedLog
net472
147μs
77.4ns
290ns
0.658
0.219
0
4.4 KB
#5161
EnrichedLog
net6.0
113μs
113ns
437ns
0.0565
0
0
4.22 KB
#5161
EnrichedLog
netcoreapp3.1
118μs
106ns
396ns
0
0
0
4.22 KB
#5161
EnrichedLog
net472
147μs
155ns
602ns
0.657
0.219
0
4.4 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
net6.0
2.96μs
0.994ns
3.85ns
0.0296
0
0
2.14 KB
master
EnrichedLog
netcoreapp3.1
4.16μs
1.5ns
5.83ns
0.0292
0
0
2.14 KB
master
EnrichedLog
net472
4.9μs
2.74ns
10.3ns
0.309
0
0
1.95 KB
#5161
EnrichedLog
net6.0
2.98μs
1.51ns
5.64ns
0.0299
0
0
2.14 KB
#5161
EnrichedLog
netcoreapp3.1
4.16μs
1.85ns
6.93ns
0.0294
0
0
2.14 KB
#5161
EnrichedLog
net472
4.85μs
1.81ns
6.53ns
0.308
0
0
1.95 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
net6.0
1.46μs
0.448ns
1.73ns
0.016
0
0
1.11 KB
master
SendReceive
netcoreapp3.1
1.84μs
1.57ns
6.09ns
0.0146
0
0
1.11 KB
master
SendReceive
net472
2.19μs
1.56ns
6.05ns
0.178
0
0
1.12 KB
#5161
SendReceive
net6.0
1.41μs
0.361ns
1.4ns
0.0156
0
0
1.11 KB
#5161
SendReceive
netcoreapp3.1
1.78μs
3.08ns
11.5ns
0.015
0
0
1.11 KB
#5161
SendReceive
net472
2.21μs
2.13ns
8.27ns
0.178
0
0
1.12 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
net6.0
2.84μs
0.956ns
3.31ns
0.0213
0
0
1.54 KB
master
EnrichedLog
netcoreapp3.1
3.85μs
1.81ns
6.54ns
0.0213
0
0
1.58 KB
master
EnrichedLog
net472
4.27μs
2.2ns
8.22ns
0.312
0
0
1.97 KB
#5161
EnrichedLog
net6.0
2.76μs
0.482ns
1.8ns
0.0207
0
0
1.54 KB
#5161
EnrichedLog
netcoreapp3.1
3.99μs
1.52ns
5.88ns
0.0219
0
0
1.58 KB
#5161
EnrichedLog
net472
4.35μs
2.03ns
7.88ns
0.312
0
0
1.97 KB
Benchmarks.Trace.SpanBenchmark - Faster :tada: Same allocations :heavy_check_mark:
Faster :tada: in #5161
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472
1.125
1,035.19
920.54
Raw results
Branch
Method
Toolchain
Mean
StdError
StdDev
Gen 0
Gen 1
Gen 2
Allocated
master
StartFinishSpan
net6.0
515ns
0.492ns
1.77ns
0.00751
0
0
544 B
master
StartFinishSpan
netcoreapp3.1
722ns
0.691ns
2.59ns
0.00718
0
0
544 B
master
StartFinishSpan
net472
752ns
0.957ns
3.71ns
0.0865
0
0
546 B
master
StartFinishScope
net6.0
605ns
0.484ns
1.87ns
0.00915
0
0
664 B
master
StartFinishScope
netcoreapp3.1
829ns
1.08ns
4.2ns
0.0089
0
0
664 B
master
StartFinishScope
net472
1.03μs
3.04ns
11.8ns
0.0991
0
0
626 B
#5161
StartFinishSpan
net6.0
488ns
1.04ns
4.01ns
0.00752
0
0
544 B
#5161
StartFinishSpan
netcoreapp3.1
719ns
1.14ns
4.28ns
0.00736
0
0
544 B
#5161
StartFinishSpan
net472
762ns
1.18ns
4.59ns
0.0867
0
0
546 B
#5161
StartFinishScope
net6.0
552ns
1.07ns
4.13ns
0.0094
0
0
664 B
#5161
StartFinishScope
netcoreapp3.1
781ns
1.69ns
6.53ns
0.00895
0
0
664 B
#5161
StartFinishScope
net472
920ns
1.59ns
6.16ns
0.0993
0
0
626 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
net6.0
746ns
0.669ns
2.5ns
0.00931
0
0
664 B
master
RunOnMethodBegin
netcoreapp3.1
1.05μs
0.785ns
3.04ns
0.00899
0
0
664 B
master
RunOnMethodBegin
net472
1.05μs
1.75ns
6.76ns
0.0995
0
0
626 B
#5161
RunOnMethodBegin
net6.0
739ns
1.16ns
4.5ns
0.00913
0
0
664 B
#5161
RunOnMethodBegin
netcoreapp3.1
966ns
1.22ns
4.74ns
0.00867
0
0
664 B
#5161
RunOnMethodBegin
net472
1.05μs
1.38ns
5.33ns
0.0993
0
0
626 B
Datadog Report
Branch report: dudik/unreachable-value-async-method
Commit report: 114e66c
Test service: dd-trace-dotnet
:white_check_mark: 0 Failed, 346286 Passed, 2075 Skipped, 41m 13.77s Wall Time
:hourglass: 1 Performance Regression
:hourglass: Performance Regressions vs Default Branch (1)
Profiler_liveheap_cpu_walltime - scenarios 4.58s (+164.39ms, +4%) - Details
Throughput/Crank Report:zap:
Throughput results for AspNetCoreSimpleController comparing the following branches/commits:
Cases where throughput results for the PR are worse than latest master (5% drop or greater), results are shown in red .
Note that these results are based on a single point-in-time result for each branch. For full results, see one of the many , many dashboards!
gantt
title Throughput Linux x64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (5161) (11.193M) : 0, 11193252
master (10.789M) : 0, 10788533
benchmarks/2.9.0 (10.973M) : 0, 10972668
section Automatic
This PR (5161) (7.670M) : 0, 7669516
master (7.560M) : 0, 7559733
benchmarks/2.9.0 (7.971M) : 0, 7971440
section Trace stats
This PR (5161) (8.151M) : 0, 8150968
master (8.053M) : 0, 8052644
section Manual
This PR (5161) (9.751M) : 0, 9750583
master (9.492M) : 0, 9492379
section Manual + Automatic
This PR (5161) (7.461M) : 0, 7460671
master (7.136M) : 0, 7135505
section Version Conflict
This PR (5161) (6.691M) : 0, 6691164
master (6.460M) : 0, 6460304
gantt
title Throughput Linux arm64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (5161) (9.639M) : 0, 9639198
master (9.533M) : 0, 9533107
benchmarks/2.9.0 (9.671M) : 0, 9670561
section Automatic
This PR (5161) (6.525M) : 0, 6524944
master (6.638M) : 0, 6638280
section Trace stats
This PR (5161) (6.774M) : 0, 6773754
master (6.876M) : 0, 6876400
section Manual
This PR (5161) (8.190M) : 0, 8190068
master (8.165M) : 0, 8165155
section Manual + Automatic
This PR (5161) (6.066M) : 0, 6065774
master (6.240M) : 0, 6239780
section Version Conflict
This PR (5161) (5.700M) : 0, 5699784
master (5.752M) : 0, 5751627
gantt
title Throughput Windows x64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (5161) (9.678M) : 0, 9677720
master (6.494M) : 0, 6494213
benchmarks/2.9.0 (9.723M) : 0, 9723215
section Automatic
This PR (5161) (6.944M) : 0, 6943718
master (6.918M) : 0, 6917696
benchmarks/2.9.0 (7.095M) : 0, 7094697
section Trace stats
This PR (5161) (7.275M) : 0, 7274663
master (7.159M) : 0, 7159495
section Manual
This PR (5161) (8.610M) : 0, 8609544
master (8.516M) : 0, 8516494
section Manual + Automatic
This PR (5161) (6.686M) : 0, 6685653
master (6.802M) : 0, 6801643
section Version Conflict
This PR (5161) (6.156M) : 0, 6156114
master (6.001M) : 0, 6001040
gantt
title Throughput Linux x64 (ASM) (Total requests)
dateFormat X
axisFormat %s
section Baseline
benchmarks/2.9.0 (20.689M) : 0, 20689363
section No attack
benchmarks/2.9.0 (20.448M) : 0, 20448059
section Attack
benchmarks/2.9.0 (17.167M) : 0, 17166673
Datadog Report
Branch report: dudik/unreachable-value-async-method
Commit report: 859a823
Test service: dd-trace-dotnet
:white_check_mark: 0 Failed, 331778 Passed, 2055 Skipped, 54m 15.03s Wall Time
:hourglass: 3 Performance Regressions
:hourglass: Performance Regressions vs Default Branch (3)
Profiler_contention_cpu_walltime - scenarios 2.57s (+179.06ms, +7%) - Details
Profiler_contention_cpu_walltime - scenarios 1.91s (+586.62ms, +44%) - Details
Profiler_contention - scenarios 1.56s (+291.33ms, +23%) - Details
Benchmarks Report for tracer :snail:
Benchmarks for #5161 compared to master :
1 benchmarks are slower , with geometric mean 1.155
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.ActivityBenchmark - 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
StartStopWithChild
net6.0
8.8μs
48.4ns
290ns
0.0219
0.00877
0
7.51 KB
master
StartStopWithChild
netcoreapp3.1
10.7μs
52.4ns
216ns
0.0261
0.0104
0
7.6 KB
master
StartStopWithChild
net472
16.8μs
43ns
155ns
1.34
0.332
0.108
8.06 KB
#5161
StartStopWithChild
net6.0
8.87μs
48.7ns
292ns
0.0179
0.00895
0
7.5 KB
#5161
StartStopWithChild
netcoreapp3.1
10.6μs
55.5ns
278ns
0.021
0.0105
0
7.6 KB
#5161
StartStopWithChild
net472
16.9μs
73.6ns
285ns
1.36
0.364
0.127
8.05 KB
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
net6.0
470μs
170ns
657ns
0
0
0
2.7 KB
master
WriteAndFlushEnrichedTraces
netcoreapp3.1
606μs
142ns
513ns
0
0
0
2.7 KB
master
WriteAndFlushEnrichedTraces
net472
807μs
221ns
828ns
0.403
0
0
3.3 KB
#5161
WriteAndFlushEnrichedTraces
net6.0
472μs
215ns
805ns
0
0
0
2.7 KB
#5161
WriteAndFlushEnrichedTraces
netcoreapp3.1
598μs
175ns
654ns
0
0
0
2.7 KB
#5161
WriteAndFlushEnrichedTraces
net472
811μs
499ns
1.93μs
0.406
0
0
3.3 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
net6.0
173μs
161ns
623ns
0.174
0
0
18.33 KB
master
SendRequest
netcoreapp3.1
194μs
326ns
1.26μs
0.195
0
0
20.49 KB
master
SendRequest
net472
0.000278ns
0.000141ns
0.000528ns
0
0
0
0 b
#5161
SendRequest
net6.0
171μs
214ns
828ns
0.255
0
0
18.33 KB
#5161
SendRequest
netcoreapp3.1
193μs
279ns
1.08μs
0.193
0
0
20.5 KB
#5161
SendRequest
net472
0.00163ns
0.000593ns
0.0023ns
0
0
0
0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - 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
net6.0
551μs
670ns
2.59μs
0.548
0
0
41.74 KB
master
WriteAndFlushEnrichedTraces
netcoreapp3.1
659μs
675ns
2.53μs
0.324
0
0
41.69 KB
master
WriteAndFlushEnrichedTraces
net472
859μs
3.66μs
14.2μs
8.08
2.55
0.425
53.24 KB
#5161
WriteAndFlushEnrichedTraces
net6.0
546μs
1.08μs
4.2μs
0.527
0
0
41.77 KB
#5161
WriteAndFlushEnrichedTraces
netcoreapp3.1
648μs
885ns
3.43μs
0.321
0
0
41.63 KB
#5161
WriteAndFlushEnrichedTraces
net472
883μs
3.43μs
13.3μs
8.3
2.62
0.437
53.23 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
net6.0
1.17μs
0.406ns
1.57ns
0.0105
0
0
784 B
master
ExecuteNonQuery
netcoreapp3.1
1.46μs
6.09ns
23.6ns
0.0102
0
0
784 B
master
ExecuteNonQuery
net472
1.85μs
0.726ns
2.72ns
0.118
0
0
746 B
#5161
ExecuteNonQuery
net6.0
1.21μs
0.466ns
1.8ns
0.011
0
0
784 B
#5161
ExecuteNonQuery
netcoreapp3.1
1.57μs
1.09ns
3.93ns
0.0102
0
0
784 B
#5161
ExecuteNonQuery
net472
1.76μs
1.18ns
4.59ns
0.118
0
0
746 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
net6.0
1.29μs
0.61ns
2.28ns
0.0143
0
0
1.01 KB
master
CallElasticsearch
netcoreapp3.1
1.56μs
0.769ns
2.98ns
0.0133
0
0
1.01 KB
master
CallElasticsearch
net472
2.51μs
1.49ns
5.59ns
0.161
0
0
1.02 KB
master
CallElasticsearchAsync
net6.0
1.42μs
1.21ns
4.51ns
0.0135
0
0
984 B
master
CallElasticsearchAsync
netcoreapp3.1
1.72μs
2.27ns
8.8ns
0.0137
0
0
1.06 KB
master
CallElasticsearchAsync
net472
2.58μs
1.53ns
5.91ns
0.17
0.00129
0
1.08 KB
#5161
CallElasticsearch
net6.0
1.32μs
1.38ns
5.35ns
0.0143
0
0
1.01 KB
#5161
CallElasticsearch
netcoreapp3.1
1.61μs
3.1ns
11.6ns
0.013
0
0
1.01 KB
#5161
CallElasticsearch
net472
2.49μs
4.08ns
15.8ns
0.161
0
0
1.02 KB
#5161
CallElasticsearchAsync
net6.0
1.33μs
1.19ns
4.62ns
0.0139
0
0
984 B
#5161
CallElasticsearchAsync
netcoreapp3.1
1.72μs
5.69ns
21.3ns
0.0138
0
0
1.06 KB
#5161
CallElasticsearchAsync
net472
2.77μs
1.99ns
7.43ns
0.171
0
0
1.08 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
net6.0
1.28μs
0.936ns
3.5ns
0.0131
0
0
928 B
master
ExecuteAsync
netcoreapp3.1
1.7μs
1.21ns
4.52ns
0.0126
0
0
928 B
master
ExecuteAsync
net472
1.94μs
2.51ns
9.74ns
0.141
0
0
891 B
#5161
ExecuteAsync
net6.0
1.38μs
1.27ns
4.94ns
0.0132
0
0
928 B
#5161
ExecuteAsync
netcoreapp3.1
1.68μs
1.12ns
4.34ns
0.0126
0
0
928 B
#5161
ExecuteAsync
net472
1.98μs
0.433ns
1.62ns
0.141
0
0
891 B
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
net6.0
4.28μs
2.92ns
11.3ns
0.0298
0
0
2.16 KB
master
SendAsync
netcoreapp3.1
5.05μs
1.84ns
7.12ns
0.0355
0
0
2.7 KB
master
SendAsync
net472
7.62μs
6.03ns
22.6ns
0.484
0
0
3.05 KB
#5161
SendAsync
net6.0
4.25μs
2.02ns
7.3ns
0.0296
0
0
2.16 KB
#5161
SendAsync
netcoreapp3.1
5.03μs
5.46ns
21.1ns
0.0357
0
0
2.7 KB
#5161
SendAsync
net472
7.8μs
9.76ns
37.8ns
0.482
0
0
3.05 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
net6.0
1.52μs
0.889ns
3.2ns
0.0232
0
0
1.65 KB
master
EnrichedLog
netcoreapp3.1
2.27μs
3.02ns
11.7ns
0.0228
0
0
1.65 KB
master
EnrichedLog
net472
2.69μs
1.31ns
4.89ns
0.25
0
0
1.57 KB
#5161
EnrichedLog
net6.0
1.51μs
1.43ns
5.34ns
0.0234
0
0
1.65 KB
#5161
EnrichedLog
netcoreapp3.1
2.17μs
1.28ns
4.95ns
0.0218
0
0
1.65 KB
#5161
EnrichedLog
net472
2.71μs
3.18ns
12.3ns
0.25
0
0
1.57 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
net6.0
113μs
125ns
449ns
0.0568
0
0
4.23 KB
master
EnrichedLog
netcoreapp3.1
123μs
368ns
1.42μs
0
0
0
4.23 KB
master
EnrichedLog
net472
148μs
188ns
727ns
0.664
0.221
0
4.41 KB
#5161
EnrichedLog
net6.0
112μs
143ns
534ns
0.0567
0
0
4.23 KB
#5161
EnrichedLog
netcoreapp3.1
119μs
197ns
762ns
0.0598
0
0
4.23 KB
#5161
EnrichedLog
net472
148μs
236ns
882ns
0.67
0.223
0
4.41 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
net6.0
3.13μs
1.19ns
4.11ns
0.0311
0
0
2.21 KB
master
EnrichedLog
netcoreapp3.1
4.22μs
0.966ns
3.35ns
0.0294
0
0
2.21 KB
master
EnrichedLog
net472
5.19μs
5.71ns
22.1ns
0.321
0
0
2.02 KB
#5161
EnrichedLog
net6.0
2.84μs
2.82ns
10.9ns
0.0302
0
0
2.21 KB
#5161
EnrichedLog
netcoreapp3.1
4.09μs
2.86ns
11.1ns
0.0287
0
0
2.21 KB
#5161
EnrichedLog
net472
5.02μs
6.81ns
26.4ns
0.32
0
0
2.02 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
net6.0
1.43μs
0.878ns
3.4ns
0.0164
0
0
1.18 KB
master
SendReceive
netcoreapp3.1
1.8μs
8.43ns
33.7ns
0.0162
0
0
1.18 KB
master
SendReceive
net472
2.42μs
4.09ns
15.9ns
0.187
0
0
1.18 KB
#5161
SendReceive
net6.0
1.33μs
0.941ns
3.52ns
0.0165
0
0
1.18 KB
#5161
SendReceive
netcoreapp3.1
1.77μs
0.646ns
2.33ns
0.0159
0
0
1.18 KB
#5161
SendReceive
net472
2.18μs
4.12ns
16ns
0.187
0
0
1.18 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
net6.0
2.79μs
0.877ns
3.28ns
0.0209
0
0
1.55 KB
master
EnrichedLog
netcoreapp3.1
3.88μs
1.42ns
5.3ns
0.0212
0
0
1.6 KB
master
EnrichedLog
net472
4.71μs
2.69ns
10.4ns
0.314
0
0
1.99 KB
#5161
EnrichedLog
net6.0
2.87μs
1.09ns
4.07ns
0.0215
0
0
1.55 KB
#5161
EnrichedLog
netcoreapp3.1
4.01μs
2.25ns
8.71ns
0.0202
0
0
1.6 KB
#5161
EnrichedLog
net472
4.35μs
1.42ns
4.92ns
0.316
0
0
1.99 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: Same allocations :heavy_check_mark:
Slower :warning: in #5161
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net6.0
1.155
593.79
685.82
Raw results
Branch
Method
Toolchain
Mean
StdError
StdDev
Gen 0
Gen 1
Gen 2
Allocated
master
StartFinishSpan
net6.0
479ns
0.328ns
1.27ns
0.00771
0
0
552 B
master
StartFinishSpan
netcoreapp3.1
759ns
1.09ns
4.07ns
0.00722
0
0
552 B
master
StartFinishSpan
net472
718ns
0.675ns
2.61ns
0.0879
0
0
554 B
master
StartFinishScope
net6.0
594ns
0.291ns
1.13ns
0.00954
0
0
672 B
master
StartFinishScope
netcoreapp3.1
897ns
0.649ns
2.43ns
0.00872
0
0
672 B
master
StartFinishScope
net472
971ns
0.64ns
2.31ns
0.1
0
0
634 B
#5161
StartFinishSpan
net6.0
478ns
0.363ns
1.36ns
0.00772
0
0
552 B
#5161
StartFinishSpan
netcoreapp3.1
721ns
0.479ns
1.79ns
0.00748
0
0
552 B
#5161
StartFinishSpan
net472
766ns
1.1ns
4.27ns
0.0878
0
0
554 B
#5161
StartFinishScope
net6.0
686ns
0.514ns
1.99ns
0.00936
0
0
672 B
#5161
StartFinishScope
netcoreapp3.1
844ns
1.02ns
3.94ns
0.00917
0
0
672 B
#5161
StartFinishScope
net472
922ns
1.32ns
5.12ns
0.1
0
0
634 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
net6.0
658ns
0.817ns
3.17ns
0.00945
0
0
672 B
master
RunOnMethodBegin
netcoreapp3.1
950ns
0.6ns
2.32ns
0.00894
0
0
672 B
master
RunOnMethodBegin
net472
1.07μs
1.07ns
4.16ns
0.101
0
0
634 B
#5161
RunOnMethodBegin
net6.0
685ns
0.652ns
2.52ns
0.00939
0
0
672 B
#5161
RunOnMethodBegin
netcoreapp3.1
969ns
1.63ns
6.32ns
0.00875
0
0
672 B
#5161
RunOnMethodBegin
net472
1.15μs
1.52ns
5.88ns
0.101
0
0
634 B