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

Kevin/testcontainers

Open kevingosse opened this issue 2 years ago • 4 comments

Summary of changes

Reason for change

Implementation details

Test coverage

Other details

kevingosse avatar Dec 08 '23 11:12 kevingosse

Datadog Report

Branch report: kevin/testcontainers Commit report: 53246fc

:x: dd-trace-dotnet: 1768 Failed (12 Known Flaky), 0 New Flaky, 13311 Passed, 608 Skipped, 30m 33.39s Wall Time

:x: Failed Tests (1768)

This report shows up to 5 failed tests.

  • SubmitsTracesV0 - Datadog.Trace.ClrProfiler.IntegrationTests.AdoNet.DapperTests - Details

    Expand for error
    ocker is either not running or misconfigured. Please ensure that Docker is running and that the endpoint is properly configured. You can customize your configuration using either the environment variables or the ~/.testcontainers.properties file. For more information, visit:
    ttps://dotnet.testcontainers.org/custom_configuration/ (Parameter 'DockerEndpointAuthConfig')
    
  • SubmitsTracesV0 - Datadog.Trace.ClrProfiler.IntegrationTests.AdoNet.DapperTests - Details

    Expand for error
    ocker is either not running or misconfigured. Please ensure that Docker is running and that the endpoint is properly configured. You can customize your configuration using either the environment variables or the ~/.testcontainers.properties file. For more information, visit:
    ttps://dotnet.testcontainers.org/custom_configuration/ (Parameter 'DockerEndpointAuthConfig')
    
  • SubmitsTracesV0 - Datadog.Trace.ClrProfiler.IntegrationTests.AdoNet.DapperTests - Details

    Expand for error
    ocker is either not running or misconfigured. Please ensure that Docker is running and that the endpoint is properly configured. You can customize your configuration using either the environment variables or the ~/.testcontainers.properties file. For more information, visit:
    ttps://dotnet.testcontainers.org/custom_configuration/ (Parameter 'DockerEndpointAuthConfig')
    
  • SubmitsTracesV0 - Datadog.Trace.ClrProfiler.IntegrationTests.AdoNet.DapperTests - Details

    Expand for error
    ocker is either not running or misconfigured. Please ensure that Docker is running and that the endpoint is properly configured. You can customize your configuration using either the environment variables or the ~/.testcontainers.properties file. For more information, visit:
    ttps://dotnet.testcontainers.org/custom_configuration/ (Parameter 'DockerEndpointAuthConfig')
    
  • SubmitsTracesV0 - Datadog.Trace.ClrProfiler.IntegrationTests.AdoNet.DapperTests - Details

    Expand for error
    ocker is either not running or misconfigured. Please ensure that Docker is running and that the endpoint is properly configured. You can customize your configuration using either the environment variables or the ~/.testcontainers.properties file. For more information, visit:
    ttps://dotnet.testcontainers.org/custom_configuration/ (Parameter 'DockerEndpointAuthConfig')
    

datadog-ddstaging[bot] avatar Dec 08 '23 11:12 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 (4963) - mean (70ms)  : 62, 77
     .   : milestone, 70,
    master - mean (70ms)  : 63, 76
     .   : milestone, 70,

    section CallTarget+Inlining+NGEN
    This PR (4963) - mean (1,004ms)  : 980, 1027
     .   : milestone, 1004,
    master - mean (996ms)  : 973, 1019
     .   : milestone, 996,

gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (4963) - mean (105ms)  : 102, 109
     .   : milestone, 105,
    master - mean (105ms)  : 101, 109
     .   : milestone, 105,

    section CallTarget+Inlining+NGEN
    This PR (4963) - mean (692ms)  : 675, 709
     .   : milestone, 692,
    master - mean (688ms)  : 669, 706
     .   : milestone, 688,

gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (4963) - mean (90ms)  : 87, 93
     .   : milestone, 90,
    master - mean (90ms)  : 86, 94
     .   : milestone, 90,

    section CallTarget+Inlining+NGEN
    This PR (4963) - mean (658ms)  : 635, 680
     .   : milestone, 658,
    master - mean (662ms)  : 638, 687
     .   : milestone, 662,

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

    section CallTarget+Inlining+NGEN
    This PR (4963) - mean (1,138ms)  : 1114, 1161
     .   : milestone, 1138,
    master - mean (1,135ms)  : 1116, 1155
     .   : milestone, 1135,

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

    section CallTarget+Inlining+NGEN
    This PR (4963) - mean (1,097ms)  : 1074, 1120
     .   : milestone, 1097,
    master - mean (1,095ms)  : 1066, 1123
     .   : milestone, 1095,

gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (4963) - mean (262ms)  : 259, 266
     .   : milestone, 262,
    master - mean (262ms)  : 258, 267
     .   : milestone, 262,

    section CallTarget+Inlining+NGEN
    This PR (4963) - mean (1,065ms)  : 1038, 1091
     .   : milestone, 1065,
    master - mean (1,063ms)  : 1036, 1091
     .   : milestone, 1063,

andrewlock avatar Dec 08 '23 11:12 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 (4963) (10.698M)   : 0, 10697534
    master (11.360M)   : 0, 11359941
    benchmarks/2.9.0 (11.048M)   : 0, 11047631

    section Automatic
    This PR (4963) (7.380M)   : 0, 7380194
    master (7.633M)   : 0, 7633492
    benchmarks/2.9.0 (8.248M)   : 0, 8248107

    section Trace stats
    This PR (4963) (7.627M)   : crit ,0, 7627444
    master (8.166M)   : 0, 8166430

    section Manual
    This PR (4963) (9.471M)   : 0, 9470987
    master (9.870M)   : 0, 9869728

    section Manual + Automatic
    This PR (4963) (6.970M)   : crit ,0, 6969742
    master (7.459M)   : 0, 7459102

    section Version Conflict
    This PR (4963) (6.306M)   : crit ,0, 6305694
    master (6.776M)   : 0, 6776055

gantt
    title Throughput Linux arm64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (4963) (9.550M)   : 0, 9550009
    master (9.510M)   : 0, 9509679
    benchmarks/2.9.0 (9.319M)   : 0, 9319482

    section Automatic
    This PR (4963) (6.635M)   : 0, 6634742
    master (6.567M)   : 0, 6566691

    section Trace stats
    This PR (4963) (6.920M)   : 0, 6920464
    master (6.783M)   : 0, 6782573

    section Manual
    This PR (4963) (8.465M)   : 0, 8464766
    master (8.119M)   : 0, 8118973

    section Manual + Automatic
    This PR (4963) (6.174M)   : 0, 6174303
    master (6.221M)   : 0, 6220992

    section Version Conflict
    This PR (4963) (5.635M)   : 0, 5635035
    master (5.585M)   : 0, 5585131

gantt
    title Throughput Windows x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (4963) (10.910M)   : 0, 10909519
    master (10.677M)   : 0, 10677212
    benchmarks/2.9.0 (11.148M)   : 0, 11148340

    section Automatic
    This PR (4963) (7.654M)   : 0, 7654261
    master (7.461M)   : 0, 7460785
    benchmarks/2.9.0 (8.108M)   : 0, 8107998

    section Trace stats
    This PR (4963) (8.022M)   : 0, 8021863
    master (7.796M)   : 0, 7796115

    section Manual
    This PR (4963) (9.585M)   : 0, 9585045
    master (9.485M)   : 0, 9485443

    section Manual + Automatic
    This PR (4963) (7.264M)   : 0, 7264171
    master (7.290M)   : 0, 7289596

    section Version Conflict
    This PR (4963) (6.607M)   : 0, 6606656
    master (6.426M)   : 0, 6426213

gantt
    title Throughput Linux x64 (ASM) (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    master (7.390M)   : 0, 7389877
    benchmarks/2.9.0 (7.777M)   : 0, 7777054

    section No attack
    master (1.996M)   : 0, 1995533
    benchmarks/2.9.0 (3.248M)   : 0, 3248108

    section Attack
    master (1.580M)   : 0, 1580330
    benchmarks/2.9.0 (2.560M)   : 0, 2560482

    section Blocking
    master (3.312M)   : 0, 3312124

    section IAST default
    master (6.591M)   : 0, 6591111

    section IAST full
    master (5.817M)   : 0, 5816849

    section Base vuln
    master (0.955M)   : 0, 954667

    section IAST vuln
    master (0.892M)   : 0, 891827

andrewlock avatar Dec 08 '23 13:12 andrewlock

Benchmarks Report :snail:

Benchmarks for #4963 compared to master:

  • 3 benchmarks are faster, with geometric mean 1.270
  • 2 benchmarks are slower, with geometric mean 1.308
  • 1 benchmarks have fewer allocations
  • 1 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.65μs 46.7ns 260ns 0.0255 0.00849 0 7.48 KB
master StartStopWithChild netcoreapp3.1 10.8μs 58.7ns 311ns 0.0265 0.0106 0 7.57 KB
master StartStopWithChild net472 17μs 58.1ns 225ns 1.33 0.34 0.102 7.96 KB
#4963 StartStopWithChild net6.0 8.57μs 47.3ns 295ns 0.0169 0.00845 0 7.48 KB
#4963 StartStopWithChild netcoreapp3.1 10.8μs 58.2ns 339ns 0.0352 0.0151 0.00503 7.58 KB
#4963 StartStopWithChild net472 16.9μs 32.2ns 111ns 1.36 0.375 0.128 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 472μs 137ns 495ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 623μs 183ns 686ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 787μs 430ns 1.61μs 0.391 0 0 3.3 KB
#4963 WriteAndFlushEnrichedTraces net6.0 488μs 409ns 1.58μs 0 0 0 2.7 KB
#4963 WriteAndFlushEnrichedTraces netcoreapp3.1 637μs 127ns 474ns 0 0 0 2.7 KB
#4963 WriteAndFlushEnrichedTraces net472 774μs 361ns 1.3μs 0.408 0 0 3.3 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 43.2μs 20.2ns 78.4ns 0.0219 0 0 1.77 KB
master AllCycleSimpleBody netcoreapp3.1 47.2μs 75.5ns 292ns 0 0 0 1.74 KB
master AllCycleSimpleBody net472 50.9μs 60.5ns 234ns 0.278 0 0 1.81 KB
master AllCycleMoreComplexBody net6.0 212μs 52.3ns 189ns 0.108 0 0 9.25 KB
master AllCycleMoreComplexBody netcoreapp3.1 224μs 313ns 1.21μs 0.111 0 0 9.14 KB
master AllCycleMoreComplexBody net472 238μs 116ns 451ns 1.43 0 0 9.32 KB
master ObjectExtractorSimpleBody net6.0 130ns 0.13ns 0.503ns 0.00396 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 180ns 0.0909ns 0.352ns 0.00372 0 0 272 B
master ObjectExtractorSimpleBody net472 151ns 0.0817ns 0.316ns 0.0446 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 2.81μs 3.77ns 17.7ns 0.0534 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 3.7μs 1.05ns 3.94ns 0.05 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 3.47μs 1.59ns 6.18ns 0.602 0.00509 0 3.8 KB
#4963 AllCycleSimpleBody net6.0 43.1μs 23.4ns 87.6ns 0.0215 0 0 1.77 KB
#4963 AllCycleSimpleBody netcoreapp3.1 48.6μs 192ns 745ns 0.0236 0 0 1.74 KB
#4963 AllCycleSimpleBody net472 48.8μs 16.1ns 62.3ns 0.288 0 0 1.81 KB
#4963 AllCycleMoreComplexBody net6.0 213μs 113ns 436ns 0.106 0 0 9.25 KB
#4963 AllCycleMoreComplexBody netcoreapp3.1 225μs 70.7ns 265ns 0.113 0 0 9.14 KB
#4963 AllCycleMoreComplexBody net472 239μs 666ns 2.58μs 1.42 0 0 9.32 KB
#4963 ObjectExtractorSimpleBody net6.0 133ns 0.0177ns 0.0662ns 0.00391 0 0 280 B
#4963 ObjectExtractorSimpleBody netcoreapp3.1 182ns 0.293ns 1.14ns 0.00373 0 0 272 B
#4963 ObjectExtractorSimpleBody net472 152ns 0.158ns 0.61ns 0.0446 0 0 281 B
#4963 ObjectExtractorMoreComplexBody net6.0 2.82μs 1.11ns 4.14ns 0.0537 0 0 3.78 KB
#4963 ObjectExtractorMoreComplexBody netcoreapp3.1 3.6μs 0.986ns 3.55ns 0.0485 0 0 3.69 KB
#4963 ObjectExtractorMoreComplexBody net472 3.42μs 0.85ns 3.29ns 0.602 0.00514 0 3.8 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #4963

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWaf(args: NestedMap (10))‑net6.0 1.115 57,248.85 51,356.79

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWaf(args=NestedMap (10)) net6.0 57.3μs 75.3ns 292ns 0.226 0 0 16.06 KB
master RunWaf(args=NestedMap (10)) netcoreapp3.1 71.6μs 373ns 1.75μs 0.218 0 0 16.06 KB
master RunWaf(args=NestedMap (10)) net472 99.1μs 33.4ns 125ns 2.55 0.0946 0 16.14 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) net6.0 118μs 671ns 5.11μs 0.303 0 0 22.41 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) netcoreapp3.1 138μs 748ns 4.42μs 0.269 0 0 22.36 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) net472 167μs 189ns 733ns 3.59 0.167 0 22.7 KB
master RunWaf(args=NestedMap (100)) net6.0 103μs 151ns 584ns 0.467 0 0 32.76 KB
master RunWaf(args=NestedMap (100)) netcoreapp3.1 131μs 701ns 3.71μs 0.446 0 0 33.33 KB
master RunWaf(args=NestedMap (100)) net472 183μs 80.4ns 311ns 5.28 0.364 0 33.67 KB
master RunWafWithAttack(args=Neste(...)tack) [23]) net6.0 163μs 41.6ns 161ns 0.523 0 0 39.1 KB
master RunWafWithAttack(args=Neste(...)tack) [23]) netcoreapp3.1 207μs 981ns 4.05μs 0.502 0 0 39.63 KB
master RunWafWithAttack(args=Neste(...)tack) [23]) net472 262μs 314ns 1.22μs 6.39 0.522 0 40.23 KB
master RunWaf(args=NestedMap (20)) net6.0 104μs 32.4ns 121ns 0.423 0 0 32.18 KB
master RunWaf(args=NestedMap (20)) netcoreapp3.1 128μs 360ns 1.39μs 0.38 0 0 32.3 KB
master RunWaf(args=NestedMap (20)) net472 182μs 349ns 1.26μs 5.16 0.362 0 32.63 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) net6.0 170μs 635ns 2.46μs 0.481 0 0 38.53 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) netcoreapp3.1 204μs 1.06μs 4.86μs 0.498 0 0 38.6 KB
master RunWafWithAttack(args=Neste(...)tack) [22]) net472 268μs 633ns 2.45μs 6.22 0.519 0 39.2 KB
#4963 RunWaf(args=NestedMap (10)) net6.0 51.4μs 20.2ns 75.6ns 0.214 0 0 16.06 KB
#4963 RunWaf(args=NestedMap (10)) netcoreapp3.1 68.3μs 388ns 2.77μs 0.192 0 0 16.06 KB
#4963 RunWaf(args=NestedMap (10)) net472 95.8μs 59.9ns 208ns 2.56 0.0948 0 16.14 KB
#4963 RunWafWithAttack(args=Neste(...)tack) [22]) net6.0 116μs 173ns 600ns 0.304 0 0 22.41 KB
#4963 RunWafWithAttack(args=Neste(...)tack) [22]) netcoreapp3.1 141μs 173ns 669ns 0.268 0 0 22.36 KB
#4963 RunWafWithAttack(args=Neste(...)tack) [22]) net472 176μs 145ns 563ns 3.53 0.168 0 22.7 KB
#4963 RunWaf(args=NestedMap (100)) net6.0 103μs 577ns 3.69μs 0.477 0 0 32.76 KB
#4963 RunWaf(args=NestedMap (100)) netcoreapp3.1 134μs 707ns 3.94μs 0.438 0 0 33.33 KB
#4963 RunWaf(args=NestedMap (100)) net472 189μs 851ns 3.3μs 5.32 0.367 0 33.67 KB
#4963 RunWafWithAttack(args=Neste(...)tack) [23]) net6.0 164μs 84.9ns 318ns 0.572 0 0 39.1 KB
#4963 RunWafWithAttack(args=Neste(...)tack) [23]) netcoreapp3.1 207μs 510ns 1.98μs 0.526 0 0 39.63 KB
#4963 RunWafWithAttack(args=Neste(...)tack) [23]) net472 259μs 193ns 746ns 6.29 0.524 0 40.23 KB
#4963 RunWaf(args=NestedMap (20)) net6.0 107μs 34.4ns 133ns 0.427 0 0 32.18 KB
#4963 RunWaf(args=NestedMap (20)) netcoreapp3.1 133μs 424ns 1.58μs 0.383 0 0 32.3 KB
#4963 RunWaf(args=NestedMap (20)) net472 186μs 86.8ns 325ns 5.19 0.37 0 32.63 KB
#4963 RunWafWithAttack(args=Neste(...)tack) [22]) net6.0 170μs 583ns 2.02μs 0.544 0 0 38.53 KB
#4963 RunWafWithAttack(args=Neste(...)tack) [22]) netcoreapp3.1 214μs 960ns 3.72μs 0.517 0 0 38.6 KB
#4963 RunWafWithAttack(args=Neste(...)tack) [22]) net472 263μs 62.2ns 224ns 6.16 0.524 0 39.2 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 183ns 685ns 0.171 0 0 18.25 KB
master SendRequest netcoreapp3.1 194μs 261ns 1.01μs 0.193 0 0 20.41 KB
master SendRequest net472 0.000186ns 9.04E‑05ns 0.00035ns 0 0 0 0 b
#4963 SendRequest net6.0 170μs 114ns 442ns 0.255 0 0 18.25 KB
#4963 SendRequest netcoreapp3.1 193μs 318ns 1.23μs 0.192 0 0 20.41 KB
#4963 SendRequest net472 5.99E‑05ns 5.99E‑05ns 0.000232ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #4963

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.42 KB 41.98 KB 556 B 1.34%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 559μs 1.07μs 4.14μs 0.558 0 0 41.42 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 670μs 1.41μs 5.47μs 0.334 0 0 41.78 KB
master WriteAndFlushEnrichedTraces net472 843μs 3.92μs 15.2μs 8.33 2.5 0.417 53.23 KB
#4963 WriteAndFlushEnrichedTraces net6.0 570μs 3.06μs 16.5μs 0.561 0 0 41.98 KB
#4963 WriteAndFlushEnrichedTraces netcoreapp3.1 658μs 1.17μs 4.54μs 0.327 0 0 41.71 KB
#4963 WriteAndFlushEnrichedTraces net472 826μs 3.58μs 13.9μs 8.17 2.45 0.408 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.16μs 1.22ns 4.55ns 0.0104 0 0 768 B
master ExecuteNonQuery netcoreapp3.1 1.47μs 0.456ns 1.7ns 0.0103 0 0 768 B
master ExecuteNonQuery net472 1.7μs 1.19ns 4.13ns 0.116 0 0 730 B
#4963 ExecuteNonQuery net6.0 1.13μs 0.663ns 2.57ns 0.0107 0 0 768 B
#4963 ExecuteNonQuery netcoreapp3.1 1.49μs 0.469ns 1.75ns 0.0103 0 0 768 B
#4963 ExecuteNonQuery net472 1.8μs 1.06ns 3.82ns 0.116 0 0 730 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.26μs 0.758ns 2.84ns 0.0132 0 0 936 B
master CallElasticsearch netcoreapp3.1 1.56μs 0.421ns 1.52ns 0.0126 0 0 936 B
master CallElasticsearch net472 2.57μs 1.07ns 4.01ns 0.151 0.00128 0 955 B
master CallElasticsearchAsync net6.0 1.24μs 0.377ns 1.36ns 0.0124 0 0 912 B
master CallElasticsearchAsync netcoreapp3.1 1.54μs 0.842ns 3.26ns 0.0132 0 0 984 B
master CallElasticsearchAsync net472 2.69μs 0.782ns 3.03ns 0.16 0 0 1.01 KB
#4963 CallElasticsearch net6.0 1.24μs 1.03ns 3.84ns 0.0131 0 0 936 B
#4963 CallElasticsearch netcoreapp3.1 1.46μs 0.972ns 3.64ns 0.0125 0 0 936 B
#4963 CallElasticsearch net472 2.49μs 0.339ns 1.22ns 0.152 0 0 955 B
#4963 CallElasticsearchAsync net6.0 1.37μs 0.872ns 3.26ns 0.0124 0 0 912 B
#4963 CallElasticsearchAsync netcoreapp3.1 1.7μs 0.664ns 2.57ns 0.0136 0 0 984 B
#4963 CallElasticsearchAsync net472 2.71μs 1.39ns 5.39ns 0.16 0 0 1.01 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.27μs 0.936ns 3.5ns 0.0124 0 0 912 B
master ExecuteAsync netcoreapp3.1 1.58μs 2.02ns 7.84ns 0.012 0 0 912 B
master ExecuteAsync net472 1.85μs 1.44ns 5.59ns 0.138 0 0 875 B
#4963 ExecuteAsync net6.0 1.31μs 1.24ns 4.63ns 0.0126 0 0 912 B
#4963 ExecuteAsync netcoreapp3.1 1.6μs 4.37ns 16.9ns 0.0119 0 0 912 B
#4963 ExecuteAsync net472 1.71μs 1.34ns 5.2ns 0.139 0 0 875 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.08μs 2.15ns 8.05ns 0.0285 0 0 2.1 KB
master SendAsync netcoreapp3.1 5.08μs 1.19ns 4.61ns 0.0355 0 0 2.63 KB
master SendAsync net472 7.8μs 3.76ns 14.6ns 0.522 0 0 3.31 KB
#4963 SendAsync net6.0 4.22μs 1.2ns 4.63ns 0.0296 0 0 2.1 KB
#4963 SendAsync netcoreapp3.1 4.88μs 1.72ns 5.96ns 0.0339 0 0 2.63 KB
#4963 SendAsync net472 7.89μs 7.02ns 26.3ns 0.525 0 0 3.31 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Slower :warning: Fewer allocations :tada:

Slower :warning: in #4963

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark(parameters: System.Collections.Generic.List`1[System.String])‑netcoreapp3.1 1.445 71,750.00 103,700.00 bimodal

Faster :tada: in #4963

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark(parameters: System.Collections.Generic.List`1[System.String])‑net6.0 1.618 107,300.00 66,300.00 multimodal

Fewer allocations :tada: in #4963

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark(parameters: System.Collections.Generic.List`1[System.String])‑net472 59.7 KB 57.78 KB -1.91 KB -3.20%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark(parameters=Syste(...)ring] [48]) net6.0 59.9μs 720ns 7.17μs 0 0 0 43.44 KB
master StringConcatBenchmark(parameters=Syste(...)ring] [48]) netcoreapp3.1 53.5μs 248ns 993ns 0 0 0 42.64 KB
master StringConcatBenchmark(parameters=Syste(...)ring] [48]) net472 38.3μs 70.4ns 254ns 0 0 0 59.7 KB
master StringConcatAspectBenchmark(parameters=Syste(...)ring] [48]) net6.0 107μs 2.49μs 24.9μs 0 0 0 43.29 KB
master StringConcatAspectBenchmark(parameters=Syste(...)ring] [48]) netcoreapp3.1 71.9μs 365ns 1.63μs 0 0 0 42.64 KB
master StringConcatAspectBenchmark(parameters=Syste(...)ring] [48]) net472 63.7μs 325ns 1.56μs 0 0 0 57.34 KB
#4963 StringConcatBenchmark(parameters=Syste(...)ring] [48]) net6.0 63.6μs 767ns 7.59μs 0 0 0 43.44 KB
#4963 StringConcatBenchmark(parameters=Syste(...)ring] [48]) netcoreapp3.1 54.6μs 298ns 1.74μs 0 0 0 42.64 KB
#4963 StringConcatBenchmark(parameters=Syste(...)ring] [48]) net472 38.8μs 201ns 943ns 0 0 0 57.78 KB
#4963 StringConcatAspectBenchmark(parameters=Syste(...)ring] [48]) net6.0 66.4μs 335ns 1.54μs 0 0 0 43.29 KB
#4963 StringConcatAspectBenchmark(parameters=Syste(...)ring] [48]) netcoreapp3.1 109μs 3.16μs 31.4μs 0 0 0 42.64 KB
#4963 StringConcatAspectBenchmark(parameters=Syste(...)ring] [48]) net472 64.9μs 274ns 1.34μs 0 0 0 57.34 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.58μs 0.749ns 2.8ns 0.0221 0 0 1.57 KB
master EnrichedLog netcoreapp3.1 2.35μs 0.803ns 3.11ns 0.021 0 0 1.57 KB
master EnrichedLog net472 2.76μs 4.37ns 16.9ns 0.237 0 0 1.5 KB
#4963 EnrichedLog net6.0 1.45μs 0.783ns 2.93ns 0.0223 0 0 1.57 KB
#4963 EnrichedLog netcoreapp3.1 2.17μs 3.6ns 13.5ns 0.0215 0 0 1.57 KB
#4963 EnrichedLog net472 2.69μs 3.69ns 13.8ns 0.237 0 0 1.5 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 75ns 291ns 0.0557 0 0 4.21 KB
master EnrichedLog netcoreapp3.1 118μs 114ns 426ns 0 0 0 4.21 KB
master EnrichedLog net472 149μs 71.9ns 279ns 0.672 0.224 0 4.39 KB
#4963 EnrichedLog net6.0 111μs 215ns 835ns 0.0552 0 0 4.21 KB
#4963 EnrichedLog netcoreapp3.1 117μs 202ns 782ns 0 0 0 4.21 KB
#4963 EnrichedLog net472 147μs 142ns 549ns 0.664 0.221 0 4.39 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 3.13μs 0.898ns 3.48ns 0.0297 0 0 2.13 KB
master EnrichedLog netcoreapp3.1 4.09μs 1.78ns 6.9ns 0.0287 0 0 2.13 KB
master EnrichedLog net472 4.91μs 3.3ns 12.3ns 0.308 0 0 1.95 KB
#4963 EnrichedLog net6.0 2.99μs 1.05ns 4.06ns 0.0288 0 0 2.13 KB
#4963 EnrichedLog netcoreapp3.1 4.15μs 1.22ns 4.58ns 0.0294 0 0 2.13 KB
#4963 EnrichedLog net472 4.94μs 7.27ns 28.1ns 0.308 0 0 1.95 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 1.45μs 1.15ns 4.47ns 0.0153 0 0 1.1 KB
master SendReceive netcoreapp3.1 1.78μs 0.758ns 2.94ns 0.0146 0 0 1.1 KB
master SendReceive net472 2.15μs 1.83ns 7.09ns 0.177 0 0 1.12 KB
#4963 SendReceive net6.0 1.4μs 0.733ns 2.74ns 0.0154 0 0 1.1 KB
#4963 SendReceive netcoreapp3.1 1.86μs 0.843ns 3.15ns 0.0149 0 0 1.1 KB
#4963 SendReceive net472 2.19μs 1.21ns 4.37ns 0.177 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.64μs 0.633ns 2.37ns 0.0212 0 0 1.53 KB
master EnrichedLog netcoreapp3.1 4μs 2.09ns 8.09ns 0.0201 0 0 1.58 KB
master EnrichedLog net472 4.37μs 1.83ns 7.07ns 0.31 0 0 1.97 KB
#4963 EnrichedLog net6.0 2.67μs 1.03ns 4ns 0.0213 0 0 1.53 KB
#4963 EnrichedLog netcoreapp3.1 4.03μs 7.06ns 26.4ns 0.0218 0 0 1.58 KB
#4963 EnrichedLog net472 4.28μs 1.97ns 7.63ns 0.311 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 562ns 0.649ns 2.52ns 0.00758 0 0 536 B
master StartFinishSpan netcoreapp3.1 716ns 0.171ns 0.661ns 0.00726 0 0 536 B
master StartFinishSpan net472 789ns 0.316ns 1.22ns 0.0854 0 0 538 B
master StartFinishScope net6.0 557ns 0.216ns 0.807ns 0.00916 0 0 656 B
master StartFinishScope netcoreapp3.1 843ns 0.427ns 1.48ns 0.00894 0 0 656 B
master StartFinishScope net472 995ns 0.953ns 3.69ns 0.098 0 0 618 B
#4963 StartFinishSpan net6.0 599ns 0.3ns 1.12ns 0.00744 0 0 536 B
#4963 StartFinishSpan netcoreapp3.1 762ns 0.351ns 1.31ns 0.00695 0 0 536 B
#4963 StartFinishSpan net472 734ns 0.24ns 0.928ns 0.0851 0 0 538 B
#4963 StartFinishScope net6.0 603ns 0.266ns 1.03ns 0.00918 0 0 656 B
#4963 StartFinishScope netcoreapp3.1 810ns 0.392ns 1.52ns 0.00889 0 0 656 B
#4963 StartFinishScope net472 952ns 0.677ns 2.53ns 0.0981 0 0 618 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #4963

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net6.0 1.184 619.72 733.81

Faster :tada: in #4963

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 1.136 1,022.66 900.54

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 620ns 0.275ns 1.06ns 0.009 0 0 656 B
master RunOnMethodBegin netcoreapp3.1 1.02μs 0.426ns 1.65ns 0.00888 0 0 656 B
master RunOnMethodBegin net472 1.14μs 0.391ns 1.51ns 0.0977 0 0 618 B
#4963 RunOnMethodBegin net6.0 734ns 0.402ns 1.56ns 0.00919 0 0 656 B
#4963 RunOnMethodBegin netcoreapp3.1 900ns 0.318ns 1.1ns 0.00873 0 0 656 B
#4963 RunOnMethodBegin net472 1.2μs 0.352ns 1.36ns 0.0979 0 0 618 B

andrewlock avatar Dec 08 '23 13:12 andrewlock