-
Notifications
You must be signed in to change notification settings - Fork 135
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
[SLES-1357] set exception on the aws.lambda span #5054
Conversation
Datadog ReportBranch report: ✅ 0 Failed, 305697 Passed, 1530 Skipped, 45m 28.09s Wall Time |
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 (5054) - mean (72ms) : 64, 80
. : milestone, 72,
master - mean (71ms) : 61, 80
. : milestone, 71,
section CallTarget+Inlining+NGEN
This PR (5054) - mean (949ms) : 920, 979
. : milestone, 949,
master - mean (947ms) : 927, 968
. : milestone, 947,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5054) - mean (105ms) : 99, 110
. : milestone, 105,
master - mean (106ms) : 102, 110
. : milestone, 106,
section CallTarget+Inlining+NGEN
This PR (5054) - mean (693ms) : 675, 712
. : milestone, 693,
master - mean (701ms) : 686, 717
. : milestone, 701,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5054) - mean (89ms) : 86, 93
. : milestone, 89,
master - mean (89ms) : 85, 93
. : milestone, 89,
section CallTarget+Inlining+NGEN
This PR (5054) - mean (652ms) : 631, 673
. : milestone, 652,
master - mean (654ms) : 635, 673
. : milestone, 654,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5054) - mean (188ms) : 186, 191
. : milestone, 188,
master - mean (189ms) : 185, 192
. : milestone, 189,
section CallTarget+Inlining+NGEN
This PR (5054) - mean (1,071ms) : 1046, 1095
. : milestone, 1071,
master - mean (1,067ms) : 1047, 1087
. : milestone, 1067,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5054) - mean (272ms) : 268, 276
. : milestone, 272,
master - mean (272ms) : 267, 278
. : milestone, 272,
section CallTarget+Inlining+NGEN
This PR (5054) - mean (1,050ms) : 1019, 1080
. : milestone, 1050,
master - mean (1,051ms) : 1025, 1078
. : milestone, 1051,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5054) - mean (262ms) : 258, 265
. : milestone, 262,
master - mean (261ms) : 257, 265
. : milestone, 261,
section CallTarget+Inlining+NGEN
This PR (5054) - mean (1,018ms) : 990, 1046
. : milestone, 1018,
master - mean (1,019ms) : 997, 1040
. : milestone, 1019,
|
tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/AWS/Lambda/LambdaCommon.cs
Show resolved
Hide resolved
Benchmarks Report 🐌Benchmarks for #5054 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 - Slower
|
Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
---|---|---|---|---|
Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody‑net6.0 | 1.136 | 145.55 | 165.32 | |
Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody‑netcoreapp3.1 | 1.122 | 214.89 | 241.19 |
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | AllCycleSimpleBody |
net6.0 | 38.8μs | 30.9ns | 120ns | 0.0195 | 0 | 0 | 1.77 KB |
master | AllCycleSimpleBody |
netcoreapp3.1 | 41.3μs | 38.2ns | 148ns | 0.0207 | 0 | 0 | 1.74 KB |
master | AllCycleSimpleBody |
net472 | 44.8μs | 18.7ns | 72.3ns | 0.288 | 0 | 0 | 1.81 KB |
master | AllCycleMoreComplexBody |
net6.0 | 200μs | 85.1ns | 330ns | 0.0995 | 0 | 0 | 9.25 KB |
master | AllCycleMoreComplexBody |
netcoreapp3.1 | 211μs | 241ns | 932ns | 0.106 | 0 | 0 | 9.14 KB |
master | AllCycleMoreComplexBody |
net472 | 225μs | 152ns | 588ns | 1.46 | 0 | 0 | 9.32 KB |
master | ObjectExtractorSimpleBody |
net6.0 | 146ns | 0.19ns | 0.711ns | 0.00396 | 0 | 0 | 280 B |
master | ObjectExtractorSimpleBody |
netcoreapp3.1 | 215ns | 0.133ns | 0.513ns | 0.00379 | 0 | 0 | 272 B |
master | ObjectExtractorSimpleBody |
net472 | 165ns | 0.316ns | 1.22ns | 0.0446 | 0 | 0 | 281 B |
master | ObjectExtractorMoreComplexBody |
net6.0 | 3.05μs | 1.79ns | 6.44ns | 0.0533 | 0 | 0 | 3.78 KB |
master | ObjectExtractorMoreComplexBody |
netcoreapp3.1 | 4.22μs | 1.33ns | 4.81ns | 0.0506 | 0 | 0 | 3.69 KB |
master | ObjectExtractorMoreComplexBody |
net472 | 3.81μs | 5.91ns | 22.1ns | 0.602 | 0.00568 | 0 | 3.8 KB |
#5054 | AllCycleSimpleBody |
net6.0 | 38.7μs | 49.8ns | 193ns | 0.0192 | 0 | 0 | 1.77 KB |
#5054 | AllCycleSimpleBody |
netcoreapp3.1 | 41.6μs | 33.2ns | 120ns | 0.0209 | 0 | 0 | 1.74 KB |
#5054 | AllCycleSimpleBody |
net472 | 45.1μs | 14.6ns | 54.5ns | 0.267 | 0 | 0 | 1.81 KB |
#5054 | AllCycleMoreComplexBody |
net6.0 | 200μs | 90.9ns | 352ns | 0.0992 | 0 | 0 | 9.25 KB |
#5054 | AllCycleMoreComplexBody |
netcoreapp3.1 | 213μs | 219ns | 847ns | 0.106 | 0 | 0 | 9.14 KB |
#5054 | AllCycleMoreComplexBody |
net472 | 225μs | 64.8ns | 251ns | 1.45 | 0 | 0 | 9.32 KB |
#5054 | ObjectExtractorSimpleBody |
net6.0 | 165ns | 0.139ns | 0.54ns | 0.00397 | 0 | 0 | 280 B |
#5054 | ObjectExtractorSimpleBody |
netcoreapp3.1 | 241ns | 0.184ns | 0.714ns | 0.00365 | 0 | 0 | 272 B |
#5054 | ObjectExtractorSimpleBody |
net472 | 184ns | 0.282ns | 1.06ns | 0.0446 | 0 | 0 | 281 B |
#5054 | ObjectExtractorMoreComplexBody |
net6.0 | 2.95μs | 2.12ns | 7.94ns | 0.0532 | 0 | 0 | 3.78 KB |
#5054 | ObjectExtractorMoreComplexBody |
netcoreapp3.1 | 4.02μs | 1.15ns | 4.29ns | 0.0502 | 0 | 0 | 3.69 KB |
#5054 | ObjectExtractorMoreComplexBody |
net472 | 3.78μs | 2.44ns | 9.13ns | 0.602 | 0.00571 | 0 | 3.8 KB |
Benchmarks.Trace.Asm.AppSecWafBenchmark - Slower ⚠️ Same allocations ✔️
Slower ⚠️ in #5054
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWaf(args: NestedMap (100))‑net6.0
1.125
98,131.99
110,436.03
Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
---|---|---|---|---|
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWaf(args: NestedMap (100))‑net6.0 | 1.125 | 98,131.99 | 110,436.03 |
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | RunWaf(args=NestedMap (10)) |
net6.0 | 51.9μs | 20.3ns | 73.1ns | 0.208 | 0 | 0 | 16.06 KB |
master | RunWaf(args=NestedMap (10)) |
netcoreapp3.1 | 70.2μs | 389ns | 2.4μs | 0.196 | 0 | 0 | 16.06 KB |
master | RunWaf(args=NestedMap (10)) |
net472 | 95.8μs | 29.1ns | 113ns | 2.55 | 0.0962 | 0 | 16.14 KB |
master | RunWafTwice(args=NestedMap (10)) |
net6.0 | 57.5μs | 11.2ns | 42.1ns | 0.218 | 0 | 0 | 16.6 KB |
master | RunWafTwice(args=NestedMap (10)) |
netcoreapp3.1 | 70.5μs | 342ns | 1.41μs | 0.21 | 0 | 0 | 16.58 KB |
master | RunWafTwice(args=NestedMap (10)) |
net472 | 109μs | 309ns | 1.16μs | 2.65 | 0.104 | 0 | 16.69 KB |
master | RunWafWithAttack(args=Neste(...)tack) [22]) |
net6.0 | 114μs | 232ns | 897ns | 0.286 | 0 | 0 | 22.41 KB |
master | RunWafWithAttack(args=Neste(...)tack) [22]) |
netcoreapp3.1 | 130μs | 652ns | 2.99μs | 0.254 | 0 | 0 | 22.36 KB |
master | RunWafWithAttack(args=Neste(...)tack) [22]) |
net472 | 165μs | 562ns | 2.1μs | 3.56 | 0.162 | 0 | 22.7 KB |
master | RunWaf(args=NestedMap (100)) |
net6.0 | 98.1μs | 56.8ns | 220ns | 0.441 | 0 | 0 | 32.76 KB |
master | RunWaf(args=NestedMap (100)) |
netcoreapp3.1 | 131μs | 734ns | 5.09μs | 0.439 | 0 | 0 | 33.33 KB |
master | RunWaf(args=NestedMap (100)) |
net472 | 192μs | 847ns | 3.28μs | 5.34 | 0.375 | 0 | 33.67 KB |
master | RunWafTwice(args=NestedMap (100)) |
net6.0 | 105μs | 56.3ns | 195ns | 0.47 | 0 | 0 | 33.3 KB |
master | RunWafTwice(args=NestedMap (100)) |
netcoreapp3.1 | 137μs | 750ns | 4.18μs | 0.456 | 0 | 0 | 33.86 KB |
master | RunWafTwice(args=NestedMap (100)) |
net472 | 196μs | 56.9ns | 213ns | 5.37 | 0.391 | 0 | 34.23 KB |
master | RunWafWithAttack(args=Neste(...)tack) [23]) |
net6.0 | 160μs | 41.4ns | 155ns | 0.498 | 0 | 0 | 39.1 KB |
master | RunWafWithAttack(args=Neste(...)tack) [23]) |
netcoreapp3.1 | 197μs | 99.9ns | 346ns | 0.507 | 0 | 0 | 39.63 KB |
master | RunWafWithAttack(args=Neste(...)tack) [23]) |
net472 | 257μs | 1.12μs | 4.33μs | 6.31 | 0.505 | 0 | 40.23 KB |
master | RunWaf(args=NestedMap (20)) |
net6.0 | 104μs | 596ns | 4.42μs | 0.443 | 0 | 0 | 32.18 KB |
master | RunWaf(args=NestedMap (20)) |
netcoreapp3.1 | 133μs | 724ns | 4.22μs | 0.413 | 0 | 0 | 32.3 KB |
master | RunWaf(args=NestedMap (20)) |
net472 | 188μs | 106ns | 412ns | 5.19 | 0.37 | 0 | 32.63 KB |
master | RunWafTwice(args=NestedMap (20)) |
net6.0 | 112μs | 344ns | 1.33μs | 0.449 | 0 | 0 | 32.72 KB |
master | RunWafTwice(args=NestedMap (20)) |
netcoreapp3.1 | 133μs | 82.5ns | 309ns | 0.398 | 0 | 0 | 32.82 KB |
master | RunWafTwice(args=NestedMap (20)) |
net472 | 194μs | 136ns | 527ns | 5.25 | 0.389 | 0 | 33.19 KB |
master | RunWafWithAttack(args=Neste(...)tack) [22]) |
net6.0 | 168μs | 63.2ns | 228ns | 0.559 | 0 | 0 | 38.53 KB |
master | RunWafWithAttack(args=Neste(...)tack) [22]) |
netcoreapp3.1 | 203μs | 597ns | 2.31μs | 0.484 | 0 | 0 | 38.6 KB |
master | RunWafWithAttack(args=Neste(...)tack) [22]) |
net472 | 255μs | 537ns | 2.08μs | 6.12 | 0.5 | 0 | 39.2 KB |
#5054 | RunWaf(args=NestedMap (10)) |
net6.0 | 54.9μs | 10.9ns | 40.9ns | 0.207 | 0 | 0 | 16.06 KB |
#5054 | RunWaf(args=NestedMap (10)) |
netcoreapp3.1 | 69.5μs | 360ns | 1.84μs | 0.227 | 0 | 0 | 16.06 KB |
#5054 | RunWaf(args=NestedMap (10)) |
net472 | 95.3μs | 60.3ns | 226ns | 2.53 | 0.0956 | 0 | 16.14 KB |
#5054 | RunWafTwice(args=NestedMap (10)) |
net6.0 | 60.3μs | 117ns | 452ns | 0.209 | 0 | 0 | 16.6 KB |
#5054 | RunWafTwice(args=NestedMap (10)) |
netcoreapp3.1 | 72.9μs | 414ns | 3.07μs | 0.224 | 0 | 0 | 16.58 KB |
#5054 | RunWafTwice(args=NestedMap (10)) |
net472 | 105μs | 146ns | 545ns | 2.62 | 0.105 | 0 | 16.69 KB |
#5054 | RunWafWithAttack(args=Neste(...)tack) [22]) |
net6.0 | 108μs | 39.3ns | 152ns | 0.27 | 0 | 0 | 22.41 KB |
#5054 | RunWafWithAttack(args=Neste(...)tack) [22]) |
netcoreapp3.1 | 127μs | 383ns | 1.48μs | 0.262 | 0 | 0 | 22.36 KB |
#5054 | RunWafWithAttack(args=Neste(...)tack) [22]) |
net472 | 160μs | 86.8ns | 336ns | 3.59 | 0.16 | 0 | 22.7 KB |
#5054 | RunWaf(args=NestedMap (100)) |
net6.0 | 110μs | 42.3ns | 164ns | 0.438 | 0 | 0 | 32.76 KB |
#5054 | RunWaf(args=NestedMap (100)) |
netcoreapp3.1 | 131μs | 701ns | 3.84μs | 0.438 | 0 | 0 | 33.33 KB |
#5054 | RunWaf(args=NestedMap (100)) |
net472 | 185μs | 99.3ns | 372ns | 5.31 | 0.373 | 0 | 33.67 KB |
#5054 | RunWafTwice(args=NestedMap (100)) |
net6.0 | 110μs | 593ns | 3.3μs | 0.455 | 0 | 0 | 33.3 KB |
#5054 | RunWafTwice(args=NestedMap (100)) |
netcoreapp3.1 | 140μs | 292ns | 1.01μs | 0.471 | 0 | 0 | 33.86 KB |
#5054 | RunWafTwice(args=NestedMap (100)) |
net472 | 204μs | 974ns | 3.77μs | 5.43 | 0.388 | 0 | 34.23 KB |
#5054 | RunWafWithAttack(args=Neste(...)tack) [23]) |
net6.0 | 168μs | 88ns | 341ns | 0.501 | 0 | 0 | 39.1 KB |
#5054 | RunWafWithAttack(args=Neste(...)tack) [23]) |
netcoreapp3.1 | 206μs | 1.06μs | 5.09μs | 0.492 | 0 | 0 | 39.63 KB |
#5054 | RunWafWithAttack(args=Neste(...)tack) [23]) |
net472 | 259μs | 1.26μs | 5.34μs | 6.31 | 0.505 | 0 | 40.23 KB |
#5054 | RunWaf(args=NestedMap (20)) |
net6.0 | 110μs | 634ns | 5.19μs | 0.468 | 0 | 0 | 32.18 KB |
#5054 | RunWaf(args=NestedMap (20)) |
netcoreapp3.1 | 133μs | 718ns | 3.93μs | 0.401 | 0 | 0 | 32.3 KB |
#5054 | RunWaf(args=NestedMap (20)) |
net472 | 184μs | 95ns | 355ns | 5.13 | 0.367 | 0 | 32.63 KB |
#5054 | RunWafTwice(args=NestedMap (20)) |
net6.0 | 111μs | 55.4ns | 215ns | 0.457 | 0 | 0 | 32.72 KB |
#5054 | RunWafTwice(args=NestedMap (20)) |
netcoreapp3.1 | 139μs | 703ns | 3.3μs | 0.415 | 0 | 0 | 32.82 KB |
#5054 | RunWafTwice(args=NestedMap (20)) |
net472 | 193μs | 147ns | 569ns | 5.22 | 0.387 | 0 | 33.19 KB |
#5054 | RunWafWithAttack(args=Neste(...)tack) [22]) |
net6.0 | 170μs | 123ns | 476ns | 0.507 | 0 | 0 | 38.53 KB |
#5054 | RunWafWithAttack(args=Neste(...)tack) [22]) |
netcoreapp3.1 | 198μs | 1.04μs | 5.42μs | 0.499 | 0 | 0 | 38.6 KB |
#5054 | RunWafWithAttack(args=Neste(...)tack) [22]) |
net472 | 259μs | 1.07μs | 4.14μs | 6.16 | 0.503 | 0 | 39.2 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 | 173μs | 187ns | 723ns | 0.26 | 0 | 0 | 18.25 KB |
master | SendRequest |
netcoreapp3.1 | 197μs | 1.09μs | 6.52μs | 0.193 | 0 | 0 | 20.41 KB |
master | SendRequest |
net472 | 0.000465ns | 0.000189ns | 0.000733ns | 0 | 0 | 0 | 0 b |
#5054 | SendRequest |
net6.0 | 174μs | 228ns | 884ns | 0.262 | 0 | 0 | 18.25 KB |
#5054 | SendRequest |
netcoreapp3.1 | 194μs | 441ns | 1.71μs | 0.194 | 0 | 0 | 20.41 KB |
#5054 | SendRequest |
net472 | 0ns | 0ns | 0ns | 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 | 547μs | 1μs | 3.88μs | 0.534 | 0 | 0 | 41.85 KB |
master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 657μs | 951ns | 3.68μs | 0.334 | 0 | 0 | 41.71 KB |
master | WriteAndFlushEnrichedTraces |
net472 | 839μs | 2.91μs | 11.3μs | 8.28 | 2.48 | 0.414 | 53.25 KB |
#5054 | WriteAndFlushEnrichedTraces |
net6.0 | 554μs | 1.75μs | 6.77μs | 0.53 | 0 | 0 | 41.8 KB |
#5054 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 650μs | 623ns | 2.41μs | 0.324 | 0 | 0 | 41.76 KB |
#5054 | WriteAndFlushEnrichedTraces |
net472 | 846μs | 3.46μs | 13.4μs | 8.41 | 2.4 | 0.401 | 53.23 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.05μs | 0.274ns | 0.988ns | 0.0106 | 0 | 0 | 768 B |
master | ExecuteNonQuery |
netcoreapp3.1 | 1.47μs | 0.732ns | 2.83ns | 0.0103 | 0 | 0 | 768 B |
master | ExecuteNonQuery |
net472 | 1.8μs | 0.71ns | 2.56ns | 0.116 | 0 | 0 | 730 B |
#5054 | ExecuteNonQuery |
net6.0 | 1.13μs | 0.432ns | 1.67ns | 0.0107 | 0 | 0 | 768 B |
#5054 | ExecuteNonQuery |
netcoreapp3.1 | 1.54μs | 1.06ns | 4.09ns | 0.00999 | 0 | 0 | 768 B |
#5054 | ExecuteNonQuery |
net472 | 1.7μs | 1.26ns | 4.71ns | 0.115 | 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.21μs | 1.18ns | 4.56ns | 0.013 | 0 | 0 | 936 B |
master | CallElasticsearch |
netcoreapp3.1 | 1.56μs | 1.72ns | 6.45ns | 0.0126 | 0 | 0 | 936 B |
master | CallElasticsearch |
net472 | 2.5μs | 0.735ns | 2.85ns | 0.151 | 0 | 0 | 955 B |
master | CallElasticsearchAsync |
net6.0 | 1.3μs | 0.558ns | 2.16ns | 0.0124 | 0 | 0 | 912 B |
master | CallElasticsearchAsync |
netcoreapp3.1 | 1.54μs | 0.486ns | 1.88ns | 0.0131 | 0 | 0 | 984 B |
master | CallElasticsearchAsync |
net472 | 2.77μs | 1.15ns | 4.44ns | 0.16 | 0 | 0 | 1.01 KB |
#5054 | CallElasticsearch |
net6.0 | 1.26μs | 0.472ns | 1.83ns | 0.0133 | 0 | 0 | 936 B |
#5054 | CallElasticsearch |
netcoreapp3.1 | 1.52μs | 1.05ns | 3.92ns | 0.0121 | 0 | 0 | 936 B |
#5054 | CallElasticsearch |
net472 | 2.63μs | 0.739ns | 2.56ns | 0.152 | 0 | 0 | 955 B |
#5054 | CallElasticsearchAsync |
net6.0 | 1.24μs | 0.804ns | 3.01ns | 0.0129 | 0 | 0 | 912 B |
#5054 | CallElasticsearchAsync |
netcoreapp3.1 | 1.69μs | 2.38ns | 9.21ns | 0.0135 | 0 | 0 | 984 B |
#5054 | CallElasticsearchAsync |
net472 | 2.77μs | 0.619ns | 2.32ns | 0.16 | 0 | 0 | 1.01 KB |
Benchmarks.Trace.GraphQLBenchmark - Faster 🎉 Same allocations ✔️
Faster 🎉 in #5054
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net6.0
1.183
1,479.68
1,251.23
Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality |
---|---|---|---|---|
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net6.0 | 1.183 | 1,479.68 | 1,251.23 |
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | ExecuteAsync |
net6.0 | 1.48μs | 0.646ns | 2.24ns | 0.0126 | 0 | 0 | 912 B |
master | ExecuteAsync |
netcoreapp3.1 | 1.66μs | 1.43ns | 5.35ns | 0.0124 | 0 | 0 | 912 B |
master | ExecuteAsync |
net472 | 1.83μs | 0.483ns | 1.81ns | 0.139 | 0 | 0 | 875 B |
#5054 | ExecuteAsync |
net6.0 | 1.25μs | 0.555ns | 2.08ns | 0.0125 | 0 | 0 | 912 B |
#5054 | ExecuteAsync |
netcoreapp3.1 | 1.61μs | 1.87ns | 6.99ns | 0.012 | 0 | 0 | 912 B |
#5054 | ExecuteAsync |
net472 | 1.83μs | 1.01ns | 3.78ns | 0.138 | 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 | 4.29μs | 7.03ns | 25.3ns | 0.0299 | 0 | 0 | 2.1 KB |
master | SendAsync |
netcoreapp3.1 | 5.06μs | 2.05ns | 7.68ns | 0.0354 | 0 | 0 | 2.63 KB |
master | SendAsync |
net472 | 7.8μs | 3ns | 11.6ns | 0.523 | 0 | 0 | 3.31 KB |
#5054 | SendAsync |
net6.0 | 4.11μs | 6.21ns | 24ns | 0.0286 | 0 | 0 | 2.1 KB |
#5054 | SendAsync |
netcoreapp3.1 | 5.01μs | 2.62ns | 10.1ns | 0.0353 | 0 | 0 | 2.63 KB |
#5054 | SendAsync |
net472 | 7.63μs | 4.14ns | 16ns | 0.522 | 0 | 0 | 3.31 KB |
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ Fewer allocations 🎉
Fewer allocations 🎉 in #5054
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0
212.85 KB
204.13 KB
-8.72 KB
-4.10%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472
61.93 KB
57.74 KB
-4.19 KB
-6.77%
Benchmark | Base Allocated | Diff Allocated | Change | Change % |
---|---|---|---|---|
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 | 212.85 KB | 204.13 KB | -8.72 KB | -4.10% |
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 | 61.93 KB | 57.74 KB | -4.19 KB | -6.77% |
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | StringConcatBenchmark |
net6.0 | 59μs | 1.16μs | 11.3μs | 0 | 0 | 0 | 43.44 KB |
master | StringConcatBenchmark |
netcoreapp3.1 | 54μs | 244ns | 1.17μs | 0 | 0 | 0 | 42.64 KB |
master | StringConcatBenchmark |
net472 | 37.6μs | 77.7ns | 269ns | 0 | 0 | 0 | 61.93 KB |
master | StringConcatAspectBenchmark |
net6.0 | 276μs | 6.83μs | 66.5μs | 0 | 0 | 0 | 212.85 KB |
master | StringConcatAspectBenchmark |
netcoreapp3.1 | 327μs | 6.37μs | 59.4μs | 0 | 0 | 0 | 204.27 KB |
master | StringConcatAspectBenchmark |
net472 | 223μs | 962ns | 3.47μs | 0 | 0 | 0 | 221.18 KB |
#5054 | StringConcatBenchmark |
net6.0 | 60.1μs | 1.46μs | 14.1μs | 0 | 0 | 0 | 43.44 KB |
#5054 | StringConcatBenchmark |
netcoreapp3.1 | 63.7μs | 926ns | 9.26μs | 0 | 0 | 0 | 42.64 KB |
#5054 | StringConcatBenchmark |
net472 | 38.6μs | 81.8ns | 295ns | 0 | 0 | 0 | 57.74 KB |
#5054 | StringConcatAspectBenchmark |
net6.0 | 277μs | 1.35μs | 7.13μs | 0 | 0 | 0 | 204.13 KB |
#5054 | StringConcatAspectBenchmark |
netcoreapp3.1 | 302μs | 3.95μs | 36.4μs | 0 | 0 | 0 | 204.11 KB |
#5054 | StringConcatAspectBenchmark |
net472 | 244μs | 3.61μs | 34.8μs | 0 | 0 | 0 | 221.18 KB |
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | EnrichedLog |
net6.0 | 1.59μs | 0.62ns | 2.32ns | 0.0223 | 0 | 0 | 1.57 KB |
master | EnrichedLog |
netcoreapp3.1 | 2.2μs | 1.64ns | 6.14ns | 0.0208 | 0 | 0 | 1.57 KB |
master | EnrichedLog |
net472 | 2.58μs | 1.36ns | 5.26ns | 0.238 | 0 | 0 | 1.5 KB |
#5054 | EnrichedLog |
net6.0 | 1.45μs | 0.852ns | 3.3ns | 0.0219 | 0 | 0 | 1.57 KB |
#5054 | EnrichedLog |
netcoreapp3.1 | 2.3μs | 0.929ns | 3.48ns | 0.0207 | 0 | 0 | 1.57 KB |
#5054 | EnrichedLog |
net472 | 2.69μs | 2.7ns | 10.1ns | 0.238 | 0 | 0 | 1.5 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 | 113μs | 130ns | 487ns | 0.0567 | 0 | 0 | 4.21 KB |
master | EnrichedLog |
netcoreapp3.1 | 119μs | 108ns | 418ns | 0.059 | 0 | 0 | 4.21 KB |
master | EnrichedLog |
net472 | 149μs | 119ns | 447ns | 0.668 | 0.223 | 0 | 4.39 KB |
#5054 | EnrichedLog |
net6.0 | 113μs | 101ns | 377ns | 0.0564 | 0 | 0 | 4.21 KB |
#5054 | EnrichedLog |
netcoreapp3.1 | 119μs | 131ns | 490ns | 0.0595 | 0 | 0 | 4.21 KB |
#5054 | EnrichedLog |
net472 | 151μs | 116ns | 434ns | 0.68 | 0.227 | 0 | 4.39 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.99μs | 0.867ns | 3.36ns | 0.0299 | 0 | 0 | 2.13 KB |
master | EnrichedLog |
netcoreapp3.1 | 4.28μs | 3.46ns | 13.4ns | 0.0277 | 0 | 0 | 2.13 KB |
master | EnrichedLog |
net472 | 4.86μs | 2.06ns | 7.98ns | 0.308 | 0 | 0 | 1.95 KB |
#5054 | EnrichedLog |
net6.0 | 2.93μs | 1.77ns | 6.85ns | 0.0294 | 0 | 0 | 2.13 KB |
#5054 | EnrichedLog |
netcoreapp3.1 | 4.2μs | 2.59ns | 10ns | 0.0272 | 0 | 0 | 2.13 KB |
#5054 | EnrichedLog |
net472 | 4.82μs | 2.04ns | 7.65ns | 0.307 | 0 | 0 | 1.95 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.33μs | 0.546ns | 2.04ns | 0.0153 | 0 | 0 | 1.1 KB |
master | SendReceive |
netcoreapp3.1 | 1.69μs | 0.803ns | 3.01ns | 0.0147 | 0 | 0 | 1.1 KB |
master | SendReceive |
net472 | 2.2μs | 3.74ns | 14.5ns | 0.177 | 0 | 0 | 1.12 KB |
#5054 | SendReceive |
net6.0 | 1.46μs | 0.559ns | 2.17ns | 0.0153 | 0 | 0 | 1.1 KB |
#5054 | SendReceive |
netcoreapp3.1 | 1.77μs | 0.527ns | 1.97ns | 0.0149 | 0 | 0 | 1.1 KB |
#5054 | SendReceive |
net472 | 2.17μs | 2.18ns | 8.14ns | 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.72μs | 0.774ns | 2.9ns | 0.0217 | 0 | 0 | 1.53 KB |
master | EnrichedLog |
netcoreapp3.1 | 3.84μs | 1.8ns | 6.47ns | 0.0213 | 0 | 0 | 1.58 KB |
master | EnrichedLog |
net472 | 4.31μs | 1.05ns | 4.05ns | 0.311 | 0 | 0 | 1.97 KB |
#5054 | EnrichedLog |
net6.0 | 2.66μs | 0.731ns | 2.83ns | 0.0213 | 0 | 0 | 1.53 KB |
#5054 | EnrichedLog |
netcoreapp3.1 | 4.02μs | 1.62ns | 6.27ns | 0.0219 | 0 | 0 | 1.58 KB |
#5054 | EnrichedLog |
net472 | 4.32μs | 1.25ns | 4.83ns | 0.312 | 0 | 0 | 1.97 KB |
Benchmarks.Trace.SpanBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | StartFinishSpan |
net6.0 | 462ns | 0.13ns | 0.504ns | 0.00742 | 0 | 0 | 536 B |
master | StartFinishSpan |
netcoreapp3.1 | 753ns | 0.697ns | 2.61ns | 0.00719 | 0 | 0 | 536 B |
master | StartFinishSpan |
net472 | 751ns | 0.758ns | 2.93ns | 0.0854 | 0 | 0 | 538 B |
master | StartFinishScope |
net6.0 | 538ns | 0.121ns | 0.467ns | 0.00905 | 0 | 0 | 656 B |
master | StartFinishScope |
netcoreapp3.1 | 926ns | 0.686ns | 2.66ns | 0.00853 | 0 | 0 | 656 B |
master | StartFinishScope |
net472 | 949ns | 0.37ns | 1.28ns | 0.098 | 0 | 0 | 618 B |
#5054 | StartFinishSpan |
net6.0 | 490ns | 0.166ns | 0.62ns | 0.00754 | 0 | 0 | 536 B |
#5054 | StartFinishSpan |
netcoreapp3.1 | 690ns | 0.581ns | 2.1ns | 0.00712 | 0 | 0 | 536 B |
#5054 | StartFinishSpan |
net472 | 734ns | 0.378ns | 1.46ns | 0.0853 | 0 | 0 | 538 B |
#5054 | StartFinishScope |
net6.0 | 542ns | 0.159ns | 0.595ns | 0.00924 | 0 | 0 | 656 B |
#5054 | StartFinishScope |
netcoreapp3.1 | 870ns | 0.366ns | 1.42ns | 0.00875 | 0 | 0 | 656 B |
#5054 | StartFinishScope |
net472 | 945ns | 0.439ns | 1.7ns | 0.0979 | 0 | 0 | 618 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | RunOnMethodBegin |
net6.0 | 726ns | 0.26ns | 1.01ns | 0.00903 | 0 | 0 | 656 B |
master | RunOnMethodBegin |
netcoreapp3.1 | 1.01μs | 0.786ns | 2.84ns | 0.00901 | 0 | 0 | 656 B |
master | RunOnMethodBegin |
net472 | 1.11μs | 0.388ns | 1.5ns | 0.098 | 0 | 0 | 618 B |
#5054 | RunOnMethodBegin |
net6.0 | 656ns | 0.369ns | 1.43ns | 0.00914 | 0 | 0 | 656 B |
#5054 | RunOnMethodBegin |
netcoreapp3.1 | 955ns | 1.09ns | 4.24ns | 0.00857 | 0 | 0 | 656 B |
#5054 | RunOnMethodBegin |
net472 | 1.15μs | 0.406ns | 1.57ns | 0.0981 | 0 | 0 | 618 B |
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 (5054) (11.166M) : 0, 11166045
master (11.460M) : 0, 11459873
benchmarks/2.9.0 (11.706M) : 0, 11706061
section Automatic
This PR (5054) (7.587M) : 0, 7586763
master (7.953M) : 0, 7952899
benchmarks/2.9.0 (8.435M) : 0, 8435290
section Trace stats
This PR (5054) (7.847M) : 0, 7847164
master (8.256M) : 0, 8255704
section Manual
This PR (5054) (9.706M) : 0, 9705666
master (9.954M) : 0, 9954060
section Manual + Automatic
This PR (5054) (7.123M) : crit ,0, 7123380
master (7.498M) : 0, 7498475
section Version Conflict
This PR (5054) (6.466M) : 0, 6466017
master (6.784M) : 0, 6784101
gantt
title Throughput Linux arm64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (5054) (9.499M) : 0, 9498985
master (9.242M) : 0, 9241956
benchmarks/2.9.0 (9.499M) : 0, 9498887
section Automatic
This PR (5054) (6.445M) : 0, 6444809
master (6.603M) : 0, 6602563
section Trace stats
This PR (5054) (6.905M) : 0, 6905216
master (6.895M) : 0, 6894560
section Manual
This PR (5054) (8.278M) : 0, 8277838
master (8.330M) : 0, 8330087
section Manual + Automatic
This PR (5054) (6.259M) : 0, 6258731
master (6.156M) : 0, 6155707
section Version Conflict
This PR (5054) (5.673M) : 0, 5673218
master (5.646M) : 0, 5645657
gantt
title Throughput Windows x64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (5054) (10.306M) : 0, 10305621
master (10.410M) : 0, 10410090
benchmarks/2.9.0 (10.016M) : 0, 10016245
section Automatic
This PR (5054) (7.005M) : 0, 7004932
master (7.128M) : 0, 7128223
benchmarks/2.9.0 (7.585M) : 0, 7584638
section Trace stats
This PR (5054) (7.413M) : 0, 7412956
master (7.525M) : 0, 7525120
section Manual
This PR (5054) (8.861M) : 0, 8860871
master (8.884M) : 0, 8884351
section Manual + Automatic
This PR (5054) (6.743M) : 0, 6743134
master (5.998M) : 0, 5998100
section Version Conflict
This PR (5054) (6.079M) : 0, 6079449
master (6.333M) : 0, 6332697
gantt
title Throughput Linux x64 (ASM) (Total requests)
dateFormat X
axisFormat %s
section Baseline
master (7.494M) : 0, 7494117
benchmarks/2.9.0 (7.825M) : 0, 7824687
section No attack
master (1.795M) : 0, 1794847
benchmarks/2.9.0 (3.207M) : 0, 3206910
section Attack
master (1.416M) : 0, 1415922
benchmarks/2.9.0 (2.494M) : 0, 2494104
section Blocking
master (3.163M) : 0, 3163253
section IAST default
master (6.458M) : 0, 6458456
section IAST full
master (5.690M) : 0, 5689858
section Base vuln
master (0.953M) : 0, 953433
section IAST vuln
master (0.886M) : 0, 885851
|
be56426
to
260b1b1
Compare
Snapshots difference summaryThe following differences have been observed in committed snapshots. It is meant to help the reviewer. 6 occurrences of : + error.msg: Cannot assign requested address,
+ error.stack: Cannot assign requested address (SocketException),
+ error.type: System.Net.WebException,
|
6ef8564
to
e498894
Compare
Fixes #3204
Summary of changes
This is the last missing piece to add error message and status to the
aws.lambda
span.Previously, @DylanLovesCoffee already implemented the ending method to send Datadog-Extension(Datadog agent in serverless case) the error messages in this PR. But in order to get the information from the span, we need to first
SetException(exception)
on the span here.Test coverage
I first just tested it using one of the available lambda i have and see the
aws.lambda
span has it.P.S. I am actually working on a project to rethink how to do integration tests for tracing in aws lambda world. I'll try adding a corresponding test there.
Other details