Skip to content

Conversation

robertpi
Copy link
Member

Summary of changes

Reason for change

Implementation details

Test coverage

Other details

@github-actions github-actions bot added the area:tests unit tests, integration tests label Aug 25, 2025
@dd-trace-dotnet-ci-bot
Copy link

dd-trace-dotnet-ci-bot bot commented Aug 25, 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 (7437) - mean (72ms)  : 71, 73
     .   : milestone, 72,
    master - mean (72ms)  : 71, 73
     .   : milestone, 72,

    section Baseline
    This PR (7437) - mean (68ms)  : 66, 71
     .   : milestone, 68,
    master - mean (69ms)  : 64, 73
     .   : milestone, 69,

    section CallTarget+Inlining+NGEN
    This PR (7437) - mean (1,004ms)  : 980, 1028
     .   : milestone, 1004,
    master - mean (1,001ms)  : 979, 1023
     .   : milestone, 1001,

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

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

    section CallTarget+Inlining+NGEN
    This PR (7437) - mean (709ms)  : 694, 724
     .   : milestone, 709,
    master - mean (712ms)  : 700, 723
     .   : milestone, 712,

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

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

    section CallTarget+Inlining+NGEN
    This PR (7437) - mean (670ms)  : 648, 691
     .   : milestone, 670,
    master - mean (666ms)  : 648, 683
     .   : milestone, 666,

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

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

    section CallTarget+Inlining+NGEN
    This PR (7437) - mean (602ms)  : 591, 613
     .   : milestone, 602,
    master - mean (605ms)  : 593, 617
     .   : milestone, 605,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7437) - mean (194ms)  : 192, 196
     .   : milestone, 194,
    master - mean (199ms)  : 193, 205
     .   : milestone, 199,

    section Baseline
    This PR (7437) - mean (190ms)  : 186, 194
     .   : milestone, 190,
    master - mean (193ms)  : 187, 200
     .   : milestone, 193,

    section CallTarget+Inlining+NGEN
    This PR (7437) - mean (1,110ms)  : 1068, 1152
     .   : milestone, 1110,
    master - mean (1,127ms)  : 1089, 1164
     .   : milestone, 1127,

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

    section Baseline
    This PR (7437) - mean (275ms)  : 271, 279
     .   : milestone, 275,
    master - mean (279ms)  : 271, 287
     .   : milestone, 279,

    section CallTarget+Inlining+NGEN
    This PR (7437) - mean (899ms)  : 877, 922
     .   : milestone, 899,
    master - mean (907ms)  : 888, 926
     .   : milestone, 907,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7437) - mean (268ms)  : 265, 271
     .   : milestone, 268,
    master - mean (269ms)  : 265, 274
     .   : milestone, 269,

    section Baseline
    This PR (7437) - mean (270ms)  : 264, 275
     .   : milestone, 270,
    master - mean (269ms)  : 265, 273
     .   : milestone, 269,

    section CallTarget+Inlining+NGEN
    This PR (7437) - mean (885ms)  : 857, 913
     .   : milestone, 885,
    master - mean (890ms)  : 866, 915
     .   : milestone, 890,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7437) - mean (267ms)  : 263, 271
     .   : milestone, 267,
    master - mean (269ms)  : 263, 276
     .   : milestone, 269,

    section Baseline
    This PR (7437) - mean (267ms)  : 262, 271
     .   : milestone, 267,
    master - mean (268ms)  : 263, 273
     .   : milestone, 268,

    section CallTarget+Inlining+NGEN
    This PR (7437) - mean (793ms)  : 774, 812
     .   : milestone, 793,
    master - mean (802ms)  : 785, 820
     .   : milestone, 802,

Loading

@pr-commenter
Copy link

pr-commenter bot commented Aug 25, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7437 compared to master:

  • 2 benchmarks are faster, with geometric mean 1.524
  • 1 benchmarks are slower, with geometric mean 2.433
  • 1 benchmarks have fewer allocations
  • 6 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 ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7437

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 5.71 KB 5.66 KB -54 B -0.95%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.6μs 39.9ns 155ns 0 0 0 5.49 KB
master StartStopWithChild netcoreapp3.1 13.4μs 63.8ns 263ns 0 0 0 5.71 KB
master StartStopWithChild net472 22.2μs 120ns 712ns 0.953 0.318 0 6.09 KB
#7437 StartStopWithChild net6.0 10.2μs 57.3ns 380ns 0 0 0 5.47 KB
#7437 StartStopWithChild netcoreapp3.1 13.5μs 69.3ns 340ns 0 0 0 5.66 KB
#7437 StartStopWithChild net472 22μs 119ns 639ns 0.873 0.327 0 6.1 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 936μs 247ns 955ns 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 61.8ns 214ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.21ms 46.1ns 166ns 0 0 0 3.31 KB
#7437 WriteAndFlushEnrichedTraces net6.0 921μs 73.2ns 264ns 0 0 0 2.7 KB
#7437 WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 209ns 781ns 0 0 0 2.7 KB
#7437 WriteAndFlushEnrichedTraces net472 1.2ms 301ns 1.16μs 0 0 0 3.31 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 324μs 1.53μs 6.13μs 0 0 0 172.08 KB
master AllCycleSimpleBody netcoreapp3.1 461μs 2.18μs 8.99μs 0 0 0 174.18 KB
master AllCycleSimpleBody net472 425μs 112ns 433ns 30.2 0 0 194.25 KB
master AllCycleMoreComplexBody net6.0 327μs 1.01μs 3.91μs 0 0 0 175.58 KB
master AllCycleMoreComplexBody netcoreapp3.1 509μs 1.36μs 5.29μs 0 0 0 177.6 KB
master AllCycleMoreComplexBody net472 436μs 365ns 1.41μs 30.2 0 0 197.76 KB
master ObjectExtractorSimpleBody net6.0 317ns 1.6ns 6.95ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 433ns 1.74ns 6.75ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 300ns 0.0277ns 0.104ns 0.0439 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.18μs 30.7ns 126ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.85μs 36.9ns 152ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.71μs 1.57ns 5.45ns 0.602 0 0 3.8 KB
#7437 AllCycleSimpleBody net6.0 322μs 1.38μs 5.35μs 0 0 0 172.07 KB
#7437 AllCycleSimpleBody netcoreapp3.1 464μs 1.51μs 5.43μs 0 0 0 174.18 KB
#7437 AllCycleSimpleBody net472 425μs 224ns 868ns 29.2 0 0 194.24 KB
#7437 AllCycleMoreComplexBody net6.0 332μs 1.17μs 4.52μs 0 0 0 175.58 KB
#7437 AllCycleMoreComplexBody netcoreapp3.1 493μs 1.53μs 6.85μs 0 0 0 177.6 KB
#7437 AllCycleMoreComplexBody net472 435μs 129ns 501ns 30.2 0 0 197.76 KB
#7437 ObjectExtractorSimpleBody net6.0 320ns 1.56ns 6.78ns 0 0 0 280 B
#7437 ObjectExtractorSimpleBody netcoreapp3.1 417ns 0.343ns 1.33ns 0 0 0 272 B
#7437 ObjectExtractorSimpleBody net472 298ns 0.0557ns 0.216ns 0.0435 0 0 281 B
#7437 ObjectExtractorMoreComplexBody net6.0 6.32μs 16.2ns 60.5ns 0 0 0 3.78 KB
#7437 ObjectExtractorMoreComplexBody netcoreapp3.1 7.8μs 38ns 152ns 0 0 0 3.69 KB
#7437 ObjectExtractorMoreComplexBody net472 6.72μs 5.55ns 21.5ns 0.571 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 77.8μs 46.4ns 180ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 100μs 289ns 1.12μs 0 0 0 32.4 KB
master EncodeArgs net472 109μs 9.01ns 34.9ns 4.92 0 0 32.5 KB
master EncodeLegacyArgs net6.0 146μs 39.9ns 149ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 198μs 46.1ns 178ns 0 0 0 2.15 KB
master EncodeLegacyArgs net472 265μs 99.9ns 387ns 0 0 0 2.16 KB
#7437 EncodeArgs net6.0 76.3μs 71.6ns 268ns 0 0 0 32.4 KB
#7437 EncodeArgs netcoreapp3.1 96.8μs 283ns 1.1μs 0 0 0 32.4 KB
#7437 EncodeArgs net472 110μs 15.6ns 60.4ns 4.95 0 0 32.51 KB
#7437 EncodeLegacyArgs net6.0 145μs 44.7ns 161ns 0 0 0 2.14 KB
#7437 EncodeLegacyArgs netcoreapp3.1 196μs 281ns 1.09μs 0 0 0 2.14 KB
#7437 EncodeLegacyArgs net472 263μs 54ns 209ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #7437

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑netcoreapp3.1 2.433 303,749.85 738,986.13

Faster 🎉 in #7437

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 2.020 869,038.36 430,258.62

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 398μs 74.3ns 268ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 860μs 6.14μs 55.2μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 435μs 33.7ns 122ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 291μs 70.5ns 273ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 304μs 266ns 922ns 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 312μs 39.3ns 147ns 0 0 0 2.29 KB
#7437 RunWafRealisticBenchmark net6.0 402μs 51.8ns 201ns 0 0 0 4.55 KB
#7437 RunWafRealisticBenchmark netcoreapp3.1 430μs 82.7ns 310ns 0 0 0 4.48 KB
#7437 RunWafRealisticBenchmark net472 455μs 45.9ns 172ns 0 0 0 4.66 KB
#7437 RunWafRealisticBenchmarkWithAttack net6.0 288μs 17.1ns 66.3ns 0 0 0 2.24 KB
#7437 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 669μs 14.8μs 148μs 0 0 0 2.22 KB
#7437 RunWafRealisticBenchmarkWithAttack net472 313μs 22.5ns 84.2ns 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μs 31.6ns 122ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 70.7μs 149ns 556ns 0 0 0 17.42 KB
master SendRequest net472 0.0149ns 0.00162ns 0.00628ns 0 0 0 0 b
#7437 SendRequest net6.0 61μs 97.6ns 352ns 0 0 0 14.52 KB
#7437 SendRequest netcoreapp3.1 71.8μs 187ns 701ns 0 0 0 17.42 KB
#7437 SendRequest net472 0.0188ns 0.00176ns 0.00681ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Faster 🎉 More allocations ⚠️

Faster 🎉 in #7437

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 1.149 1,000,725.00 870,775.00

More allocations ⚠️ in #7437

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 1 B 5 B 4 B 400.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 2 B 4 B 2 B 100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.92ms 423ns 1.64μs 0 0 0 640.01 KB
master OriginalCharSlice netcoreapp3.1 2.19ms 3.69μs 14.3μs 0 0 0 640 KB
master OriginalCharSlice net472 2.65ms 127ns 474ns 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.49ms 388ns 1.5μs 0 0 0 2 B
master OptimizedCharSlice netcoreapp3.1 1.72ms 304ns 1.18μs 0 0 0 1 B
master OptimizedCharSlice net472 1.99ms 210ns 813ns 0 0 0 73 B
master OptimizedCharSliceWithPool net6.0 1ms 123ns 475ns 0 0 0 1 B
master OptimizedCharSliceWithPool netcoreapp3.1 846μs 124ns 480ns 0 0 0 1 B
master OptimizedCharSliceWithPool net472 1.14ms 77.5ns 280ns 0 0 0 47 B
#7437 OriginalCharSlice net6.0 1.93ms 5.46μs 21.2μs 0 0 0 640.01 KB
#7437 OriginalCharSlice netcoreapp3.1 2.12ms 7.77μs 29.1μs 0 0 0 640 KB
#7437 OriginalCharSlice net472 2.72ms 172ns 664ns 100 0 0 641.95 KB
#7437 OptimizedCharSlice net6.0 1.38ms 251ns 868ns 0 0 0 4 B
#7437 OptimizedCharSlice netcoreapp3.1 1.76ms 278ns 1.08μs 0 0 0 1 B
#7437 OptimizedCharSlice net472 2.08ms 454ns 1.76μs 0 0 0 73 B
#7437 OptimizedCharSliceWithPool net6.0 871μs 73.3ns 284ns 0 0 0 5 B
#7437 OptimizedCharSliceWithPool netcoreapp3.1 880μs 166ns 642ns 0 0 0 1 B
#7437 OptimizedCharSliceWithPool net472 1.13ms 37.7ns 136ns 0 0 0 47 B
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 700μs 3.04μs 11.8μs 0 0 0 41.68 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 748μs 4.36μs 39.5μs 0 0 0 41.78 KB
master WriteAndFlushEnrichedTraces net472 910μs 4.24μs 15.9μs 8.33 0 0 56.22 KB
#7437 WriteAndFlushEnrichedTraces net6.0 765μs 633ns 2.45μs 0 0 0 41.63 KB
#7437 WriteAndFlushEnrichedTraces netcoreapp3.1 699μs 890ns 3.21μs 0 0 0 41.91 KB
#7437 WriteAndFlushEnrichedTraces net472 855μs 2.18μs 8.14μs 8.33 0 0 56.15 KB
Benchmarks.Trace.DatadogHttpClientBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
#7437 SendAsyncBodyMinimal net6.0 28.4μs 156ns 893ns 0 0 0 24.84 KB
#7437 SendAsyncBodyMinimal netcoreapp3.1 36.2μs 14.6ns 54.8ns 0 0 0 25.18 KB
#7437 SendAsyncBodyMinimal net472 51.2μs 5.61ns 21ns 3.83 0 0 25.57 KB
#7437 SendAsyncBodySmall net6.0 29.3μs 55.6ns 208ns 0 0 0 24.91 KB
#7437 SendAsyncBodySmall netcoreapp3.1 35.4μs 16.3ns 63.1ns 0 0 0 25.18 KB
#7437 SendAsyncBodySmall net472 51.3μs 18.8ns 70.3ns 3.84 0 0 25.57 KB
#7437 SendAsyncBodyLarge net6.0 29.5μs 145ns 596ns 0 0 0 24.91 KB
#7437 SendAsyncBodyLarge netcoreapp3.1 36.5μs 190ns 987ns 0 0 0 25.1 KB
#7437 SendAsyncBodyLarge net472 51.4μs 27.9ns 104ns 3.92 0 0 25.48 KB
#7437 SendAsyncHeadersBase net6.0 28.6μs 147ns 733ns 0 0 0 24.84 KB
#7437 SendAsyncHeadersBase netcoreapp3.1 35μs 168ns 734ns 0 0 0 25.18 KB
#7437 SendAsyncHeadersBase net472 51.2μs 7.1ns 26.6ns 3.84 0 0 25.57 KB
#7437 SendAsyncHeadersPlus40 net6.0 171μs 164ns 636ns 0 0 0 95.3 KB
#7437 SendAsyncHeadersPlus40 netcoreapp3.1 209μs 987ns 3.82μs 0 0 0 95.63 KB
#7437 SendAsyncHeadersPlus40 net472 339μs 59.7ns 215ns 15.2 0 0 96.85 KB
#7437 SendAsyncHeadersPlus80 net6.0 316μs 136ns 508ns 0 0 0 167.13 KB
#7437 SendAsyncHeadersPlus80 netcoreapp3.1 388μs 1.45μs 5.6μs 0 0 0 167.46 KB
#7437 SendAsyncHeadersPlus80 net472 631μs 24.8ns 96.1ns 25 0 0 169.54 KB
#7437 SendAsyncHeadersPlus120 net6.0 464μs 137ns 530ns 0 0 0 238.97 KB
#7437 SendAsyncHeadersPlus120 netcoreapp3.1 568μs 2.94μs 13.5μs 0 0 0 239.3 KB
#7437 SendAsyncHeadersPlus120 net472 938μs 53.8ns 208ns 35.7 0 0 242.07 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.84μs 9.03ns 39.4ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.43μs 7.97ns 30.9ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.81μs 3.49ns 13.1ns 0.154 0.014 0 987 B
#7437 ExecuteNonQuery net6.0 1.81μs 8.17ns 31.6ns 0 0 0 1.02 KB
#7437 ExecuteNonQuery netcoreapp3.1 2.6μs 5.35ns 20.7ns 0 0 0 1.02 KB
#7437 ExecuteNonQuery net472 2.87μs 3.15ns 12.2ns 0.146 0.0146 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.67μs 8.81ns 44.9ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.27μs 8.05ns 31.2ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.5μs 2.26ns 8.77ns 0.157 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.81μs 3.25ns 12.6ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.43μs 4.98ns 19.3ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.89μs 2.15ns 8.33ns 0.156 0 0 1.1 KB
#7437 CallElasticsearch net6.0 1.78μs 0.709ns 2.74ns 0 0 0 1.03 KB
#7437 CallElasticsearch netcoreapp3.1 2.25μs 9.64ns 37.3ns 0 0 0 1.03 KB
#7437 CallElasticsearch net472 3.57μs 1.42ns 5.32ns 0.161 0 0 1.04 KB
#7437 CallElasticsearchAsync net6.0 1.84μs 0.538ns 1.86ns 0 0 0 1.01 KB
#7437 CallElasticsearchAsync netcoreapp3.1 2.57μs 9.55ns 34.4ns 0 0 0 1.08 KB
#7437 CallElasticsearchAsync net472 3.8μs 4.77ns 18.5ns 0.169 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.86μs 3.62ns 13.6ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.35μs 9.89ns 38.3ns 0 0 0 952 B
master ExecuteAsync net472 2.58μs 3.98ns 15.4ns 0.142 0 0 915 B
#7437 ExecuteAsync net6.0 1.86μs 6.06ns 23.5ns 0 0 0 952 B
#7437 ExecuteAsync netcoreapp3.1 2.3μs 1.29ns 4.64ns 0 0 0 952 B
#7437 ExecuteAsync net472 2.52μs 1.79ns 6.71ns 0.139 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.85μs 6.31ns 23.6ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.56μs 32.6ns 126ns 0 0 0 2.9 KB
master SendAsync net472 12.3μs 7.47ns 28ns 0.494 0 0 3.18 KB
#7437 SendAsync net6.0 7.09μs 5.94ns 23ns 0 0 0 2.36 KB
#7437 SendAsync netcoreapp3.1 8.49μs 20.1ns 78ns 0 0 0 2.9 KB
#7437 SendAsync net472 12.2μs 6.54ns 25.3ns 0.487 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7437

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 255.3 KB 274.1 KB 18.8 KB 7.36%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 276.83 KB 288.48 KB 11.65 KB 4.21%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 43.39 KB 43.78 KB 384 B 0.88%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 276.21 KB 277.62 KB 1.42 KB 0.51%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 47.5μs 248ns 1.43μs 0 0 0 43.39 KB
master StringConcatBenchmark netcoreapp3.1 57.1μs 705ns 6.94μs 0 0 0 42.78 KB
master StringConcatBenchmark net472 57μs 183ns 684ns 0 0 0 57.34 KB
master StringConcatAspectBenchmark net6.0 504μs 2.17μs 7.83μs 0 0 0 276.21 KB
master StringConcatAspectBenchmark netcoreapp3.1 500μs 2.51μs 10.7μs 0 0 0 255.3 KB
master StringConcatAspectBenchmark net472 413μs 2.31μs 15.7μs 0 0 0 276.83 KB
#7437 StringConcatBenchmark net6.0 44.3μs 260ns 2.08μs 0 0 0 43.78 KB
#7437 StringConcatBenchmark netcoreapp3.1 50.1μs 323ns 3.07μs 0 0 0 42.8 KB
#7437 StringConcatBenchmark net472 57.3μs 107ns 370ns 0 0 0 57.34 KB
#7437 StringConcatAspectBenchmark net6.0 522μs 1.09μs 3.93μs 0 0 0 277.62 KB
#7437 StringConcatAspectBenchmark netcoreapp3.1 522μs 1.86μs 7.19μs 0 0 0 274.1 KB
#7437 StringConcatAspectBenchmark net472 408μs 2.28μs 14.4μs 0 0 0 288.48 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.52μs 1.92ns 7.17ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.32μs 16.1ns 68.4ns 0 0 0 1.7 KB
master EnrichedLog net472 3.86μs 3.4ns 13.2ns 0.25 0 0 1.64 KB
#7437 EnrichedLog net6.0 2.55μs 12ns 46.6ns 0 0 0 1.7 KB
#7437 EnrichedLog netcoreapp3.1 3.38μs 1.03ns 3.71ns 0 0 0 1.7 KB
#7437 EnrichedLog net472 3.86μs 2.28ns 8.83ns 0.251 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 124μs 128ns 494ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 127μs 177ns 615ns 0 0 0 4.31 KB
master EnrichedLog net472 167μs 81.7ns 294ns 0 0 0 4.52 KB
#7437 EnrichedLog net6.0 124μs 231ns 865ns 0 0 0 4.31 KB
#7437 EnrichedLog netcoreapp3.1 128μs 154ns 575ns 0 0 0 4.31 KB
#7437 EnrichedLog net472 169μs 475ns 1.84μs 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.9μs 7.24ns 28ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.71μs 11.6ns 44.8ns 0 0 0 2.26 KB
master EnrichedLog net472 7.37μs 5.86ns 22.7ns 0.329 0 0 2.08 KB
#7437 EnrichedLog net6.0 5.02μs 20ns 77.6ns 0 0 0 2.26 KB
#7437 EnrichedLog netcoreapp3.1 6.62μs 20.5ns 79.4ns 0 0 0 2.26 KB
#7437 EnrichedLog net472 7.48μs 8.14ns 31.5ns 0.299 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 1.99μs 9.73ns 41.3ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.65μs 13ns 51.8ns 0 0 0 1.2 KB
master SendReceive net472 3.1μs 1.36ns 5.09ns 0.185 0 0 1.2 KB
#7437 SendReceive net6.0 1.92μs 9.97ns 48.8ns 0 0 0 1.2 KB
#7437 SendReceive netcoreapp3.1 2.65μs 13.2ns 57.6ns 0 0 0 1.2 KB
#7437 SendReceive net472 3.22μs 1.66ns 6.42ns 0.178 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.07μs 16.6ns 64.2ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.52μs 7.04ns 26.4ns 0 0 0 1.63 KB
master EnrichedLog net472 6.61μs 2.85ns 9.88ns 0.297 0 0 2.03 KB
#7437 EnrichedLog net6.0 4.09μs 13.8ns 51.5ns 0 0 0 1.58 KB
#7437 EnrichedLog netcoreapp3.1 5.75μs 9.05ns 33.9ns 0 0 0 1.63 KB
#7437 EnrichedLog net472 7.15μs 9.56ns 37ns 0.288 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 742ns 3.75ns 15.5ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 936ns 4.78ns 21.4ns 0 0 0 576 B
master StartFinishSpan net472 898ns 0.137ns 0.512ns 0.0908 0 0 578 B
master StartFinishScope net6.0 901ns 4.33ns 18.4ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.12μs 5.82ns 27.9ns 0 0 0 696 B
master StartFinishScope net472 1.11μs 0.355ns 1.38ns 0.101 0 0 658 B
#7437 StartFinishSpan net6.0 739ns 0.198ns 0.684ns 0 0 0 576 B
#7437 StartFinishSpan netcoreapp3.1 935ns 4.95ns 26.2ns 0 0 0 576 B
#7437 StartFinishSpan net472 893ns 0.039ns 0.151ns 0.0912 0 0 578 B
#7437 StartFinishScope net6.0 884ns 3.94ns 15.2ns 0 0 0 696 B
#7437 StartFinishScope netcoreapp3.1 1.14μs 5.2ns 20.1ns 0 0 0 696 B
#7437 StartFinishScope net472 1.08μs 0.297ns 1.15ns 0.103 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.05μs 2.69ns 10.1ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.36μs 4.56ns 17.7ns 0 0 0 696 B
master RunOnMethodBegin net472 1.38μs 0.377ns 1.46ns 0.103 0 0 658 B
#7437 RunOnMethodBegin net6.0 1.01μs 5.33ns 23.2ns 0 0 0 696 B
#7437 RunOnMethodBegin netcoreapp3.1 1.37μs 6.89ns 31.6ns 0 0 0 696 B
#7437 RunOnMethodBegin net472 1.39μs 0.326ns 1.22ns 0.104 0 0 658 B

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:tests unit tests, integration tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant