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

Retry failed tests with debug

Open NachoEchevarria opened this issue 6 months ago • 4 comments

Summary of changes

When a test fails in the CI, we don't have the logs with debug information. This PR collect the failing tests and runs them again with the debug information enabled. If they fail again, the logs with debug information will be collected.

This PR has been tested with a modified test that was designed to fail always. After the CI run, logs were present with debug information.

Reason for change

Implementation details

Test coverage

Other details

NachoEchevarria avatar Jun 09 '25 12:06 NachoEchevarria

Datadog Report

All test runs 0a9b73f :link:

:white_check_mark: 2 Total Test Services: 0 Failed, 2 Passed

Test Services
Service Name Failed Known Flaky New Flaky Passed Skipped Total Time Test Service View
dd-trace-dotnet 0 0 0 249299 2379 18h 4m 17.95s Link
exploration_tests 0 0 0 22085 3 2m 24.02s Link

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.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7080) - mean (73ms)  : 72, 74
     .   : milestone, 73,
    master - mean (72ms)  : 71, 73
     .   : milestone, 72,

    section Baseline
    This PR (7080) - mean (70ms)  : 67, 73
     .   : milestone, 70,
    master - mean (68ms)  : 65, 72
     .   : milestone, 68,

    section CallTarget+Inlining+NGEN
    This PR (7080) - mean (1,009ms)  : 978, 1040
     .   : milestone, 1009,
    master - mean (996ms)  : 974, 1017
     .   : milestone, 996,

gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7080) - mean (109ms)  : 107, 110
     .   : milestone, 109,
    master - mean (107ms)  : 105, 108
     .   : milestone, 107,

    section Baseline
    This PR (7080) - mean (108ms)  : 106, 111
     .   : milestone, 108,
    master - mean (106ms)  : 104, 109
     .   : milestone, 106,

    section CallTarget+Inlining+NGEN
    This PR (7080) - mean (719ms)  : 706, 731
     .   : milestone, 719,
    master - mean (714ms)  : 701, 726
     .   : milestone, 714,

gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7080) - mean (97ms)  : 95, 98
     .   : milestone, 97,
    master - mean (94ms)  : 93, 95
     .   : milestone, 94,

    section Baseline
    This PR (7080) - mean (95ms)  : 93, 97
     .   : milestone, 95,
    master - mean (93ms)  : 91, 96
     .   : milestone, 93,

    section CallTarget+Inlining+NGEN
    This PR (7080) - mean (672ms)  : 656, 687
     .   : milestone, 672,
    master - mean (665ms)  : 648, 681
     .   : milestone, 665,

gantt
    title Execution time (ms) FakeDbCommand (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7080) - mean (95ms)  : 93, 97
     .   : milestone, 95,
    master - mean (93ms)  : 92, 94
     .   : milestone, 93,

    section Baseline
    This PR (7080) - mean (94ms)  : 92, 97
     .   : milestone, 94,
    master - mean (92ms)  : 90, 95
     .   : milestone, 92,

    section CallTarget+Inlining+NGEN
    This PR (7080) - mean (605ms)  : 592, 618
     .   : milestone, 605,
    master - mean (606ms)  : 594, 617
     .   : milestone, 606,

gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7080) - mean (203ms)  : 197, 210
     .   : milestone, 203,
    master - mean (197ms)  : 194, 201
     .   : milestone, 197,

    section Baseline
    This PR (7080) - mean (198ms)  : 193, 203
     .   : milestone, 198,
    master - mean (194ms)  : 190, 198
     .   : milestone, 194,

    section CallTarget+Inlining+NGEN
    This PR (7080) - mean (1,150ms)  : 1112, 1187
     .   : milestone, 1150,
    master - mean (1,129ms)  : 1087, 1171
     .   : milestone, 1129,

gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7080) - mean (291ms)  : 283, 298
     .   : milestone, 291,
    master - mean (282ms)  : 277, 288
     .   : milestone, 282,

    section Baseline
    This PR (7080) - mean (288ms)  : 277, 300
     .   : milestone, 288,
    master - mean (282ms)  : 276, 289
     .   : milestone, 282,

    section CallTarget+Inlining+NGEN
    This PR (7080) - mean (928ms)  : 907, 950
     .   : milestone, 928,
    master - mean (920ms)  : 892, 948
     .   : milestone, 920,

gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7080) - mean (283ms)  : 277, 289
     .   : milestone, 283,
    master - mean (277ms)  : 272, 283
     .   : milestone, 277,

    section Baseline
    This PR (7080) - mean (283ms)  : 277, 289
     .   : milestone, 283,
    master - mean (277ms)  : 270, 283
     .   : milestone, 277,

    section CallTarget+Inlining+NGEN
    This PR (7080) - mean (919ms)  : 894, 944
     .   : milestone, 919,
    master - mean (902ms)  : 875, 929
     .   : milestone, 902,

gantt
    title Execution time (ms) HttpMessageHandler (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7080) - mean (280ms)  : 273, 288
     .   : milestone, 280,
    master - mean (275ms)  : 269, 281
     .   : milestone, 275,

    section Baseline
    This PR (7080) - mean (279ms)  : 271, 287
     .   : milestone, 279,
    master - mean (278ms)  : 267, 289
     .   : milestone, 278,

    section CallTarget+Inlining+NGEN
    This PR (7080) - mean (830ms)  : 798, 862
     .   : milestone, 830,
    master - mean (815ms)  : 792, 838
     .   : milestone, 815,

andrewlock avatar Jun 09 '25 14:06 andrewlock

Benchmarks

Benchmarks Report for benchmark platform :snail:

Benchmarks for #7080 compared to master:

  • 1 benchmarks are faster, with geometric mean 2.380
  • 6 benchmarks have fewer allocations
  • 5 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: More allocations :warning:

More allocations :warning: in #7080

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net6.0 5.47 KB 5.5 KB 31 B 0.57%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.3μs 57.8ns 370ns 0 0 0 5.47 KB
master StartStopWithChild netcoreapp3.1 14.4μs 20.4ns 79.2ns 0 0 0 5.71 KB
master StartStopWithChild net472 21.4μs 117ns 719ns 0.982 0.327 0.109 6.01 KB
#7080 StartStopWithChild net6.0 10.2μs 55.4ns 332ns 0 0 0 5.5 KB
#7080 StartStopWithChild netcoreapp3.1 13.3μs 67.5ns 302ns 0 0 0 5.69 KB
#7080 StartStopWithChild net472 22.2μs 117ns 597ns 1.05 0.422 0.105 5.99 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed :heavy_check_mark: Fewer allocations :tada:

Fewer allocations :tada: in #7080

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 3.35 KB 3.31 KB -46 B -1.37%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 925μs 206ns 800ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.01ms 233ns 870ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.2ms 61.7ns 231ns 0 0 0 3.35 KB
#7080 WriteAndFlushEnrichedTraces net6.0 914μs 84.7ns 305ns 0 0 0 2.7 KB
#7080 WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 227ns 880ns 0 0 0 2.71 KB
#7080 WriteAndFlushEnrichedTraces net472 1.2ms 79.3ns 297ns 0 0 0 3.31 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 322μs 224ns 867ns 0 0 0 173.45 KB
master AllCycleSimpleBody netcoreapp3.1 468μs 1.66μs 6.45μs 0 0 0 175.64 KB
master AllCycleSimpleBody net472 432μs 155ns 600ns 30.2 0 0 195.8 KB
master AllCycleMoreComplexBody net6.0 324μs 1.57μs 6.28μs 0 0 0 176.96 KB
master AllCycleMoreComplexBody netcoreapp3.1 477μs 1.02μs 3.96μs 0 0 0 179.06 KB
master AllCycleMoreComplexBody net472 438μs 77.7ns 301ns 30.2 0 0 199.31 KB
master ObjectExtractorSimpleBody net6.0 318ns 1.79ns 11.4ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 400ns 2.26ns 14.8ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 300ns 0.0409ns 0.158ns 0.0437 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.21μs 32.9ns 168ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.74μs 38ns 161ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.68μs 1.83ns 6.59ns 0.572 0 0 3.8 KB
#7080 AllCycleSimpleBody net6.0 325μs 735ns 2.75μs 0 0 0 173.45 KB
#7080 AllCycleSimpleBody netcoreapp3.1 470μs 1.6μs 6.21μs 0 0 0 175.64 KB
#7080 AllCycleSimpleBody net472 430μs 158ns 611ns 30.2 0 0 195.8 KB
#7080 AllCycleMoreComplexBody net6.0 330μs 265ns 1.03μs 0 0 0 176.96 KB
#7080 AllCycleMoreComplexBody netcoreapp3.1 477μs 1.41μs 5.47μs 0 0 0 179.06 KB
#7080 AllCycleMoreComplexBody net472 441μs 112ns 434ns 30.2 0 0 199.31 KB
#7080 ObjectExtractorSimpleBody net6.0 325ns 0.729ns 2.73ns 0 0 0 280 B
#7080 ObjectExtractorSimpleBody netcoreapp3.1 400ns 2.29ns 16ns 0 0 0 272 B
#7080 ObjectExtractorSimpleBody net472 305ns 0.025ns 0.0935ns 0.0446 0 0 281 B
#7080 ObjectExtractorMoreComplexBody net6.0 6.26μs 3.16ns 12.2ns 0 0 0 3.78 KB
#7080 ObjectExtractorMoreComplexBody netcoreapp3.1 7.86μs 36.3ns 145ns 0 0 0 3.69 KB
#7080 ObjectExtractorMoreComplexBody net472 6.67μs 1.96ns 7.59ns 0.6 0 0 3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EncodeArgs net6.0 77.2μs 218ns 843ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 97.2μs 190ns 710ns 0 0 0 32.4 KB
master EncodeArgs net472 111μs 9.78ns 36.6ns 4.98 0 0 32.51 KB
master EncodeLegacyArgs net6.0 146μs 95.4ns 369ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 198μs 543ns 2.1μs 0 0 0 2.15 KB
master EncodeLegacyArgs net472 263μs 29.5ns 114ns 0 0 0 2.16 KB
#7080 EncodeArgs net6.0 76.4μs 219ns 821ns 0 0 0 32.4 KB
#7080 EncodeArgs netcoreapp3.1 97.2μs 155ns 600ns 0 0 0 32.4 KB
#7080 EncodeArgs net472 110μs 25ns 96.8ns 4.94 0 0 32.51 KB
#7080 EncodeLegacyArgs net6.0 146μs 14.3ns 53.5ns 0 0 0 2.14 KB
#7080 EncodeLegacyArgs netcoreapp3.1 200μs 112ns 433ns 0 0 0 2.15 KB
#7080 EncodeLegacyArgs net472 263μs 33.2ns 129ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #7080

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑netcoreapp3.1 2.380 721,370.43 303,051.60

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 397μs 145ns 560ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 840μs 7.07μs 67.5μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 431μs 78.5ns 304ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 291μs 48.4ns 174ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 720μs 3.46μs 13.4μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 316μs 90.5ns 351ns 0 0 0 2.29 KB
#7080 RunWafRealisticBenchmark net6.0 397μs 81.3ns 315ns 0 0 0 4.56 KB
#7080 RunWafRealisticBenchmark netcoreapp3.1 858μs 4.14μs 16μs 0 0 0 4.48 KB
#7080 RunWafRealisticBenchmark net472 435μs 67.8ns 263ns 0 0 0 4.66 KB
#7080 RunWafRealisticBenchmarkWithAttack net6.0 289μs 86.4ns 334ns 0 0 0 2.24 KB
#7080 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 303μs 85.8ns 321ns 0 0 0 2.22 KB
#7080 RunWafRealisticBenchmarkWithAttack net472 313μs 121ns 470ns 0 0 0 2.29 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 60.5μs 26.2ns 101ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 71.1μs 79.7ns 298ns 0 0 0 17.42 KB
master SendRequest net472 0.0121ns 0.002ns 0.00774ns 0 0 0 0 b
#7080 SendRequest net6.0 61.5μs 33.7ns 126ns 0 0 0 14.52 KB
#7080 SendRequest netcoreapp3.1 70.2μs 53.2ns 192ns 0 0 0 17.42 KB
#7080 SendRequest net472 0.0171ns 0.00241ns 0.00931ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7080

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 2 B 7 B 5 B 250.00%

Fewer allocations :tada: in #7080

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 1 B 0 b -1 B -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.9ms 5.39μs 20.2μs 0 0 0 640.01 KB
master OriginalCharSlice netcoreapp3.1 2.14ms 3.63μs 14.1μs 0 0 0 640 KB
master OriginalCharSlice net472 2.59ms 344ns 1.29μs 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.37ms 189ns 733ns 0 0 0 2 B
master OptimizedCharSlice netcoreapp3.1 1.75ms 592ns 2.22μs 0 0 0 1 B
master OptimizedCharSlice net472 2.02ms 497ns 1.93μs 0 0 0 73 B
master OptimizedCharSliceWithPool net6.0 855μs 257ns 996ns 0 0 0 1 B
master OptimizedCharSliceWithPool netcoreapp3.1 812μs 275ns 1.06μs 0 0 0 1 B
master OptimizedCharSliceWithPool net472 1.14ms 79.5ns 298ns 0 0 0 47 B
#7080 OriginalCharSlice net6.0 1.93ms 201ns 779ns 0 0 0 640.01 KB
#7080 OriginalCharSlice netcoreapp3.1 2.12ms 8.23μs 29.7μs 0 0 0 640 KB
#7080 OriginalCharSlice net472 2.63ms 224ns 806ns 100 0 0 641.95 KB
#7080 OptimizedCharSlice net6.0 1.42ms 171ns 662ns 0 0 0 7 B
#7080 OptimizedCharSlice netcoreapp3.1 1.71ms 396ns 1.53μs 0 0 0 1 B
#7080 OptimizedCharSlice net472 1.99ms 303ns 1.17μs 0 0 0 73 B
#7080 OptimizedCharSliceWithPool net6.0 810μs 58.4ns 226ns 0 0 0 1 B
#7080 OptimizedCharSliceWithPool netcoreapp3.1 818μs 83.5ns 323ns 0 0 0 0 b
#7080 OptimizedCharSliceWithPool net472 1.13ms 27.2ns 102ns 0 0 0 47 B
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7080

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 56.07 KB 56.66 KB 597 B 1.06%

Fewer allocations :tada: in #7080

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 42.58 KB 41.83 KB -752 B -1.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 704μs 1.6μs 6μs 0 0 0 42.58 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 650μs 3.36μs 28.5μs 0 0 0 42.09 KB
master WriteAndFlushEnrichedTraces net472 1.01ms 4.17μs 15.6μs 4.46 0 0 56.07 KB
#7080 WriteAndFlushEnrichedTraces net6.0 747μs 2.37μs 9.17μs 0 0 0 41.83 KB
#7080 WriteAndFlushEnrichedTraces netcoreapp3.1 643μs 3.15μs 12.6μs 0 0 0 41.95 KB
#7080 WriteAndFlushEnrichedTraces net472 937μs 5.27μs 33.7μs 8.33 0 0 56.66 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.86μs 8.31ns 32.2ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.58μs 7.8ns 30.2ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.83μs 2.77ns 10.4ns 0.155 0.0141 0 987 B
#7080 ExecuteNonQuery net6.0 1.83μs 0.563ns 2.11ns 0 0 0 1.02 KB
#7080 ExecuteNonQuery netcoreapp3.1 2.78μs 14.6ns 75.7ns 0 0 0 1.02 KB
#7080 ExecuteNonQuery net472 2.84μs 2.84ns 11ns 0.154 0.014 0 987 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.75μs 6.05ns 23.4ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.31μs 8.23ns 31.9ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.6μs 5.24ns 20.3ns 0.161 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.76μs 8.35ns 34.4ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.52μs 2.43ns 9.4ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.85μs 2.1ns 7.28ns 0.174 0 0 1.1 KB
#7080 CallElasticsearch net6.0 1.76μs 9.11ns 45.5ns 0 0 0 1.03 KB
#7080 CallElasticsearch netcoreapp3.1 2.22μs 1.02ns 3.53ns 0 0 0 1.03 KB
#7080 CallElasticsearch net472 3.65μs 3.65ns 13.6ns 0.163 0 0 1.04 KB
#7080 CallElasticsearchAsync net6.0 1.75μs 7.92ns 29.6ns 0 0 0 1.01 KB
#7080 CallElasticsearchAsync netcoreapp3.1 2.44μs 11ns 42.8ns 0 0 0 1.08 KB
#7080 CallElasticsearchAsync net472 3.85μs 2.57ns 9.94ns 0.174 0 0 1.1 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.82μs 9.04ns 39.4ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.4μs 5.06ns 19.6ns 0 0 0 952 B
master ExecuteAsync net472 2.57μs 3.43ns 13.3ns 0.14 0 0 915 B
#7080 ExecuteAsync net6.0 1.8μs 7.56ns 28.3ns 0 0 0 952 B
#7080 ExecuteAsync netcoreapp3.1 2.22μs 10.8ns 45.7ns 0 0 0 952 B
#7080 ExecuteAsync net472 2.65μs 2.77ns 10.7ns 0.145 0 0 915 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 6.93μs 11.6ns 45ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.82μs 19ns 73.6ns 0 0 0 2.9 KB
master SendAsync net472 12.4μs 11.4ns 44.2ns 0.492 0 0 3.18 KB
#7080 SendAsync net6.0 6.68μs 13ns 46.8ns 0 0 0 2.36 KB
#7080 SendAsync netcoreapp3.1 8.64μs 17.4ns 67.4ns 0 0 0 2.9 KB
#7080 SendAsync net472 12.5μs 10.8ns 41.6ns 0.496 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7080

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 57.34 KB 65.54 KB 8.19 KB 14.29%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 256.9 KB 273.06 KB 16.16 KB 6.29%

Fewer allocations :tada: in #7080

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 260.81 KB 259.2 KB -1.61 KB -0.62%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 281.22 KB 278.53 KB -2.69 KB -0.96%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 45.18 KB 44 KB -1.18 KB -2.60%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 47.1μs 238ns 1.04μs 0 0 0 45.18 KB
master StringConcatBenchmark netcoreapp3.1 56.8μs 706ns 6.99μs 0 0 0 43.09 KB
master StringConcatBenchmark net472 56.9μs 148ns 532ns 0 0 0 57.34 KB
master StringConcatAspectBenchmark net6.0 470μs 1.94μs 8.23μs 0 0 0 256.9 KB
master StringConcatAspectBenchmark netcoreapp3.1 508μs 2.45μs 10.7μs 0 0 0 260.81 KB
master StringConcatAspectBenchmark net472 405μs 2.3μs 15.8μs 0 0 0 281.22 KB
#7080 StringConcatBenchmark net6.0 47.7μs 264ns 1.56μs 0 0 0 44 KB
#7080 StringConcatBenchmark netcoreapp3.1 54.3μs 726ns 7.12μs 0 0 0 43.04 KB
#7080 StringConcatBenchmark net472 57μs 271ns 1.01μs 0 0 0 65.54 KB
#7080 StringConcatAspectBenchmark net6.0 489μs 2.05μs 7.4μs 0 0 0 273.06 KB
#7080 StringConcatAspectBenchmark netcoreapp3.1 507μs 1.95μs 7.3μs 0 0 0 259.2 KB
#7080 StringConcatAspectBenchmark net472 401μs 2.32μs 18.3μs 0 0 0 278.53 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 2.51μs 7.39ns 28.6ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.34μs 10.9ns 40.8ns 0 0 0 1.7 KB
master EnrichedLog net472 3.93μs 3.17ns 12.3ns 0.255 0 0 1.64 KB
#7080 EnrichedLog net6.0 2.58μs 12.9ns 57.8ns 0 0 0 1.7 KB
#7080 EnrichedLog netcoreapp3.1 3.46μs 3.32ns 12.4ns 0 0 0 1.7 KB
#7080 EnrichedLog net472 3.93μs 6.66ns 25.8ns 0.253 0 0 1.64 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 125μs 23ns 86.2ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 129μs 255ns 953ns 0 0 0 4.31 KB
master EnrichedLog net472 166μs 173ns 668ns 0 0 0 4.52 KB
#7080 EnrichedLog net6.0 124μs 109ns 394ns 0 0 0 4.31 KB
#7080 EnrichedLog netcoreapp3.1 129μs 499ns 1.93μs 0 0 0 4.31 KB
#7080 EnrichedLog net472 166μs 124ns 482ns 0 0 0 4.52 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 5.04μs 18.8ns 72.9ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.92μs 5.54ns 20.7ns 0 0 0 2.26 KB
master EnrichedLog net472 7.61μs 7.58ns 29.4ns 0.305 0 0 2.08 KB
#7080 EnrichedLog net6.0 4.88μs 21.4ns 82.9ns 0 0 0 2.26 KB
#7080 EnrichedLog netcoreapp3.1 6.81μs 6.88ns 26.6ns 0 0 0 2.26 KB
#7080 EnrichedLog net472 7.61μs 5.73ns 22.2ns 0.304 0 0 2.08 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.96μs 7.1ns 27.5ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.63μs 12.2ns 45.8ns 0 0 0 1.2 KB
master SendReceive net472 3.19μs 2.53ns 9.46ns 0.191 0 0 1.2 KB
#7080 SendReceive net6.0 1.96μs 5.6ns 21.7ns 0 0 0 1.2 KB
#7080 SendReceive netcoreapp3.1 2.59μs 11.1ns 43.1ns 0 0 0 1.2 KB
#7080 SendReceive net472 3.09μs 3.22ns 12.1ns 0.188 0 0 1.2 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 4.11μs 10.1ns 39ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.56μs 9.92ns 38.4ns 0 0 0 1.63 KB
master EnrichedLog net472 6.66μs 8.77ns 34ns 0.297 0 0 2.03 KB
#7080 EnrichedLog net6.0 4.4μs 5.61ns 21.7ns 0 0 0 1.58 KB
#7080 EnrichedLog netcoreapp3.1 5.66μs 14.2ns 53ns 0 0 0 1.63 KB
#7080 EnrichedLog net472 6.54μs 5.88ns 22ns 0.294 0 0 2.03 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 761ns 3.65ns 15.5ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 941ns 4.45ns 17.2ns 0 0 0 576 B
master StartFinishSpan net472 894ns 0.134ns 0.501ns 0.0897 0 0 578 B
master StartFinishScope net6.0 879ns 4.8ns 28.8ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.13μs 5.54ns 22.2ns 0 0 0 696 B
master StartFinishScope net472 1.1μs 0.0983ns 0.381ns 0.104 0 0 658 B
#7080 StartFinishSpan net6.0 731ns 3.58ns 22.4ns 0 0 0 576 B
#7080 StartFinishSpan netcoreapp3.1 918ns 4.31ns 17.8ns 0 0 0 576 B
#7080 StartFinishSpan net472 935ns 0.795ns 2.97ns 0.0888 0 0 578 B
#7080 StartFinishScope net6.0 897ns 0.188ns 0.705ns 0 0 0 696 B
#7080 StartFinishScope netcoreapp3.1 1.16μs 5.93ns 25.8ns 0 0 0 696 B
#7080 StartFinishScope net472 1.08μs 0.08ns 0.288ns 0.102 0 0 658 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 1.03μs 4.99ns 21.2ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.34μs 6.8ns 31.2ns 0 0 0 696 B
master RunOnMethodBegin net472 1.37μs 0.214ns 0.828ns 0.103 0 0 658 B
#7080 RunOnMethodBegin net6.0 1.05μs 5.29ns 25.4ns 0 0 0 696 B
#7080 RunOnMethodBegin netcoreapp3.1 1.39μs 6.66ns 25.8ns 0 0 0 696 B
#7080 RunOnMethodBegin net472 1.36μs 0.126ns 0.487ns 0.103 0 0 658 B

pr-commenter[bot] avatar Jun 12 '25 11:06 pr-commenter[bot]

Very cool! The only potential blocking thing is that I think this will skew the totals reported (and reported to CI Vis) 🤔 We might have to do stuff with DelayedMessageBus, like we did for the flaky attribute

We should also maybe think about how this works with the [Flaky] attribute. We probably don't want to run the test again with debug logs if we know it's flaky, because we're not going to investigate the issue (most likely)...

Thanks! I have added some code to avoid flaky tests to be launched again and to avoid the debug retries to be reported.

NachoEchevarria avatar Jun 25 '25 11:06 NachoEchevarria