-
Notifications
You must be signed in to change notification settings - Fork 140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Serverless] [Fix PR-4535] EndInvocationAsync should be awaited. #4752
Conversation
Execution-Time Benchmarks Report ⏱️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:
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 (4752) - mean (71ms) : 64, 79
. : milestone, 71,
master - mean (72ms) : 61, 82
. : milestone, 72,
section CallTarget+Inlining+NGEN
This PR (4752) - mean (1,016ms) : 996, 1035
. : milestone, 1016,
master - mean (1,011ms) : 983, 1040
. : milestone, 1011,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (4752) - mean (106ms) : 103, 108
. : milestone, 106,
master - mean (106ms) : 104, 109
. : milestone, 106,
section CallTarget+Inlining+NGEN
This PR (4752) - mean (717ms) : 694, 741
. : milestone, 717,
master - mean (709ms) : 695, 723
. : milestone, 709,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (4752) - mean (90ms) : 86, 95
. : milestone, 90,
master - mean (90ms) : 87, 92
. : milestone, 90,
section CallTarget+Inlining+NGEN
This PR (4752) - mean (684ms) : 660, 708
. : milestone, 684,
master - mean (677ms) : 655, 700
. : milestone, 677,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (4752) - mean (188ms) : 183, 193
. : milestone, 188,
master - mean (188ms) : 185, 192
. : milestone, 188,
section CallTarget+Inlining+NGEN
This PR (4752) - mean (1,142ms) : 1067, 1218
. : milestone, 1142,
master - mean (1,135ms) : 1109, 1161
. : milestone, 1135,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (4752) - mean (272ms) : 268, 277
. : milestone, 272,
master - mean (272ms) : 268, 276
. : milestone, 272,
section CallTarget+Inlining+NGEN
This PR (4752) - mean (1,091ms) : 1067, 1114
. : milestone, 1091,
master - mean (1,092ms) : 1073, 1111
. : milestone, 1092,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (4752) - mean (263ms) : 257, 268
. : milestone, 263,
master - mean (261ms) : 255, 267
. : milestone, 261,
section CallTarget+Inlining+NGEN
This PR (4752) - mean (1,057ms) : 1024, 1090
. : milestone, 1057,
master - mean (1,053ms) : 1021, 1086
. : milestone, 1053,
|
Datadog ReportBranch report: ❌ ❌ Failed Tests (1)
|
Benchmarks Report 🐌Benchmarks for #4752 compared to master:
The following thresholds were used for comparing the benchmark speeds:
Allocation changes below 0.5% are ignored. Benchmark detailsBenchmarks.Trace.ActivityBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Faster 🎉 Same allocations ✔️
|
Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality |
---|---|---|---|---|
Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody‑net6.0 | 1.379 | 166.33 | 120.58 |
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | AllCycleSimpleBody |
net6.0 | 43.4μs | 151ns | 583ns | 0.022 | 0 | 0 | 2.03 KB |
master | AllCycleSimpleBody |
netcoreapp3.1 | 44.6μs | 99.4ns | 372ns | 0.0227 | 0 | 0 | 2.01 KB |
master | AllCycleSimpleBody |
net472 | 46.9μs | 97.3ns | 377ns | 0.326 | 0 | 0 | 2.08 KB |
master | AllCycleMoreComplexBody |
net6.0 | 229μs | 92ns | 356ns | 0.114 | 0 | 0 | 8.63 KB |
master | AllCycleMoreComplexBody |
netcoreapp3.1 | 233μs | 147ns | 571ns | 0.117 | 0 | 0 | 8.52 KB |
master | AllCycleMoreComplexBody |
net472 | 237μs | 109ns | 424ns | 1.3 | 0 | 0 | 8.7 KB |
master | ObjectExtractorSimpleBody |
net6.0 | 166ns | 0.0456ns | 0.177ns | 0.00397 | 0 | 0 | 280 B |
master | ObjectExtractorSimpleBody |
netcoreapp3.1 | 176ns | 0.14ns | 0.504ns | 0.0037 | 0 | 0 | 272 B |
master | ObjectExtractorSimpleBody |
net472 | 149ns | 0.0555ns | 0.208ns | 0.0446 | 0 | 0 | 281 B |
master | ObjectExtractorMoreComplexBody |
net6.0 | 3.06μs | 1.01ns | 3.91ns | 0.0551 | 0 | 0 | 3.88 KB |
master | ObjectExtractorMoreComplexBody |
netcoreapp3.1 | 4.03μs | 1.74ns | 6.49ns | 0.0503 | 0 | 0 | 3.78 KB |
master | ObjectExtractorMoreComplexBody |
net472 | 4.1μs | 2.99ns | 11.2ns | 0.618 | 0.0062 | 0 | 3.89 KB |
#4752 | AllCycleSimpleBody |
net6.0 | 43.7μs | 74.8ns | 290ns | 0.0219 | 0 | 0 | 2.03 KB |
#4752 | AllCycleSimpleBody |
netcoreapp3.1 | 45.7μs | 115ns | 444ns | 0.0227 | 0 | 0 | 2.01 KB |
#4752 | AllCycleSimpleBody |
net472 | 46.7μs | 26.1ns | 97.6ns | 0.329 | 0 | 0 | 2.08 KB |
#4752 | AllCycleMoreComplexBody |
net6.0 | 228μs | 127ns | 493ns | 0.114 | 0 | 0 | 8.63 KB |
#4752 | AllCycleMoreComplexBody |
netcoreapp3.1 | 233μs | 106ns | 411ns | 0.117 | 0 | 0 | 8.52 KB |
#4752 | AllCycleMoreComplexBody |
net472 | 239μs | 133ns | 514ns | 1.31 | 0 | 0 | 8.7 KB |
#4752 | ObjectExtractorSimpleBody |
net6.0 | 121ns | 0.0842ns | 0.315ns | 0.00396 | 0 | 0 | 280 B |
#4752 | ObjectExtractorSimpleBody |
netcoreapp3.1 | 180ns | 0.0656ns | 0.254ns | 0.00368 | 0 | 0 | 272 B |
#4752 | ObjectExtractorSimpleBody |
net472 | 146ns | 0.0842ns | 0.326ns | 0.0446 | 0 | 0 | 281 B |
#4752 | ObjectExtractorMoreComplexBody |
net6.0 | 3.07μs | 1.21ns | 4.53ns | 0.0539 | 0 | 0 | 3.88 KB |
#4752 | ObjectExtractorMoreComplexBody |
netcoreapp3.1 | 4.1μs | 1.88ns | 7.29ns | 0.0515 | 0 | 0 | 3.78 KB |
#4752 | ObjectExtractorMoreComplexBody |
net472 | 4.11μs | 1.85ns | 7.16ns | 0.618 | 0.00616 | 0 | 3.89 KB |
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | RunWaf(args=NestedMap (10)) |
net6.0 | 13μs | 3.13ns | 11.7ns | 0.13 | 0 | 0 | 9.42 KB |
master | RunWaf(args=NestedMap (10)) |
netcoreapp3.1 | 19.5μs | 3.94ns | 14.2ns | 0.127 | 0 | 0 | 9.42 KB |
master | RunWaf(args=NestedMap (10)) |
net472 | 28.7μs | 11.8ns | 45.9ns | 1.49 | 0 | 0 | 9.48 KB |
master | RunWafWithAttack(args=Neste(...)tack) [22]) |
net6.0 | 76.7μs | 20ns | 75ns | 0.192 | 0 | 0 | 15.77 KB |
master | RunWafWithAttack(args=Neste(...)tack) [22]) |
netcoreapp3.1 | 86.8μs | 143ns | 556ns | 0.219 | 0 | 0 | 15.72 KB |
master | RunWafWithAttack(args=Neste(...)tack) [22]) |
net472 | 100μs | 53.2ns | 206ns | 2.54 | 0 | 0 | 16.04 KB |
master | RunWaf(args=NestedMap (100)) |
net6.0 | 25.3μs | 11.5ns | 43.2ns | 0.277 | 0 | 0 | 19.66 KB |
master | RunWaf(args=NestedMap (100)) |
netcoreapp3.1 | 38.6μs | 11.3ns | 40.8ns | 0.27 | 0 | 0 | 20.42 KB |
master | RunWaf(args=NestedMap (100)) |
net472 | 54.6μs | 33ns | 124ns | 3.28 | 0.0273 | 0 | 20.63 KB |
master | RunWafWithAttack(args=Neste(...)tack) [23]) |
net6.0 | 92.3μs | 30.8ns | 119ns | 0.363 | 0 | 0 | 26.01 KB |
master | RunWafWithAttack(args=Neste(...)tack) [23]) |
netcoreapp3.1 | 110μs | 48.5ns | 175ns | 0.331 | 0 | 0 | 26.72 KB |
master | RunWafWithAttack(args=Neste(...)tack) [23]) |
net472 | 134μs | 68.3ns | 264ns | 4.31 | 0.0673 | 0 | 27.19 KB |
master | RunWaf(args=NestedMap (20)) |
net6.0 | 25.2μs | 10.8ns | 41.7ns | 0.266 | 0 | 0 | 19.4 KB |
master | RunWaf(args=NestedMap (20)) |
netcoreapp3.1 | 38.4μs | 20.3ns | 78.6ns | 0.267 | 0 | 0 | 19.84 KB |
master | RunWaf(args=NestedMap (20)) |
net472 | 53.8μs | 13.8ns | 51.6ns | 3.16 | 0.0536 | 0 | 20.04 KB |
master | RunWafWithAttack(args=Neste(...)tack) [22]) |
net6.0 | 91.1μs | 191ns | 741ns | 0.322 | 0 | 0 | 25.74 KB |
master | RunWafWithAttack(args=Neste(...)tack) [22]) |
netcoreapp3.1 | 109μs | 286ns | 1.07μs | 0.322 | 0 | 0 | 26.14 KB |
master | RunWafWithAttack(args=Neste(...)tack) [22]) |
net472 | 130μs | 244ns | 945ns | 4.2 | 0.0657 | 0 | 26.6 KB |
#4752 | RunWaf(args=NestedMap (10)) |
net6.0 | 12.8μs | 3.35ns | 12.5ns | 0.133 | 0 | 0 | 9.42 KB |
#4752 | RunWaf(args=NestedMap (10)) |
netcoreapp3.1 | 19.4μs | 14.9ns | 55.7ns | 0.126 | 0 | 0 | 9.42 KB |
#4752 | RunWaf(args=NestedMap (10)) |
net472 | 28.2μs | 5.08ns | 18.3ns | 1.51 | 0 | 0 | 9.48 KB |
#4752 | RunWafWithAttack(args=Neste(...)tack) [22]) |
net6.0 | 78.3μs | 117ns | 437ns | 0.193 | 0 | 0 | 15.77 KB |
#4752 | RunWafWithAttack(args=Neste(...)tack) [22]) |
netcoreapp3.1 | 87.1μs | 319ns | 1.24μs | 0.173 | 0 | 0 | 15.72 KB |
#4752 | RunWafWithAttack(args=Neste(...)tack) [22]) |
net472 | 98.4μs | 74.1ns | 287ns | 2.53 | 0 | 0 | 16.04 KB |
#4752 | RunWaf(args=NestedMap (100)) |
net6.0 | 24.5μs | 5.52ns | 20.7ns | 0.269 | 0 | 0 | 19.66 KB |
#4752 | RunWaf(args=NestedMap (100)) |
netcoreapp3.1 | 38μs | 13.1ns | 47.1ns | 0.267 | 0 | 0 | 20.42 KB |
#4752 | RunWaf(args=NestedMap (100)) |
net472 | 55.4μs | 19.2ns | 74.5ns | 3.26 | 0.0276 | 0 | 20.63 KB |
#4752 | RunWafWithAttack(args=Neste(...)tack) [23]) |
net6.0 | 92.6μs | 51.8ns | 201ns | 0.324 | 0 | 0 | 26.01 KB |
#4752 | RunWafWithAttack(args=Neste(...)tack) [23]) |
netcoreapp3.1 | 108μs | 127ns | 490ns | 0.326 | 0 | 0 | 26.72 KB |
#4752 | RunWafWithAttack(args=Neste(...)tack) [23]) |
net472 | 132μs | 46.6ns | 181ns | 4.28 | 0.0659 | 0 | 27.19 KB |
#4752 | RunWaf(args=NestedMap (20)) |
net6.0 | 23.9μs | 10.6ns | 39.5ns | 0.274 | 0 | 0 | 19.4 KB |
#4752 | RunWaf(args=NestedMap (20)) |
netcoreapp3.1 | 37.2μs | 10.1ns | 34.9ns | 0.26 | 0 | 0 | 19.84 KB |
#4752 | RunWaf(args=NestedMap (20)) |
net472 | 53.8μs | 16.9ns | 65.6ns | 3.17 | 0.0537 | 0 | 20.04 KB |
#4752 | RunWafWithAttack(args=Neste(...)tack) [22]) |
net6.0 | 90.9μs | 39ns | 151ns | 0.363 | 0 | 0 | 25.74 KB |
#4752 | RunWafWithAttack(args=Neste(...)tack) [22]) |
netcoreapp3.1 | 110μs | 111ns | 415ns | 0.326 | 0 | 0 | 26.14 KB |
#4752 | RunWafWithAttack(args=Neste(...)tack) [22]) |
net472 | 131μs | 78.9ns | 306ns | 4.21 | 0.0648 | 0 | 26.6 KB |
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | SendRequest |
net6.0 | 169μs | 120ns | 465ns | 0.17 | 0 | 0 | 18.04 KB |
master | SendRequest |
netcoreapp3.1 | 190μs | 358ns | 1.39μs | 0.189 | 0 | 0 | 20.2 KB |
master | SendRequest |
net472 | 0.00129ns | 0.000303ns | 0.00113ns | 0 | 0 | 0 | 0 b |
#4752 | SendRequest |
net6.0 | 167μs | 154ns | 595ns | 0.167 | 0 | 0 | 18.04 KB |
#4752 | SendRequest |
netcoreapp3.1 | 190μs | 317ns | 1.23μs | 0.19 | 0 | 0 | 20.21 KB |
#4752 | SendRequest |
net472 | 0.000656ns | 0.000337ns | 0.0013ns | 0 | 0 | 0 | 0 b |
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | WriteAndFlushEnrichedTraces |
net6.0 | 544μs | 1.05μs | 4.07μs | 0.556 | 0 | 0 | 41.77 KB |
master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 665μs | 1.16μs | 4.5μs | 0.336 | 0 | 0 | 41.7 KB |
master | WriteAndFlushEnrichedTraces |
net472 | 838μs | 3.7μs | 14.3μs | 8.28 | 2.48 | 0.414 | 53.23 KB |
#4752 | WriteAndFlushEnrichedTraces |
net6.0 | 550μs | 2.25μs | 8.72μs | 0.541 | 0 | 0 | 41.84 KB |
#4752 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 671μs | 911ns | 3.41μs | 0.338 | 0 | 0 | 41.72 KB |
#4752 | WriteAndFlushEnrichedTraces |
net472 | 861μs | 3.33μs | 12.9μs | 8.13 | 2.57 | 0.428 | 53.24 KB |
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | ExecuteNonQuery |
net6.0 | 1μs | 0.561ns | 2.17ns | 0.0106 | 0 | 0 | 768 B |
master | ExecuteNonQuery |
netcoreapp3.1 | 1.36μs | 0.763ns | 2.96ns | 0.0104 | 0 | 0 | 768 B |
master | ExecuteNonQuery |
net472 | 1.73μs | 0.821ns | 2.96ns | 0.116 | 0 | 0 | 730 B |
#4752 | ExecuteNonQuery |
net6.0 | 1.11μs | 0.412ns | 1.49ns | 0.0105 | 0 | 0 | 768 B |
#4752 | ExecuteNonQuery |
netcoreapp3.1 | 1.35μs | 0.484ns | 1.87ns | 0.0101 | 0 | 0 | 768 B |
#4752 | ExecuteNonQuery |
net472 | 1.63μs | 3.59ns | 13ns | 0.116 | 0 | 0 | 730 B |
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | CallElasticsearch |
net6.0 | 1.13μs | 0.567ns | 2.2ns | 0.013 | 0 | 0 | 936 B |
master | CallElasticsearch |
netcoreapp3.1 | 1.48μs | 0.808ns | 3.03ns | 0.0126 | 0 | 0 | 936 B |
master | CallElasticsearch |
net472 | 2.4μs | 0.835ns | 3.01ns | 0.151 | 0 | 0 | 955 B |
master | CallElasticsearchAsync |
net6.0 | 1.23μs | 0.527ns | 2.04ns | 0.0124 | 0 | 0 | 912 B |
master | CallElasticsearchAsync |
netcoreapp3.1 | 1.49μs | 0.974ns | 3.65ns | 0.0134 | 0 | 0 | 984 B |
master | CallElasticsearchAsync |
net472 | 2.53μs | 1.26ns | 4.87ns | 0.16 | 0 | 0 | 1.01 KB |
#4752 | CallElasticsearch |
net6.0 | 1.21μs | 0.535ns | 2.07ns | 0.0129 | 0 | 0 | 936 B |
#4752 | CallElasticsearch |
netcoreapp3.1 | 1.36μs | 0.566ns | 2.12ns | 0.0123 | 0 | 0 | 936 B |
#4752 | CallElasticsearch |
net472 | 2.27μs | 1.09ns | 4.08ns | 0.151 | 0 | 0 | 955 B |
#4752 | CallElasticsearchAsync |
net6.0 | 1.3μs | 0.416ns | 1.55ns | 0.013 | 0 | 0 | 912 B |
#4752 | CallElasticsearchAsync |
netcoreapp3.1 | 1.5μs | 0.696ns | 2.6ns | 0.0134 | 0 | 0 | 984 B |
#4752 | CallElasticsearchAsync |
net472 | 2.55μs | 1.2ns | 4.48ns | 0.16 | 0 | 0 | 1.01 KB |
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | ExecuteAsync |
net6.0 | 1.28μs | 0.986ns | 3.69ns | 0.0129 | 0 | 0 | 912 B |
master | ExecuteAsync |
netcoreapp3.1 | 1.5μs | 0.616ns | 2.39ns | 0.0121 | 0 | 0 | 912 B |
master | ExecuteAsync |
net472 | 1.71μs | 0.903ns | 3.5ns | 0.138 | 0.000849 | 0 | 875 B |
#4752 | ExecuteAsync |
net6.0 | 1.16μs | 1.25ns | 4.85ns | 0.0128 | 0 | 0 | 912 B |
#4752 | ExecuteAsync |
netcoreapp3.1 | 1.58μs | 1.07ns | 4.14ns | 0.0118 | 0 | 0 | 912 B |
#4752 | ExecuteAsync |
net472 | 1.68μs | 1.33ns | 5.15ns | 0.139 | 0 | 0 | 875 B |
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | SendAsync |
net6.0 | 3.76μs | 2.28ns | 8.81ns | 0.0266 | 0 | 0 | 1.9 KB |
master | SendAsync |
netcoreapp3.1 | 4.41μs | 1.59ns | 6.16ns | 0.0331 | 0 | 0 | 2.43 KB |
master | SendAsync |
net472 | 7.06μs | 4.25ns | 16.4ns | 0.475 | 0 | 0 | 2.99 KB |
#4752 | SendAsync |
net6.0 | 3.76μs | 0.896ns | 3.35ns | 0.0263 | 0 | 0 | 1.9 KB |
#4752 | SendAsync |
netcoreapp3.1 | 4.38μs | 1.53ns | 5.94ns | 0.0328 | 0 | 0 | 2.43 KB |
#4752 | SendAsync |
net472 | 7.02μs | 1.16ns | 4.5ns | 0.473 | 0 | 0 | 2.99 KB |
Benchmarks.Trace.ILoggerBenchmark - Slower ⚠️ Same allocations ✔️
Slower ⚠️ in #4752
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1
1.160
1,795.17
2,082.15
Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
---|---|---|---|---|
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑netcoreapp3.1 | 1.160 | 1,795.17 | 2,082.15 |
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | EnrichedLog |
net6.0 | 1.33μs | 0.94ns | 3.52ns | 0.0222 | 0 | 0 | 1.57 KB |
master | EnrichedLog |
netcoreapp3.1 | 1.81μs | 4.84ns | 18.7ns | 0.0215 | 0 | 0 | 1.57 KB |
master | EnrichedLog |
net472 | 2.24μs | 2.01ns | 7.24ns | 0.236 | 0 | 0 | 1.49 KB |
#4752 | EnrichedLog |
net6.0 | 1.4μs | 0.663ns | 2.48ns | 0.0216 | 0 | 0 | 1.57 KB |
#4752 | EnrichedLog |
netcoreapp3.1 | 2.08μs | 1.23ns | 4.59ns | 0.0219 | 0 | 0 | 1.57 KB |
#4752 | EnrichedLog |
net472 | 2.35μs | 1.74ns | 6.29ns | 0.236 | 0 | 0 | 1.49 KB |
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | EnrichedLog |
net6.0 | 112μs | 114ns | 441ns | 0.0556 | 0 | 0 | 4.21 KB |
master | EnrichedLog |
netcoreapp3.1 | 117μs | 142ns | 551ns | 0 | 0 | 0 | 4.21 KB |
master | EnrichedLog |
net472 | 146μs | 122ns | 439ns | 0.658 | 0.219 | 0 | 4.38 KB |
#4752 | EnrichedLog |
net6.0 | 112μs | 79.1ns | 306ns | 0.0555 | 0 | 0 | 4.21 KB |
#4752 | EnrichedLog |
netcoreapp3.1 | 117μs | 220ns | 851ns | 0 | 0 | 0 | 4.21 KB |
#4752 | EnrichedLog |
net472 | 147μs | 101ns | 377ns | 0.663 | 0.221 | 0 | 4.38 KB |
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | EnrichedLog |
net6.0 | 2.88μs | 0.903ns | 3.26ns | 0.0301 | 0 | 0 | 2.13 KB |
master | EnrichedLog |
netcoreapp3.1 | 3.98μs | 1.59ns | 6.17ns | 0.0278 | 0 | 0 | 2.13 KB |
master | EnrichedLog |
net472 | 4.65μs | 2.1ns | 8.14ns | 0.307 | 0 | 0 | 1.93 KB |
#4752 | EnrichedLog |
net6.0 | 2.84μs | 0.895ns | 3.46ns | 0.0297 | 0 | 0 | 2.13 KB |
#4752 | EnrichedLog |
netcoreapp3.1 | 3.99μs | 1.6ns | 6.21ns | 0.0279 | 0 | 0 | 2.13 KB |
#4752 | EnrichedLog |
net472 | 4.57μs | 1.74ns | 6.52ns | 0.306 | 0 | 0 | 1.93 KB |
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | SendReceive |
net6.0 | 1.25μs | 0.403ns | 1.45ns | 0.0156 | 0 | 0 | 1.1 KB |
master | SendReceive |
netcoreapp3.1 | 1.55μs | 0.371ns | 1.39ns | 0.0147 | 0 | 0 | 1.1 KB |
master | SendReceive |
net472 | 2.01μs | 1.97ns | 7.63ns | 0.177 | 0 | 0 | 1.12 KB |
#4752 | SendReceive |
net6.0 | 1.22μs | 0.711ns | 2.66ns | 0.0152 | 0 | 0 | 1.1 KB |
#4752 | SendReceive |
netcoreapp3.1 | 1.63μs | 2.42ns | 9.37ns | 0.0147 | 0 | 0 | 1.1 KB |
#4752 | SendReceive |
net472 | 1.91μs | 1.25ns | 4.7ns | 0.177 | 0 | 0 | 1.12 KB |
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | EnrichedLog |
net6.0 | 2.71μs | 0.725ns | 2.71ns | 0.0204 | 0 | 0 | 1.53 KB |
master | EnrichedLog |
netcoreapp3.1 | 3.49μs | 0.945ns | 3.66ns | 0.021 | 0 | 0 | 1.58 KB |
master | EnrichedLog |
net472 | 3.97μs | 1.83ns | 7.1ns | 0.311 | 0 | 0 | 1.96 KB |
#4752 | EnrichedLog |
net6.0 | 2.47μs | 0.916ns | 3.55ns | 0.0211 | 0 | 0 | 1.53 KB |
#4752 | EnrichedLog |
netcoreapp3.1 | 3.6μs | 1.22ns | 4.24ns | 0.0199 | 0 | 0 | 1.58 KB |
#4752 | EnrichedLog |
net472 | 4.04μs | 1.66ns | 5.99ns | 0.31 | 0 | 0 | 1.96 KB |
Benchmarks.Trace.SpanBenchmark - Slower ⚠️ Same allocations ✔️
Slower ⚠️ in #4752
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1
1.161
520.30
604.28
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net6.0
1.118
473.70
529.83
Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
---|---|---|---|---|
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 | 1.161 | 520.30 | 604.28 | |
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net6.0 | 1.118 | 473.70 | 529.83 |
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | StartFinishSpan |
net6.0 | 402ns | 0.776ns | 3ns | 0.00741 | 0 | 0 | 536 B |
master | StartFinishSpan |
netcoreapp3.1 | 520ns | 0.672ns | 2.42ns | 0.00719 | 0 | 0 | 536 B |
master | StartFinishSpan |
net472 | 619ns | 0.0864ns | 0.335ns | 0.0853 | 0 | 0 | 538 B |
master | StartFinishScope |
net6.0 | 474ns | 0.118ns | 0.458ns | 0.0092 | 0 | 0 | 656 B |
master | StartFinishScope |
netcoreapp3.1 | 700ns | 1.32ns | 5.1ns | 0.00908 | 0 | 0 | 656 B |
master | StartFinishScope |
net472 | 777ns | 1.39ns | 4.81ns | 0.0981 | 0 | 0 | 618 B |
#4752 | StartFinishSpan |
net6.0 | 442ns | 0.189ns | 0.731ns | 0.0075 | 0 | 0 | 536 B |
#4752 | StartFinishSpan |
netcoreapp3.1 | 604ns | 0.663ns | 2.57ns | 0.00738 | 0 | 0 | 536 B |
#4752 | StartFinishSpan |
net472 | 642ns | 0.242ns | 0.939ns | 0.0853 | 0 | 0 | 538 B |
#4752 | StartFinishScope |
net6.0 | 530ns | 0.181ns | 0.703ns | 0.00935 | 0 | 0 | 656 B |
#4752 | StartFinishScope |
netcoreapp3.1 | 720ns | 0.652ns | 2.53ns | 0.00901 | 0 | 0 | 656 B |
#4752 | StartFinishScope |
net472 | 837ns | 0.327ns | 1.27ns | 0.0981 | 0 | 0 | 618 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower ⚠️ Same allocations ✔️
Slower ⚠️ in #4752
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net6.0
1.119
525.81
588.54
Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
---|---|---|---|---|
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net6.0 | 1.119 | 525.81 | 588.54 |
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | RunOnMethodBegin |
net6.0 | 526ns | 0.151ns | 0.584ns | 0.00926 | 0 | 0 | 656 B |
master | RunOnMethodBegin |
netcoreapp3.1 | 867ns | 0.596ns | 2.15ns | 0.00893 | 0 | 0 | 656 B |
master | RunOnMethodBegin |
net472 | 1.04μs | 0.377ns | 1.46ns | 0.0977 | 0 | 0 | 618 B |
#4752 | RunOnMethodBegin |
net6.0 | 589ns | 0.125ns | 0.47ns | 0.00922 | 0 | 0 | 656 B |
#4752 | RunOnMethodBegin |
netcoreapp3.1 | 861ns | 2.03ns | 7.85ns | 0.00896 | 0 | 0 | 656 B |
#4752 | RunOnMethodBegin |
net472 | 1.07μs | 0.249ns | 0.966ns | 0.0979 | 0 | 0 | 618 B |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The async
bit lgtm, but need to address the metric change
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, LGTM!
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 (4752) (11.631M) : 0, 11630634
master (11.211M) : 0, 11211102
benchmarks/2.38.0 (11.867M) : 0, 11866956
benchmarks/2.9.0 (10.896M) : 0, 10896496
section Automatic
This PR (4752) (7.913M) : 0, 7913028
master (7.742M) : 0, 7742331
benchmarks/2.38.0 (8.176M) : 0, 8175636
benchmarks/2.9.0 (8.125M) : 0, 8125054
section Trace stats
This PR (4752) (8.278M) : 0, 8278275
master (8.202M) : 0, 8201502
benchmarks/2.38.0 (8.450M) : 0, 8450370
section Manual
This PR (4752) (10.126M) : 0, 10126353
master (10.170M) : 0, 10169527
benchmarks/2.38.0 (10.334M) : 0, 10334368
section Manual + Automatic
This PR (4752) (7.573M) : 0, 7573206
master (7.564M) : 0, 7563638
benchmarks/2.38.0 (7.750M) : 0, 7750484
section Version Conflict
This PR (4752) (6.944M) : 0, 6944162
master (6.936M) : 0, 6935807
benchmarks/2.38.0 (7.137M) : 0, 7136691
gantt
title Throughput Linux arm64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (4752) (9.608M) : 0, 9608231
master (9.615M) : 0, 9614769
benchmarks/2.38.0 (9.548M) : 0, 9548121
benchmarks/2.9.0 (9.477M) : 0, 9477392
section Automatic
This PR (4752) (6.787M) : 0, 6786546
master (6.707M) : 0, 6706891
benchmarks/2.38.0 (6.747M) : 0, 6747227
section Trace stats
This PR (4752) (6.854M) : 0, 6854430
master (6.868M) : 0, 6867968
benchmarks/2.38.0 (6.815M) : 0, 6814846
section Manual
This PR (4752) (8.221M) : 0, 8221487
master (8.523M) : 0, 8522840
benchmarks/2.38.0 (8.263M) : 0, 8263131
section Manual + Automatic
This PR (4752) (6.337M) : 0, 6336916
master (6.085M) : 0, 6084767
benchmarks/2.38.0 (6.275M) : 0, 6275411
section Version Conflict
This PR (4752) (5.979M) : 0, 5979173
master (5.947M) : 0, 5946576
benchmarks/2.38.0 (5.670M) : 0, 5669744
gantt
title Throughput Windows x64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (4752) (9.489M) : 0, 9488897
master (9.327M) : 0, 9327438
benchmarks/2.38.0 (9.007M) : 0, 9007066
benchmarks/2.9.0 (9.459M) : 0, 9458597
section Automatic
This PR (4752) (6.778M) : 0, 6777994
master (6.719M) : 0, 6719189
benchmarks/2.38.0 (6.423M) : 0, 6422756
benchmarks/2.9.0 (6.995M) : 0, 6994572
section Trace stats
This PR (4752) (7.073M) : 0, 7073155
master (6.902M) : 0, 6901701
benchmarks/2.38.0 (6.721M) : 0, 6720838
section Manual
This PR (4752) (8.424M) : 0, 8424441
master (8.333M) : 0, 8333196
benchmarks/2.38.0 (7.977M) : 0, 7977494
section Manual + Automatic
This PR (4752) (6.629M) : 0, 6628949
master (6.445M) : 0, 6444999
benchmarks/2.38.0 (6.349M) : 0, 6349066
section Version Conflict
This PR (4752) (6.053M) : 0, 6052616
master (5.843M) : 0, 5843173
benchmarks/2.38.0 (5.682M) : 0, 5681654
gantt
title Throughput Linux x64 (ASM) (Total requests)
dateFormat X
axisFormat %s
section Baseline
master (7.531M) : 0, 7530734
benchmarks/2.38.0 (7.578M) : 0, 7577544
benchmarks/2.9.0 (7.897M) : 0, 7897465
section No attack
master (2.161M) : 0, 2160878
benchmarks/2.38.0 (2.184M) : 0, 2184279
benchmarks/2.9.0 (3.208M) : 0, 3207532
section Attack
master (1.708M) : 0, 1708423
benchmarks/2.38.0 (1.711M) : 0, 1710542
benchmarks/2.9.0 (2.553M) : 0, 2553477
section Blocking
master (3.431M) : 0, 3430604
benchmarks/2.38.0 (3.486M) : 0, 3486124
section IAST default
master (6.887M) : 0, 6887158
section IAST full
master (6.163M) : 0, 6162549
section Base vuln
master (0.966M) : 0, 966408
section IAST vuln
master (0.939M) : 0, 939437
|
4fdf13a
to
8c7b852
Compare
Summary of changes
Bugfix for PR-4535. The
EndInvocationAsync
calls should be awaited.Reason for change
Implementation details
Test coverage
Other details