Skip to content

Conversation

@robcarlan-datadog
Copy link
Contributor

Summary of changes

Reason for change

Implementation details

Test coverage

Other details

@dd-trace-dotnet-ci-bot
Copy link

dd-trace-dotnet-ci-bot bot commented Oct 17, 2025

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing the following branches/commits:

Execution-time benchmarks measure the whole time it takes to execute a program. And are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are shown in red. The following thresholds were used for comparing the execution times:

  • 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 (7676) - mean (72ms)  : 71, 73
     .   : milestone, 72,
    master - mean (71ms)  : 70, 72
     .   : milestone, 71,

    section Baseline
    This PR (7676) - mean (68ms)  : 66, 69
     .   : milestone, 68,
    master - mean (68ms)  : 66, 69
     .   : milestone, 68,

    section CallTarget+Inlining+NGEN
    This PR (7676) - mean (1,042ms)  : 1012, 1072
     .   : milestone, 1042,
    master - mean (1,039ms)  : 1002, 1077
     .   : milestone, 1039,

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

    section Baseline
    This PR (7676) - mean (105ms)  : 103, 108
     .   : milestone, 105,
    master - mean (106ms)  : 103, 108
     .   : milestone, 106,

    section CallTarget+Inlining+NGEN
    This PR (7676) - mean (756ms)  : 711, 802
     .   : milestone, 756,
    master - mean (749ms)  : 721, 778
     .   : milestone, 749,

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

    section Baseline
    This PR (7676) - mean (96ms)  : 92, 99
     .   : milestone, 96,
    master - mean (93ms)  : 91, 95
     .   : milestone, 93,

    section CallTarget+Inlining+NGEN
    This PR (7676) - mean (704ms)  : 671, 737
     .   : milestone, 704,
    master - mean (706ms)  : 674, 739
     .   : milestone, 706,

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

    section Baseline
    This PR (7676) - mean (93ms)  : 91, 95
     .   : milestone, 93,
    master - mean (91ms)  : 89, 94
     .   : milestone, 91,

    section CallTarget+Inlining+NGEN
    This PR (7676) - mean (660ms)  : 639, 681
     .   : milestone, 660,
    master - mean (661ms)  : 647, 676
     .   : milestone, 661,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7676) - mean (204ms)  : 197, 211
     .   : milestone, 204,
    master - mean (197ms)  : 193, 200
     .   : milestone, 197,

    section Baseline
    This PR (7676) - mean (199ms)  : 193, 204
     .   : milestone, 199,
    master - mean (193ms)  : 189, 198
     .   : milestone, 193,

    section CallTarget+Inlining+NGEN
    This PR (7676) - mean (1,181ms)  : 1136, 1226
     .   : milestone, 1181,
    master - mean (1,170ms)  : 1095, 1244
     .   : milestone, 1170,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7676) - mean (286ms)  : 278, 294
     .   : milestone, 286,
    master - mean (280ms)  : 272, 287
     .   : milestone, 280,

    section Baseline
    This PR (7676) - mean (288ms)  : 278, 298
     .   : milestone, 288,
    master - mean (278ms)  : 270, 287
     .   : milestone, 278,

    section CallTarget+Inlining+NGEN
    This PR (7676) - mean (974ms)  : 914, 1034
     .   : milestone, 974,
    master - mean (942ms)  : 900, 984
     .   : milestone, 942,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7676) - mean (277ms)  : 273, 282
     .   : milestone, 277,
    master - mean (269ms)  : 265, 273
     .   : milestone, 269,

    section Baseline
    This PR (7676) - mean (278ms)  : 272, 285
     .   : milestone, 278,
    master - mean (269ms)  : 264, 274
     .   : milestone, 269,

    section CallTarget+Inlining+NGEN
    This PR (7676) - mean (940ms)  : 897, 983
     .   : milestone, 940,
    master - mean (930ms)  : 882, 978
     .   : milestone, 930,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7676) - mean (279ms)  : 271, 286
     .   : milestone, 279,
    master - mean (274ms)  : 263, 286
     .   : milestone, 274,

    section Baseline
    This PR (7676) - mean (277ms)  : 270, 285
     .   : milestone, 277,
    master - mean (272ms)  : 264, 280
     .   : milestone, 272,

    section CallTarget+Inlining+NGEN
    This PR (7676) - mean (875ms)  : 841, 910
     .   : milestone, 875,
    master - mean (868ms)  : 827, 909
     .   : milestone, 868,

Loading

@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Oct 17, 2025

⚠️ Tests

⚠️ Warnings

🧪 123 Tests failed

TestReceiveMessagesAsyncIntegration from Datadog.Trace.ClrProfiler.IntegrationTests.Azure.AzureServiceBusAPMTests (Datadog)
Expected linkedSendSpan not to be <null> because Receive span 7180810022663018640 has link to span 7700554485523690786 in trace 17983412009708142605, but corresponding send span not found.
Expected linkedSendSpan not to be <null> because Receive span 15894948962599123150 has link to span 7700554485523690786 in trace 17983412009708142605, but corresponding send span not found.
InstrumentsDotNetTest from Datadog.Trace.ClrProfiler.IntegrationTests.InstrumentationTests (Datadog)
Expected exit code: 0, actual exit code: 1.
InstrumentsDotNetTest from Datadog.Trace.ClrProfiler.IntegrationTests.InstrumentationTests (Datadog)
Expected exit code: 0, actual exit code: 1.
View all

ℹ️ Info

❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 1d55645 | Docs | Was this helpful? Give us feedback!

@pr-commenter
Copy link

pr-commenter bot commented Oct 20, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7676 compared to master:

  • 1 benchmarks are faster, with geometric mean 2.458
  • 5 benchmarks have fewer allocations
  • 4 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 ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.9μs 58.9ns 328ns 0 0 0 5.51 KB
master StartStopWithChild netcoreapp3.1 13.9μs 72.5ns 348ns 0 0 0 5.7 KB
master StartStopWithChild net472 22.1μs 120ns 647ns 0.996 0.442 0.111 6.04 KB
#7676 StartStopWithChild net6.0 10.3μs 57.4ns 354ns 0 0 0 5.51 KB
#7676 StartStopWithChild netcoreapp3.1 13.5μs 70.6ns 346ns 0 0 0 5.71 KB
#7676 StartStopWithChild net472 22μs 119ns 706ns 0.858 0.107 0 6.02 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7676

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 930μs 116ns 402ns 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.05ms 512ns 1.98μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.18ms 75.1ns 271ns 0 0 0 3.31 KB
#7676 WriteAndFlushEnrichedTraces net6.0 939μs 411ns 1.54μs 0 0 0 2.71 KB
#7676 WriteAndFlushEnrichedTraces netcoreapp3.1 1.04ms 3.09μs 12μs 0 0 0 2.7 KB
#7676 WriteAndFlushEnrichedTraces net472 1.23ms 1.24μs 4.81μs 0 0 0 3.35 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Unknown 🤷 Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleSimpleBody netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleSimpleBody net472 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleMoreComplexBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleMoreComplexBody netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleMoreComplexBody net472 N/A N/A N/A NaN NaN NaN 0 b
master ObjectExtractorSimpleBody net6.0 321ns 0.422ns 1.64ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 403ns 2.26ns 14.7ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 296ns 0.0325ns 0.117ns 0.0432 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.38μs 2.5ns 8.67ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.82μs 37.3ns 154ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.73μs 1.42ns 5.32ns 0.572 0 0 3.8 KB
#7676 AllCycleSimpleBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7676 AllCycleSimpleBody netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#7676 AllCycleSimpleBody net472 N/A N/A N/A NaN NaN NaN 0 b
#7676 AllCycleMoreComplexBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7676 AllCycleMoreComplexBody netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#7676 AllCycleMoreComplexBody net472 N/A N/A N/A NaN NaN NaN 0 b
#7676 ObjectExtractorSimpleBody net6.0 314ns 1.64ns 8.52ns 0 0 0 280 B
#7676 ObjectExtractorSimpleBody netcoreapp3.1 411ns 2.11ns 9.44ns 0 0 0 272 B
#7676 ObjectExtractorSimpleBody net472 299ns 0.0356ns 0.138ns 0.0435 0 0 281 B
#7676 ObjectExtractorMoreComplexBody net6.0 6.32μs 4.53ns 16.3ns 0 0 0 3.78 KB
#7676 ObjectExtractorMoreComplexBody netcoreapp3.1 7.8μs 28.8ns 112ns 0 0 0 3.69 KB
#7676 ObjectExtractorMoreComplexBody net472 6.75μs 2.79ns 10.8ns 0.573 0 0 3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EncodeArgs net6.0 76.7μs 27ns 101ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 97.5μs 254ns 984ns 0 0 0 32.4 KB
master EncodeArgs net472 111μs 4.08ns 14.7ns 5 0 0 32.51 KB
master EncodeLegacyArgs net6.0 149μs 27.6ns 103ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 197μs 48.5ns 181ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 264μs 31.6ns 122ns 0 0 0 2.17 KB
#7676 EncodeArgs net6.0 77.4μs 149ns 538ns 0 0 0 32.4 KB
#7676 EncodeArgs netcoreapp3.1 95.9μs 289ns 1.12μs 0 0 0 32.4 KB
#7676 EncodeArgs net472 109μs 18ns 69.9ns 4.9 0 0 32.51 KB
#7676 EncodeLegacyArgs net6.0 147μs 25.8ns 99.9ns 0 0 0 2.14 KB
#7676 EncodeLegacyArgs netcoreapp3.1 197μs 229ns 859ns 0 0 0 2.14 KB
#7676 EncodeLegacyArgs net472 262μs 70.2ns 272ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #7676

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑netcoreapp3.1 2.458 736,535.49 299,701.45

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 392μs 91ns 328ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 416μs 129ns 481ns 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 426μs 38.2ns 148ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 287μs 35.3ns 127ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 694μs 11.8μs 117μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 309μs 23.1ns 89.4ns 0 0 0 2.29 KB
#7676 RunWafRealisticBenchmark net6.0 399μs 116ns 434ns 0 0 0 4.55 KB
#7676 RunWafRealisticBenchmark netcoreapp3.1 410μs 223ns 864ns 0 0 0 4.48 KB
#7676 RunWafRealisticBenchmark net472 434μs 50.1ns 194ns 0 0 0 4.68 KB
#7676 RunWafRealisticBenchmarkWithAttack net6.0 288μs 57.1ns 214ns 0 0 0 2.24 KB
#7676 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 300μs 343ns 1.28μs 0 0 0 2.22 KB
#7676 RunWafRealisticBenchmarkWithAttack net472 312μs 44.7ns 173ns 0 0 0 2.29 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 61.5μs 40.3ns 140ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 70.6μs 90.3ns 326ns 0 0 0 17.42 KB
master SendRequest net472 0.0032ns 0.00173ns 0.00671ns 0 0 0 0 b
#7676 SendRequest net6.0 62.5μs 66.6ns 240ns 0 0 0 14.52 KB
#7676 SendRequest netcoreapp3.1 73.4μs 375ns 1.68μs 0 0 0 17.42 KB
#7676 SendRequest net472 0.00371ns 0.00154ns 0.00596ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7676

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net472 0 b 73 B 73 B
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 0 b 1 B 1 B
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net472 0 b 47 B 47 B

Fewer allocations 🎉 in #7676

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 4 B 3 B -1 B -25.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 7 B 4 B -3 B -42.86%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.95ms 250ns 935ns 0 0 0 640.01 KB
master OriginalCharSlice netcoreapp3.1 2.16ms 3.17μs 12.3μs 0 0 0 640 KB
master OriginalCharSlice net472 2.68ms 113ns 407ns 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.4ms 81.5ns 305ns 0 0 0 7 B
master OptimizedCharSlice netcoreapp3.1 1.76ms 613ns 2.21μs 0 0 0 1 B
master OptimizedCharSlice net472 1.89ms 310ns 1.2μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 813μs 16.6ns 60ns 0 0 0 4 B
master OptimizedCharSliceWithPool netcoreapp3.1 879μs 126ns 487ns 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.16ms 73ns 283ns 0 0 0 0 b
#7676 OriginalCharSlice net6.0 1.91ms 2.84μs 11μs 0 0 0 640.01 KB
#7676 OriginalCharSlice netcoreapp3.1 2.15ms 9.36μs 36.2μs 0 0 0 640 KB
#7676 OriginalCharSlice net472 2.6ms 180ns 648ns 100 0 0 641.95 KB
#7676 OptimizedCharSlice net6.0 1.42ms 301ns 1.17μs 0 0 0 4 B
#7676 OptimizedCharSlice netcoreapp3.1 1.83ms 9.59μs 47μs 0 0 0 1 B
#7676 OptimizedCharSlice net472 1.99ms 167ns 627ns 0 0 0 73 B
#7676 OptimizedCharSliceWithPool net6.0 894μs 38.7ns 150ns 0 0 0 3 B
#7676 OptimizedCharSliceWithPool netcoreapp3.1 803μs 111ns 432ns 0 0 0 1 B
#7676 OptimizedCharSliceWithPool net472 1.15ms 119ns 462ns 0 0 0 47 B
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7676

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 56.08 KB 55.72 KB -363 B -0.65%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 656μs 967ns 3.62μs 0 0 0 41.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 699μs 4.07μs 34.3μs 0 0 0 41.9 KB
master WriteAndFlushEnrichedTraces net472 883μs 3.31μs 12.8μs 8.33 0 0 56.08 KB
#7676 WriteAndFlushEnrichedTraces net6.0 728μs 3.86μs 20.8μs 0 0 0 41.56 KB
#7676 WriteAndFlushEnrichedTraces netcoreapp3.1 753μs 3.63μs 15μs 0 0 0 41.87 KB
#7676 WriteAndFlushEnrichedTraces net472 954μs 3.89μs 15.1μs 4.46 0 0 55.72 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.87μs 8.17ns 30.6ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.64μs 5.14ns 19.9ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.9μs 2.84ns 11ns 0.146 0.0146 0 987 B
#7676 ExecuteNonQuery net6.0 1.9μs 8ns 31ns 0 0 0 1.02 KB
#7676 ExecuteNonQuery netcoreapp3.1 2.56μs 8.91ns 34.5ns 0 0 0 1.02 KB
#7676 ExecuteNonQuery net472 2.75μs 6.42ns 24.9ns 0.151 0.0137 0 987 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.79μs 8.28ns 32.1ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.19μs 7.12ns 27.6ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.75μs 2.4ns 8.99ns 0.149 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.85μs 9.3ns 41.6ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.32μs 10.2ns 39.5ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.62μs 4.66ns 18ns 0.162 0 0 1.1 KB
#7676 CallElasticsearch net6.0 1.7μs 0.833ns 3.23ns 0 0 0 1.03 KB
#7676 CallElasticsearch netcoreapp3.1 2.27μs 9.93ns 38.5ns 0 0 0 1.03 KB
#7676 CallElasticsearch net472 3.6μs 1.64ns 6.35ns 0.162 0 0 1.04 KB
#7676 CallElasticsearchAsync net6.0 1.75μs 2.42ns 9.37ns 0 0 0 1.01 KB
#7676 CallElasticsearchAsync netcoreapp3.1 2.37μs 10ns 37.5ns 0 0 0 1.08 KB
#7676 CallElasticsearchAsync net472 3.76μs 5.55ns 21.5ns 0.168 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net6.0 1.91μs 9.2ns 39ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.55μs 11.6ns 46.6ns 0 0 0 952 B
master ExecuteAsync net472 2.71μs 1.65ns 6.38ns 0.135 0 0 915 B
#7676 ExecuteAsync net6.0 1.85μs 9.31ns 41.6ns 0 0 0 952 B
#7676 ExecuteAsync netcoreapp3.1 2.53μs 11.1ns 43ns 0 0 0 952 B
#7676 ExecuteAsync net472 2.71μs 4.65ns 18ns 0.135 0 0 915 B
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 6.96μs 21.8ns 81.4ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.76μs 16ns 62ns 0 0 0 2.9 KB
master SendAsync net472 12.4μs 8.03ns 31.1ns 0.495 0 0 3.18 KB
#7676 SendAsync net6.0 6.96μs 6.54ns 24.5ns 0 0 0 2.36 KB
#7676 SendAsync netcoreapp3.1 8.69μs 26ns 101ns 0 0 0 2.9 KB
#7676 SendAsync net472 12.2μs 11ns 42.6ns 0.487 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7676

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 278.53 KB 275.94 KB -2.58 KB -0.93%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 274.9 KB 257.58 KB -17.33 KB -6.30%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 43.3μs 167ns 579ns 0 0 0 43.44 KB
master StringConcatBenchmark netcoreapp3.1 48.7μs 261ns 1.95μs 0 0 0 42.94 KB
master StringConcatBenchmark net472 57.4μs 224ns 840ns 0 0 0 65.54 KB
master StringConcatAspectBenchmark net6.0 468μs 1.25μs 4.5μs 0 0 0 274.9 KB
master StringConcatAspectBenchmark netcoreapp3.1 503μs 1.8μs 7.22μs 0 0 0 274.75 KB
master StringConcatAspectBenchmark net472 401μs 2.16μs 12.2μs 0 0 0 278.53 KB
#7676 StringConcatBenchmark net6.0 43.4μs 225ns 1.42μs 0 0 0 43.6 KB
#7676 StringConcatBenchmark netcoreapp3.1 50μs 271ns 1.92μs 0 0 0 42.9 KB
#7676 StringConcatBenchmark net472 57.4μs 247ns 924ns 0 0 0 65.54 KB
#7676 StringConcatAspectBenchmark net6.0 456μs 1.78μs 6.41μs 0 0 0 257.58 KB
#7676 StringConcatAspectBenchmark netcoreapp3.1 509μs 2.04μs 8.39μs 0 0 0 275.83 KB
#7676 StringConcatAspectBenchmark net472 406μs 2.3μs 16.6μs 0 0 0 275.94 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.65μs 0.546ns 2.12ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.68μs 15.5ns 60.1ns 0 0 0 1.7 KB
master EnrichedLog net472 3.82μs 2.46ns 9.53ns 0.248 0 0 1.64 KB
#7676 EnrichedLog net6.0 2.64μs 1.83ns 7.08ns 0 0 0 1.7 KB
#7676 EnrichedLog netcoreapp3.1 3.6μs 18ns 78.5ns 0 0 0 1.7 KB
#7676 EnrichedLog net472 3.99μs 4.1ns 15.9ns 0.258 0 0 1.64 KB
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 126μs 183ns 685ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 129μs 63.2ns 219ns 0 0 0 4.31 KB
master EnrichedLog net472 170μs 50.8ns 197ns 0 0 0 4.52 KB
#7676 EnrichedLog net6.0 123μs 36.8ns 133ns 0 0 0 4.31 KB
#7676 EnrichedLog netcoreapp3.1 130μs 77.1ns 288ns 0 0 0 4.31 KB
#7676 EnrichedLog net472 167μs 133ns 515ns 0 0 0 4.51 KB
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 4.88μs 3.37ns 12.6ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.89μs 12.8ns 49.5ns 0 0 0 2.26 KB
master EnrichedLog net472 7.65μs 3.5ns 13.6ns 0.304 0 0 2.08 KB
#7676 EnrichedLog net6.0 4.95μs 18.3ns 70.8ns 0 0 0 2.26 KB
#7676 EnrichedLog netcoreapp3.1 6.87μs 8.34ns 32.3ns 0 0 0 2.26 KB
#7676 EnrichedLog net472 7.63μs 4.33ns 16.2ns 0.303 0 0 2.08 KB
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 2.04μs 8.68ns 33.6ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.72μs 12.6ns 50.2ns 0 0 0 1.2 KB
master SendReceive net472 3.16μs 6.92ns 26.8ns 0.187 0 0 1.2 KB
#7676 SendReceive net6.0 1.95μs 7.27ns 28.2ns 0 0 0 1.2 KB
#7676 SendReceive netcoreapp3.1 2.61μs 10.5ns 40.7ns 0 0 0 1.2 KB
#7676 SendReceive net472 2.99μs 2.86ns 11.1ns 0.18 0 0 1.2 KB
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 4.3μs 11.8ns 45.7ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.85μs 12.9ns 50ns 0 0 0 1.63 KB
master EnrichedLog net472 6.54μs 8.62ns 33.4ns 0.293 0 0 2.03 KB
#7676 EnrichedLog net6.0 4.23μs 5.14ns 19.2ns 0 0 0 1.58 KB
#7676 EnrichedLog netcoreapp3.1 5.55μs 9.62ns 37.3ns 0 0 0 1.63 KB
#7676 EnrichedLog net472 6.47μs 5.55ns 20.8ns 0.29 0 0 2.03 KB
Benchmarks.Trace.SpanBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 794ns 0.468ns 1.81ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 1μs 3.87ns 14.5ns 0 0 0 576 B
master StartFinishSpan net472 910ns 0.371ns 1.44ns 0.0914 0 0 578 B
master StartFinishScope net6.0 912ns 4.99ns 29.1ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.18μs 6.18ns 30.3ns 0 0 0 697 B
master StartFinishScope net472 1.18μs 2.24ns 8.37ns 0.1 0 0 658 B
#7676 StartFinishSpan net6.0 810ns 3.01ns 10.9ns 0 0 0 576 B
#7676 StartFinishSpan netcoreapp3.1 976ns 5.22ns 23.3ns 0 0 0 576 B
#7676 StartFinishSpan net472 946ns 0.255ns 0.987ns 0.0909 0 0 578 B
#7676 StartFinishScope net6.0 959ns 4.43ns 17.1ns 0 0 0 696 B
#7676 StartFinishScope netcoreapp3.1 1.23μs 6.36ns 31.2ns 0 0 0 697 B
#7676 StartFinishScope net472 1.13μs 0.28ns 1.08ns 0.101 0 0 658 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 1.08μs 2.67ns 10.3ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.42μs 6.95ns 31.1ns 0 0 0 696 B
master RunOnMethodBegin net472 1.44μs 1.28ns 4.79ns 0.101 0 0 658 B
#7676 RunOnMethodBegin net6.0 1.07μs 5.11ns 20.4ns 0 0 0 696 B
#7676 RunOnMethodBegin netcoreapp3.1 1.38μs 7.23ns 33.9ns 0 0 0 696 B
#7676 RunOnMethodBegin net472 1.43μs 0.977ns 3.65ns 0.1 0 0 658 B

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant