dd-trace-dotnet icon indicating copy to clipboard operation
dd-trace-dotnet copied to clipboard

[Dynamic Instrumentation] Handle Out Of Range exception in SymDB

Open dudikeleti opened this issue 1 year ago • 5 comments

Summary of changes

In case method has hidden this parameter we can sometime fail to get correctly parameter types due to OOR exception. This PR fixes that issue.

dudikeleti avatar Feb 08 '24 09:02 dudikeleti

Datadog Report

Branch report: dudik/symdb-getargs-oor-exception Commit report: 0c8162c Test service: dd-trace-dotnet

:x: 1 Failed (1 Known Flaky), 270624 Passed, 1859 Skipped, 58m 3.27s Wall Time

:x: Failed Tests (1)

  • TelemetryControllerDumpsAllTelemetryToFile - Datadog.Trace.Tests.Telemetry.TelemetryControllerTests - :snowflake: Known flaky - Details

    Expand for error
    xpected products not to be <null>.
    

datadog-ddstaging[bot] avatar Feb 08 '24 09:02 datadog-ddstaging[bot]

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 (5162) - mean (74ms)  : 66, 82
     .   : milestone, 74,
    master - mean (75ms)  : 66, 84
     .   : milestone, 75,

    section CallTarget+Inlining+NGEN
    This PR (5162) - mean (1,010ms)  : 983, 1036
     .   : milestone, 1010,
    master - mean (1,009ms)  : 991, 1027
     .   : milestone, 1009,

gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5162) - mean (110ms)  : 107, 113
     .   : milestone, 110,
    master - mean (111ms)  : 107, 115
     .   : milestone, 111,

    section CallTarget+Inlining+NGEN
    This PR (5162) - mean (719ms)  : 694, 745
     .   : milestone, 719,
    master - mean (719ms)  : 700, 739
     .   : milestone, 719,

gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5162) - mean (94ms)  : 91, 98
     .   : milestone, 94,
    master - mean (94ms)  : 92, 97
     .   : milestone, 94,

    section CallTarget+Inlining+NGEN
    This PR (5162) - mean (679ms)  : 659, 700
     .   : milestone, 679,
    master - mean (679ms)  : 660, 698
     .   : milestone, 679,

gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5162) - mean (188ms)  : 185, 191
     .   : milestone, 188,
    master - mean (188ms)  : 184, 191
     .   : milestone, 188,

    section CallTarget+Inlining+NGEN
    This PR (5162) - mean (1,077ms)  : 1049, 1105
     .   : milestone, 1077,
    master - mean (1,073ms)  : 1050, 1095
     .   : milestone, 1073,

gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5162) - mean (271ms)  : 268, 275
     .   : milestone, 271,
    master - mean (271ms)  : 267, 274
     .   : milestone, 271,

    section CallTarget+Inlining+NGEN
    This PR (5162) - mean (877ms)  : 853, 900
     .   : milestone, 877,
    master - mean (873ms)  : 853, 894
     .   : milestone, 873,

gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5162) - mean (260ms)  : 257, 264
     .   : milestone, 260,
    master - mean (260ms)  : 256, 264
     .   : milestone, 260,

    section CallTarget+Inlining+NGEN
    This PR (5162) - mean (861ms)  : 835, 886
     .   : milestone, 861,
    master - mean (851ms)  : 825, 878
     .   : milestone, 851,

andrewlock avatar Feb 08 '24 09:02 andrewlock

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 (5162) (11.253M)   : 0, 11253326
    master (11.006M)   : 0, 11005804
    benchmarks/2.9.0 (11.089M)   : 0, 11088850

    section Automatic
    This PR (5162) (7.735M)   : 0, 7735010
    master (7.648M)   : 0, 7648107
    benchmarks/2.9.0 (8.058M)   : 0, 8058241

    section Trace stats
    This PR (5162) (8.003M)   : 0, 8003085
    master (8.272M)   : 0, 8272485

    section Manual
    This PR (5162) (9.580M)   : 0, 9580156
    master (9.987M)   : 0, 9986737

    section Manual + Automatic
    This PR (5162) (7.240M)   : 0, 7239941
    master (7.392M)   : 0, 7391763

    section Version Conflict
    This PR (5162) (6.525M)   : 0, 6524865
    master (6.585M)   : 0, 6585168

gantt
    title Throughput Linux arm64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (5162) (9.609M)   : 0, 9609244
    master (9.450M)   : 0, 9449974
    benchmarks/2.9.0 (9.695M)   : 0, 9694730

    section Automatic
    This PR (5162) (6.622M)   : 0, 6622314
    master (6.489M)   : 0, 6489412

    section Trace stats
    This PR (5162) (6.966M)   : 0, 6965913
    master (6.885M)   : 0, 6884816

    section Manual
    This PR (5162) (8.327M)   : 0, 8326899
    master (8.367M)   : 0, 8366824

    section Manual + Automatic
    This PR (5162) (6.192M)   : 0, 6192115
    master (6.136M)   : 0, 6135795

    section Version Conflict
    This PR (5162) (5.557M)   : 0, 5556582
    master (5.680M)   : 0, 5679783

gantt
    title Throughput Windows x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (5162) (9.970M)   : 0, 9970246
    master (10.049M)   : 0, 10048804
    benchmarks/2.9.0 (9.845M)   : 0, 9845291

    section Automatic
    This PR (5162) (7.051M)   : 0, 7050986
    master (7.116M)   : 0, 7115813
    benchmarks/2.9.0 (7.464M)   : 0, 7464272

    section Trace stats
    This PR (5162) (7.454M)   : 0, 7454122
    master (7.499M)   : 0, 7499054

    section Manual
    This PR (5162) (8.742M)   : 0, 8742092
    master (8.866M)   : 0, 8865523

    section Manual + Automatic
    This PR (5162) (6.877M)   : 0, 6876804
    master (6.763M)   : 0, 6763420

    section Version Conflict
    This PR (5162) (6.142M)   : 0, 6141857
    master (6.202M)   : 0, 6201747

andrewlock avatar Feb 08 '24 10:02 andrewlock

Benchmarks Report :snail:

Benchmarks for #5162 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.212
  • 2 benchmarks are slower, with geometric mean 1.135
  • 1 benchmarks have fewer allocations
  • 3 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.8μs 48.9ns 317ns 0.022 0.00879 0 7.49 KB
master StartStopWithChild netcoreapp3.1 10.6μs 50.2ns 207ns 0.0276 0.011 0 7.58 KB
master StartStopWithChild net472 17μs 29.9ns 112ns 1.35 0.38 0.127 7.95 KB
#5162 StartStopWithChild net6.0 8.49μs 41.9ns 214ns 0.0208 0.0083 0 7.49 KB
#5162 StartStopWithChild netcoreapp3.1 10.7μs 58.8ns 367ns 0.0366 0.0157 0 7.58 KB
#5162 StartStopWithChild net472 17.3μs 51.8ns 201ns 1.32 0.343 0.103 7.95 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 452μs 821ns 2.96μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 637μs 187ns 699ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 775μs 244ns 946ns 0.386 0 0 3.3 KB
#5162 WriteAndFlushEnrichedTraces net6.0 451μs 209ns 753ns 0 0 0 2.7 KB
#5162 WriteAndFlushEnrichedTraces netcoreapp3.1 619μs 160ns 578ns 0 0 0 2.7 KB
#5162 WriteAndFlushEnrichedTraces net472 786μs 195ns 730ns 0.391 0 0 3.3 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #5162

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody‑netcoreapp3.1 1.212 262.21 216.42

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 39.3μs 51ns 198ns 0.0198 0 0 2.36 KB
master AllCycleSimpleBody netcoreapp3.1 42.2μs 60.9ns 236ns 0.0211 0 0 2.34 KB
master AllCycleSimpleBody net472 44.9μs 13ns 50.4ns 0.382 0 0 2.41 KB
master AllCycleMoreComplexBody net6.0 201μs 84.8ns 329ns 0.102 0 0 9.84 KB
master AllCycleMoreComplexBody netcoreapp3.1 213μs 212ns 764ns 0.106 0 0 9.73 KB
master AllCycleMoreComplexBody net472 227μs 72.8ns 282ns 1.47 0 0 9.91 KB
master ObjectExtractorSimpleBody net6.0 140ns 0.0683ns 0.264ns 0.00396 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 262ns 0.105ns 0.408ns 0.00371 0 0 272 B
master ObjectExtractorSimpleBody net472 166ns 0.0996ns 0.386ns 0.0446 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 2.97μs 1.36ns 5.07ns 0.0521 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 4.08μs 3.63ns 14ns 0.0506 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 3.79μs 3.08ns 11.5ns 0.603 0.00567 0 3.8 KB
#5162 AllCycleSimpleBody net6.0 38.5μs 41.3ns 160ns 0.0193 0 0 2.36 KB
#5162 AllCycleSimpleBody netcoreapp3.1 41.9μs 60ns 232ns 0.0209 0 0 2.34 KB
#5162 AllCycleSimpleBody net472 45μs 13.2ns 51.2ns 0.381 0 0 2.41 KB
#5162 AllCycleMoreComplexBody net6.0 203μs 64ns 248ns 0.101 0 0 9.84 KB
#5162 AllCycleMoreComplexBody netcoreapp3.1 215μs 129ns 501ns 0.107 0 0 9.73 KB
#5162 AllCycleMoreComplexBody net472 228μs 88.5ns 343ns 1.48 0 0 9.91 KB
#5162 ObjectExtractorSimpleBody net6.0 138ns 0.121ns 0.468ns 0.00391 0 0 280 B
#5162 ObjectExtractorSimpleBody netcoreapp3.1 216ns 0.179ns 0.693ns 0.0038 0 0 272 B
#5162 ObjectExtractorSimpleBody net472 162ns 0.108ns 0.417ns 0.0446 0 0 281 B
#5162 ObjectExtractorMoreComplexBody net6.0 3.01μs 2.07ns 7.73ns 0.0528 0 0 3.78 KB
#5162 ObjectExtractorMoreComplexBody netcoreapp3.1 3.93μs 2.39ns 9.25ns 0.0509 0 0 3.69 KB
#5162 ObjectExtractorMoreComplexBody net472 3.82μs 4.45ns 17.2ns 0.602 0.00583 0 3.8 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 RunWaf(args=NestedMap (10)) net6.0 58.1μs 52.4ns 196ns 0.231 0 0 16.66 KB
master RunWaf(args=NestedMap (10)) netcoreapp3.1 69.9μs 359ns 1.76μs 0.203 0 0 16.65 KB
master RunWaf(args=NestedMap (10)) net472 96.9μs 51.7ns 200ns 2.61 0.0967 0 16.73 KB
master RunWafTwice(args=NestedMap (10)) net6.0 55.9μs 24.5ns 84.8ns 0.249 0 0 17.33 KB
master RunWafTwice(args=NestedMap (10)) netcoreapp3.1 72.6μs 353ns 1.46μs 0.211 0 0 17.31 KB
master RunWafTwice(args=NestedMap (10)) net472 107μs 60.3ns 217ns 2.74 0.105 0 17.42 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) net6.0 101μs 31.7ns 119ns 0.252 0 0 19.49 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) netcoreapp3.1 123μs 526ns 1.97μs 0.247 0 0 19.44 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) net472 154μs 76.2ns 295ns 3.13 0.149 0 19.72 KB
master RunWaf(args=NestedMap (100)) net6.0 99.3μs 108ns 389ns 0.426 0 0 33.35 KB
master RunWaf(args=NestedMap (100)) netcoreapp3.1 140μs 722ns 3.31μs 0.408 0 0 33.92 KB
master RunWaf(args=NestedMap (100)) net472 189μs 105ns 378ns 5.43 0.375 0 34.26 KB
master RunWafTwice(args=NestedMap (100)) net6.0 104μs 37.6ns 146ns 0.472 0 0 34.02 KB
master RunWafTwice(args=NestedMap (100)) netcoreapp3.1 144μs 767ns 3.99μs 0.472 0 0 34.58 KB
master RunWafTwice(args=NestedMap (100)) net472 202μs 420ns 1.57μs 5.52 0.394 0 34.96 KB
master RunWafWithAttack(args=Neste(...)tack) [23]) net6.0 163μs 81.2ns 315ns 0.484 0 0 36.18 KB
master RunWafWithAttack(args=Neste(...)tack) [23]) netcoreapp3.1 189μs 933ns 4.07μs 0.479 0 0 36.71 KB
master RunWafWithAttack(args=Neste(...)tack) [23]) net472 247μs 134ns 521ns 5.91 0.492 0 37.26 KB
master RunWaf(args=NestedMap (20)) net6.0 106μs 419ns 1.62μs 0.464 0 0 32.78 KB
master RunWaf(args=NestedMap (20)) netcoreapp3.1 139μs 694ns 3.1μs 0.413 0 0 32.89 KB
master RunWaf(args=NestedMap (20)) net472 189μs 93.1ns 361ns 5.19 0.378 0 33.23 KB
master RunWafTwice(args=NestedMap (20)) net6.0 105μs 567ns 3.05μs 0.436 0 0 33.45 KB
master RunWafTwice(args=NestedMap (20)) netcoreapp3.1 135μs 628ns 2.51μs 0.398 0 0 33.55 KB
master RunWafTwice(args=NestedMap (20)) net472 195μs 165ns 595ns 5.33 0.388 0 33.92 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) net6.0 152μs 143ns 552ns 0.457 0 0 35.61 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) netcoreapp3.1 190μs 730ns 2.83μs 0.462 0 0 35.68 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) net472 245μs 152ns 590ns 5.64 0.368 0 36.22 KB
#5162 RunWaf(args=NestedMap (10)) net6.0 55.5μs 316ns 2.3μs 0.223 0 0 16.66 KB
#5162 RunWaf(args=NestedMap (10)) netcoreapp3.1 69.8μs 350ns 1.49μs 0.21 0 0 16.65 KB
#5162 RunWaf(args=NestedMap (10)) net472 98μs 51.2ns 198ns 2.65 0.0981 0 16.73 KB
#5162 RunWafTwice(args=NestedMap (10)) net6.0 54.6μs 17.2ns 64.5ns 0.245 0 0 17.33 KB
#5162 RunWafTwice(args=NestedMap (10)) netcoreapp3.1 76.3μs 106ns 397ns 0.214 0 0 17.31 KB
#5162 RunWafTwice(args=NestedMap (10)) net472 105μs 51.2ns 192ns 2.75 0.106 0 17.42 KB
#5162 RunWafWithAttack(args=Neste(...)tack) [22]) net6.0 106μs 541ns 2.6μs 0.255 0 0 19.49 KB
#5162 RunWafWithAttack(args=Neste(...)tack) [22]) netcoreapp3.1 120μs 546ns 2.18μs 0.236 0 0 19.44 KB
#5162 RunWafWithAttack(args=Neste(...)tack) [22]) net472 149μs 92.4ns 333ns 3.13 0.149 0 19.72 KB
#5162 RunWaf(args=NestedMap (100)) net6.0 111μs 356ns 1.38μs 0.462 0 0 33.35 KB
#5162 RunWaf(args=NestedMap (100)) netcoreapp3.1 131μs 45.4ns 176ns 0.459 0 0 33.92 KB
#5162 RunWaf(args=NestedMap (100)) net472 195μs 926ns 3.93μs 5.37 0.377 0 34.27 KB
#5162 RunWafTwice(args=NestedMap (100)) net6.0 114μs 65.8ns 255ns 0.455 0 0 34.02 KB
#5162 RunWafTwice(args=NestedMap (100)) netcoreapp3.1 137μs 723ns 3.82μs 0.482 0 0 34.58 KB
#5162 RunWafTwice(args=NestedMap (100)) net472 201μs 126ns 489ns 5.52 0.394 0 34.96 KB
#5162 RunWafWithAttack(args=Neste(...)tack) [23]) net6.0 159μs 876ns 5.03μs 0.483 0 0 36.18 KB
#5162 RunWafWithAttack(args=Neste(...)tack) [23]) netcoreapp3.1 190μs 181ns 652ns 0.472 0 0 36.71 KB
#5162 RunWafWithAttack(args=Neste(...)tack) [23]) net472 254μs 452ns 1.75μs 5.88 0.49 0 37.26 KB
#5162 RunWaf(args=NestedMap (20)) net6.0 100μs 47.4ns 164ns 0.451 0 0 32.78 KB
#5162 RunWaf(args=NestedMap (20)) netcoreapp3.1 137μs 727ns 4.05μs 0.387 0 0 32.89 KB
#5162 RunWaf(args=NestedMap (20)) net472 194μs 393ns 1.47μs 5.23 0.374 0 33.23 KB
#5162 RunWafTwice(args=NestedMap (20)) net6.0 104μs 44.5ns 172ns 0.468 0 0 33.45 KB
#5162 RunWafTwice(args=NestedMap (20)) netcoreapp3.1 135μs 685ns 3.36μs 0.402 0 0 33.55 KB
#5162 RunWafTwice(args=NestedMap (20)) net472 196μs 109ns 422ns 5.3 0.385 0 33.92 KB
#5162 RunWafWithAttack(args=Neste(...)tack) [22]) net6.0 161μs 68.2ns 255ns 0.454 0 0 35.61 KB
#5162 RunWafWithAttack(args=Neste(...)tack) [22]) netcoreapp3.1 188μs 317ns 1.23μs 0.466 0 0 35.68 KB
#5162 RunWafWithAttack(args=Neste(...)tack) [22]) net472 244μs 108ns 417ns 5.75 0.489 0 36.22 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 172μs 105ns 408ns 0.172 0 0 18.26 KB
master SendRequest netcoreapp3.1 193μs 214ns 830ns 0.193 0 0 20.42 KB
master SendRequest net472 0.000275ns 0.000146ns 0.000564ns 0 0 0 0 b
#5162 SendRequest net6.0 172μs 87.5ns 315ns 0.172 0 0 18.26 KB
#5162 SendRequest netcoreapp3.1 194μs 405ns 1.57μs 0.194 0 0 20.42 KB
#5162 SendRequest net472 0.000125ns 9.33E‑05ns 0.000361ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #5162

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.51 KB 41.79 KB 281 B 0.68%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 552μs 1.3μs 5.03μs 0.551 0 0 41.51 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 650μs 556ns 2.08μs 0.331 0 0 41.73 KB
master WriteAndFlushEnrichedTraces net472 837μs 2.88μs 11.1μs 8.22 2.47 0.411 53.22 KB
#5162 WriteAndFlushEnrichedTraces net6.0 563μs 797ns 3.09μs 0.546 0 0 41.79 KB
#5162 WriteAndFlushEnrichedTraces netcoreapp3.1 653μs 387ns 1.4μs 0.331 0 0 41.75 KB
#5162 WriteAndFlushEnrichedTraces net472 815μs 3.46μs 13.4μs 8.39 2.52 0.419 53.27 KB
Benchmarks.Trace.DbCommandBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #5162

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net6.0 1.126 1,058.27 1,191.76

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.06μs 0.429ns 1.66ns 0.0106 0 0 776 B
master ExecuteNonQuery netcoreapp3.1 1.45μs 0.799ns 2.99ns 0.0101 0 0 776 B
master ExecuteNonQuery net472 1.75μs 0.663ns 2.57ns 0.117 0 0 738 B
#5162 ExecuteNonQuery net6.0 1.19μs 0.272ns 1.02ns 0.0106 0 0 776 B
#5162 ExecuteNonQuery netcoreapp3.1 1.41μs 1.36ns 5.26ns 0.0101 0 0 776 B
#5162 ExecuteNonQuery net472 1.84μs 0.358ns 1.34ns 0.117 0 0 738 B
Benchmarks.Trace.ElasticsearchBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #5162

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net6.0 1.143 1,247.09 1,425.47

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.23μs 0.423ns 1.52ns 0.013 0 0 944 B
master CallElasticsearch netcoreapp3.1 1.52μs 0.769ns 2.66ns 0.013 0 0 944 B
master CallElasticsearch net472 2.55μs 2.05ns 7.96ns 0.153 0 0 963 B
master CallElasticsearchAsync net6.0 1.25μs 0.625ns 2.34ns 0.0125 0 0 920 B
master CallElasticsearchAsync netcoreapp3.1 1.62μs 0.494ns 1.91ns 0.0137 0 0 992 B
master CallElasticsearchAsync net472 2.58μs 1.88ns 7.3ns 0.161 0 0 1.02 KB
#5162 CallElasticsearch net6.0 1.22μs 0.44ns 1.59ns 0.0135 0 0 944 B
#5162 CallElasticsearch netcoreapp3.1 1.49μs 1.2ns 4.49ns 0.0128 0 0 944 B
#5162 CallElasticsearch net472 2.41μs 0.711ns 2.76ns 0.153 0 0 963 B
#5162 CallElasticsearchAsync net6.0 1.43μs 0.907ns 3.39ns 0.0129 0 0 920 B
#5162 CallElasticsearchAsync netcoreapp3.1 1.65μs 1.58ns 6.12ns 0.0133 0 0 992 B
#5162 CallElasticsearchAsync net472 2.59μs 1.36ns 5.07ns 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.32μs 0.56ns 2.17ns 0.0126 0 0 920 B
master ExecuteAsync netcoreapp3.1 1.63μs 1.24ns 4.65ns 0.0123 0 0 920 B
master ExecuteAsync net472 1.81μs 2.37ns 9.16ns 0.14 0 0 883 B
#5162 ExecuteAsync net6.0 1.25μs 0.671ns 2.6ns 0.0126 0 0 920 B
#5162 ExecuteAsync netcoreapp3.1 1.58μs 0.792ns 2.96ns 0.0127 0 0 920 B
#5162 ExecuteAsync net472 1.72μs 0.787ns 2.95ns 0.14 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.09μs 2.03ns 7.6ns 0.0307 0 0 2.1 KB
master SendAsync netcoreapp3.1 4.95μs 5.52ns 21.4ns 0.0345 0 0 2.64 KB
master SendAsync net472 7.92μs 2.12ns 8.19ns 0.523 0.00396 0 3.31 KB
#5162 SendAsync net6.0 4.09μs 1.41ns 5.26ns 0.0287 0 0 2.1 KB
#5162 SendAsync netcoreapp3.1 4.91μs 0.998ns 3.6ns 0.0345 0 0 2.64 KB
#5162 SendAsync net472 7.8μs 4.42ns 17.1ns 0.526 0 0 3.31 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #5162

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 202.02 KB 204.13 KB 2.11 KB 1.05%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 202.06 KB 203.13 KB 1.07 KB 0.53%

Fewer allocations :tada: in #5162

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 61.78 KB 59.1 KB -2.67 KB -4.33%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 61.1μs 1.64μs 16.2μs 0 0 0 43.44 KB
master StringConcatBenchmark netcoreapp3.1 58.1μs 655ns 6.28μs 0 0 0 42.64 KB
master StringConcatBenchmark net472 37.3μs 117ns 439ns 0 0 0 61.78 KB
master StringConcatAspectBenchmark net6.0 261μs 1.2μs 4.79μs 0 0 0 202.02 KB
master StringConcatAspectBenchmark netcoreapp3.1 280μs 1.51μs 9.45μs 0 0 0 202.06 KB
master StringConcatAspectBenchmark net472 235μs 3.37μs 31.8μs 0 0 0 221.18 KB
#5162 StringConcatBenchmark net6.0 51.3μs 85.1ns 295ns 0 0 0 43.44 KB
#5162 StringConcatBenchmark netcoreapp3.1 52.9μs 255ns 989ns 0 0 0 42.64 KB
#5162 StringConcatBenchmark net472 37.9μs 114ns 427ns 0 0 0 59.1 KB
#5162 StringConcatAspectBenchmark net6.0 272μs 1.49μs 9.9μs 0 0 0 204.13 KB
#5162 StringConcatAspectBenchmark netcoreapp3.1 282μs 1.52μs 8.16μs 0 0 0 203.13 KB
#5162 StringConcatAspectBenchmark net472 224μs 1.39μs 12.4μs 0 0 0 221.18 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.48μs 0.524ns 1.96ns 0.0222 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 2.32μs 2.21ns 8.28ns 0.0208 0 0 1.58 KB
master EnrichedLog net472 2.6μs 1.76ns 6.82ns 0.239 0 0 1.51 KB
#5162 EnrichedLog net6.0 1.5μs 0.89ns 3.45ns 0.0221 0 0 1.58 KB
#5162 EnrichedLog netcoreapp3.1 2.13μs 0.906ns 3.39ns 0.0213 0 0 1.58 KB
#5162 EnrichedLog net472 2.68μs 3.93ns 15.2ns 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 112μs 80.6ns 302ns 0.0561 0 0 4.22 KB
master EnrichedLog netcoreapp3.1 117μs 88.8ns 332ns 0 0 0 4.22 KB
master EnrichedLog net472 148μs 66.4ns 257ns 0.667 0.222 0 4.4 KB
#5162 EnrichedLog net6.0 113μs 90ns 349ns 0.0564 0 0 4.22 KB
#5162 EnrichedLog netcoreapp3.1 119μs 103ns 385ns 0 0 0 4.22 KB
#5162 EnrichedLog net472 148μs 59.7ns 224ns 0.665 0.222 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.9μs 1.03ns 3.99ns 0.0289 0 0 2.14 KB
master EnrichedLog netcoreapp3.1 4.14μs 0.714ns 2.58ns 0.0289 0 0 2.14 KB
master EnrichedLog net472 4.85μs 2.99ns 11.6ns 0.309 0 0 1.95 KB
#5162 EnrichedLog net6.0 3.07μs 1.14ns 4.43ns 0.0294 0 0 2.14 KB
#5162 EnrichedLog netcoreapp3.1 4.22μs 4.13ns 16ns 0.0274 0 0 2.14 KB
#5162 EnrichedLog net472 4.73μs 1.79ns 6.68ns 0.309 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.33μs 0.424ns 1.59ns 0.0154 0 0 1.11 KB
master SendReceive netcoreapp3.1 1.67μs 2.07ns 8.01ns 0.0151 0 0 1.11 KB
master SendReceive net472 2.17μs 2.49ns 9.64ns 0.178 0 0 1.12 KB
#5162 SendReceive net6.0 1.37μs 0.702ns 2.72ns 0.0151 0 0 1.11 KB
#5162 SendReceive netcoreapp3.1 1.82μs 1.71ns 6.62ns 0.0144 0 0 1.11 KB
#5162 SendReceive net472 2.11μs 0.797ns 3.09ns 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.8μs 0.67ns 2.6ns 0.0208 0 0 1.54 KB
master EnrichedLog netcoreapp3.1 3.83μs 0.81ns 3.03ns 0.021 0 0 1.58 KB
master EnrichedLog net472 4.42μs 2.65ns 10.3ns 0.311 0 0 1.97 KB
#5162 EnrichedLog net6.0 2.8μs 1.16ns 4.35ns 0.0211 0 0 1.54 KB
#5162 EnrichedLog netcoreapp3.1 3.93μs 2.75ns 10.7ns 0.0215 0 0 1.58 KB
#5162 EnrichedLog net472 4.5μs 2.02ns 7.84ns 0.313 0 0 1.97 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 503ns 0.149ns 0.577ns 0.00756 0 0 544 B
master StartFinishSpan netcoreapp3.1 717ns 0.824ns 3.19ns 0.00724 0 0 544 B
master StartFinishSpan net472 720ns 0.225ns 0.871ns 0.0866 0 0 546 B
master StartFinishScope net6.0 600ns 0.18ns 0.697ns 0.00938 0 0 664 B
master StartFinishScope netcoreapp3.1 851ns 0.713ns 2.76ns 0.00887 0 0 664 B
master StartFinishScope net472 1.03μs 0.671ns 2.6ns 0.0991 0 0 626 B
#5162 StartFinishSpan net6.0 522ns 0.0826ns 0.32ns 0.0076 0 0 544 B
#5162 StartFinishSpan netcoreapp3.1 706ns 0.723ns 2.61ns 0.00721 0 0 544 B
#5162 StartFinishSpan net472 783ns 0.527ns 2.04ns 0.0864 0 0 546 B
#5162 StartFinishScope net6.0 636ns 0.145ns 0.563ns 0.00924 0 0 664 B
#5162 StartFinishScope netcoreapp3.1 799ns 0.46ns 1.78ns 0.00885 0 0 664 B
#5162 StartFinishScope net472 943ns 0.296ns 1.14ns 0.0991 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 657ns 0.209ns 0.783ns 0.00915 0 0 664 B
master RunOnMethodBegin netcoreapp3.1 964ns 0.364ns 1.36ns 0.00902 0 0 664 B
master RunOnMethodBegin net472 1.16μs 1.18ns 4.58ns 0.0992 0 0 626 B
#5162 RunOnMethodBegin net6.0 625ns 0.157ns 0.586ns 0.00947 0 0 664 B
#5162 RunOnMethodBegin netcoreapp3.1 879ns 1.04ns 4.04ns 0.0089 0 0 664 B
#5162 RunOnMethodBegin net472 1.17μs 0.504ns 1.95ns 0.0992 0 0 626 B

andrewlock avatar Feb 08 '24 17:02 andrewlock

Datadog Report

Branch report: dudik/symdb-getargs-oor-exception Commit report: 2dc66a8 Test service: dd-trace-dotnet

:white_check_mark: 0 Failed, 336609 Passed, 2067 Skipped, 54m 8.14s Wall Time

datadog-ddstaging[bot] avatar Mar 08 '24 11:03 datadog-ddstaging[bot]

Benchmarks Report for tracer :snail:

Benchmarks for #5162 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.324
  • 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.79μs 49.1ns 307ns 0.0291 0.0125 0 7.51 KB
master StartStopWithChild netcoreapp3.1 10.8μs 61.5ns 435ns 0.0269 0.0108 0 7.6 KB
master StartStopWithChild net472 17.3μs 47.2ns 183ns 1.37 0.363 0.121 8.14 KB
#5162 StartStopWithChild net6.0 8.72μs 45.8ns 233ns 0.0211 0.00842 0 7.51 KB
#5162 StartStopWithChild netcoreapp3.1 10.7μs 56.4ns 282ns 0.0219 0.011 0 7.61 KB
#5162 StartStopWithChild net472 17.3μs 38.8ns 150ns 1.37 0.363 0.112 8.13 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 455μs 161ns 623ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 621μs 141ns 529ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 831μs 1.88μs 7.27μs 0.411 0 0 3.3 KB
#5162 WriteAndFlushEnrichedTraces net6.0 467μs 79.9ns 288ns 0 0 0 2.7 KB
#5162 WriteAndFlushEnrichedTraces netcoreapp3.1 606μs 981ns 3.54μs 0 0 0 2.7 KB
#5162 WriteAndFlushEnrichedTraces net472 808μs 223ns 836ns 0.401 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 171μs 186ns 721ns 0.172 0 0 18.33 KB
master SendRequest netcoreapp3.1 193μs 349ns 1.35μs 0.193 0 0 20.5 KB
master SendRequest net472 0.00103ns 0.000304ns 0.00114ns 0 0 0 0 b
#5162 SendRequest net6.0 170μs 156ns 585ns 0.172 0 0 18.33 KB
#5162 SendRequest netcoreapp3.1 191μs 348ns 1.35μs 0.191 0 0 20.49 KB
#5162 SendRequest net472 0.000929ns 0.000372ns 0.00144ns 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 535μs 293ns 1.1μs 0.534 0 0 41.51 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 650μs 867ns 3.36μs 0.326 0 0 41.69 KB
master WriteAndFlushEnrichedTraces net472 859μs 3.13μs 11.7μs 8.08 2.55 0.425 53.24 KB
#5162 WriteAndFlushEnrichedTraces net6.0 559μs 283ns 1.1μs 0.561 0 0 41.5 KB
#5162 WriteAndFlushEnrichedTraces netcoreapp3.1 658μs 1.04μs 4.02μs 0.329 0 0 41.64 KB
#5162 WriteAndFlushEnrichedTraces net472 855μs 4μs 15.5μs 8.13 2.57 0.428 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.11μs 0.431ns 1.67ns 0.0106 0 0 784 B
master ExecuteNonQuery netcoreapp3.1 1.55μs 1.42ns 5.52ns 0.0103 0 0 784 B
master ExecuteNonQuery net472 1.79μs 0.56ns 2.1ns 0.118 0 0 746 B
#5162 ExecuteNonQuery net6.0 1.15μs 0.789ns 2.73ns 0.0109 0 0 784 B
#5162 ExecuteNonQuery netcoreapp3.1 1.52μs 0.508ns 1.97ns 0.0107 0 0 784 B
#5162 ExecuteNonQuery net472 1.86μs 0.539ns 2.09ns 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.21μs 0.341ns 1.28ns 0.0139 0 0 1.01 KB
master CallElasticsearch netcoreapp3.1 1.61μs 0.873ns 3.38ns 0.0135 0 0 1.01 KB
master CallElasticsearch net472 2.54μs 1.53ns 5.73ns 0.161 0 0 1.02 KB
master CallElasticsearchAsync net6.0 1.36μs 1.02ns 3.83ns 0.0137 0 0 984 B
master CallElasticsearchAsync netcoreapp3.1 1.72μs 0.648ns 2.42ns 0.0137 0 0 1.06 KB
master CallElasticsearchAsync net472 2.6μs 1.6ns 6.2ns 0.17 0 0 1.08 KB
#5162 CallElasticsearch net6.0 1.24μs 0.565ns 2.11ns 0.0142 0 0 1.01 KB
#5162 CallElasticsearch netcoreapp3.1 1.61μs 0.723ns 2.7ns 0.0137 0 0 1.01 KB
#5162 CallElasticsearch net472 2.56μs 1.14ns 4.28ns 0.162 0 0 1.02 KB
#5162 CallElasticsearchAsync net6.0 1.33μs 0.845ns 3.16ns 0.0141 0 0 984 B
#5162 CallElasticsearchAsync netcoreapp3.1 1.72μs 0.576ns 2.16ns 0.0138 0 0 1.06 KB
#5162 CallElasticsearchAsync net472 2.59μs 2.42ns 8.72ns 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.3μs 0.782ns 2.93ns 0.013 0 0 928 B
master ExecuteAsync netcoreapp3.1 1.83μs 1.05ns 4.05ns 0.0127 0 0 928 B
master ExecuteAsync net472 1.94μs 0.896ns 3.47ns 0.141 0.000971 0 891 B
#5162 ExecuteAsync net6.0 1.27μs 1.58ns 5.91ns 0.0126 0 0 928 B
#5162 ExecuteAsync netcoreapp3.1 1.7μs 0.722ns 2.6ns 0.012 0 0 928 B
#5162 ExecuteAsync net472 1.93μs 0.793ns 3.07ns 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.17μs 2.51ns 9.71ns 0.0292 0 0 2.16 KB
master SendAsync netcoreapp3.1 5.03μs 1.87ns 7ns 0.0353 0 0 2.7 KB
master SendAsync net472 7.75μs 2.17ns 7.81ns 0.534 0 0 3.38 KB
#5162 SendAsync net6.0 4.18μs 1.08ns 4.06ns 0.0292 0 0 2.16 KB
#5162 SendAsync netcoreapp3.1 5.05μs 1.48ns 5.32ns 0.0354 0 0 2.7 KB
#5162 SendAsync net472 7.87μs 2.02ns 7.57ns 0.534 0 0 3.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.46μs 0.528ns 1.98ns 0.0227 0 0 1.65 KB
master EnrichedLog netcoreapp3.1 2.37μs 2.65ns 10.3ns 0.0221 0 0 1.65 KB
master EnrichedLog net472 2.57μs 1.3ns 4.88ns 0.249 0 0 1.57 KB
#5162 EnrichedLog net6.0 1.47μs 1.27ns 4.76ns 0.0235 0 0 1.65 KB
#5162 EnrichedLog netcoreapp3.1 2.3μs 1.2ns 4.47ns 0.0217 0 0 1.65 KB
#5162 EnrichedLog net472 2.77μs 1.29ns 4.84ns 0.249 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 132ns 511ns 0.0565 0 0 4.23 KB
master EnrichedLog netcoreapp3.1 118μs 167ns 647ns 0.0599 0 0 4.23 KB
master EnrichedLog net472 147μs 71.1ns 275ns 0.658 0.219 0 4.41 KB
#5162 EnrichedLog net6.0 113μs 168ns 651ns 0.0567 0 0 4.23 KB
#5162 EnrichedLog netcoreapp3.1 119μs 168ns 649ns 0 0 0 4.23 KB
#5162 EnrichedLog net472 147μs 107ns 415ns 0.658 0.219 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.11μs 0.773ns 2.79ns 0.0311 0 0 2.21 KB
master EnrichedLog netcoreapp3.1 4.35μs 2.47ns 9.56ns 0.0284 0 0 2.21 KB
master EnrichedLog net472 4.86μs 1.35ns 5.23ns 0.321 0 0 2.02 KB
#5162 EnrichedLog net6.0 2.92μs 1.03ns 3.87ns 0.0306 0 0 2.21 KB
#5162 EnrichedLog netcoreapp3.1 4.15μs 1.24ns 4.64ns 0.0311 0 0 2.21 KB
#5162 EnrichedLog net472 4.98μs 1.16ns 4.48ns 0.321 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.32μs 0.526ns 1.97ns 0.0165 0 0 1.18 KB
master SendReceive netcoreapp3.1 1.8μs 0.889ns 3.32ns 0.0163 0 0 1.18 KB
master SendReceive net472 2.27μs 1.91ns 7.4ns 0.187 0.00115 0 1.18 KB
#5162 SendReceive net6.0 1.43μs 0.857ns 3.32ns 0.0164 0 0 1.18 KB
#5162 SendReceive netcoreapp3.1 1.87μs 0.897ns 3.47ns 0.0158 0 0 1.18 KB
#5162 SendReceive net472 2.26μs 1.03ns 4.01ns 0.186 0.00112 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.72μs 0.75ns 2.7ns 0.0217 0 0 1.55 KB
master EnrichedLog netcoreapp3.1 3.89μs 2.2ns 7.95ns 0.0214 0 0 1.6 KB
master EnrichedLog net472 4.59μs 2.31ns 8.64ns 0.316 0 0 1.99 KB
#5162 EnrichedLog net6.0 2.6μs 1.71ns 6.61ns 0.021 0 0 1.55 KB
#5162 EnrichedLog netcoreapp3.1 4.03μs 2.4ns 9ns 0.022 0 0 1.6 KB
#5162 EnrichedLog net472 4.26μs 3.5ns 13.6ns 0.315 0 0 1.99 KB
Benchmarks.Trace.SpanBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #5162

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net6.0 1.324 451.10 597.04

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 450ns 0.624ns 2.42ns 0.00763 0 0 552 B
master StartFinishSpan netcoreapp3.1 638ns 2.16ns 8.36ns 0.00748 0 0 552 B
master StartFinishSpan net472 713ns 0.996ns 3.86ns 0.0877 0 0 554 B
master StartFinishScope net6.0 559ns 0.441ns 1.65ns 0.00953 0 0 672 B
master StartFinishScope netcoreapp3.1 807ns 1.25ns 4.85ns 0.00922 0 0 672 B
master StartFinishScope net472 984ns 1.08ns 4.18ns 0.101 0 0 634 B
#5162 StartFinishSpan net6.0 598ns 1.26ns 4.89ns 0.0078 0 0 552 B
#5162 StartFinishSpan netcoreapp3.1 700ns 0.91ns 3.41ns 0.0077 0 0 552 B
#5162 StartFinishSpan net472 787ns 1.49ns 5.76ns 0.0879 0 0 554 B
#5162 StartFinishScope net6.0 615ns 0.793ns 3.07ns 0.00957 0 0 672 B
#5162 StartFinishScope netcoreapp3.1 846ns 1.06ns 3.84ns 0.00896 0 0 672 B
#5162 StartFinishScope net472 1.02μs 2ns 7.74ns 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 662ns 1.17ns 4.54ns 0.00933 0 0 672 B
master RunOnMethodBegin netcoreapp3.1 923ns 0.894ns 3.46ns 0.0092 0 0 672 B
master RunOnMethodBegin net472 1.11μs 1.68ns 6.07ns 0.101 0 0 634 B
#5162 RunOnMethodBegin net6.0 607ns 0.771ns 2.99ns 0.00938 0 0 672 B
#5162 RunOnMethodBegin netcoreapp3.1 974ns 1.81ns 7.01ns 0.00914 0 0 672 B
#5162 RunOnMethodBegin net472 1.09μs 1.98ns 7.66ns 0.1 0 0 634 B

andrewlock avatar Mar 19 '24 13:03 andrewlock