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

[Shared] Datadog .NET APM Symbols Server

Open gleocadie opened this issue 9 months ago • 4 comments

Summary of changes

Add symbol server app

gleocadie avatar Feb 20 '25 13:02 gleocadie

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 Baseline
    This PR (6689) - mean (68ms)  : 65, 70
     .   : milestone, 68,
    master - mean (68ms)  : 65, 71
     .   : milestone, 68,

    section CallTarget+Inlining+NGEN
    This PR (6689) - mean (1,006ms)  : 989, 1024
     .   : milestone, 1006,
    master - mean (1,008ms)  : 982, 1034
     .   : milestone, 1008,

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

    section CallTarget+Inlining+NGEN
    This PR (6689) - mean (693ms)  : 672, 714
     .   : milestone, 693,
    master - mean (693ms)  : 673, 714
     .   : milestone, 693,

gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6689) - mean (89ms)  : 87, 91
     .   : milestone, 89,
    master - mean (89ms)  : 87, 91
     .   : milestone, 89,

    section CallTarget+Inlining+NGEN
    This PR (6689) - mean (657ms)  : 636, 677
     .   : milestone, 657,
    master - mean (658ms)  : 632, 683
     .   : milestone, 658,

gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6689) - mean (189ms)  : 186, 192
     .   : milestone, 189,
    master - mean (189ms)  : 185, 193
     .   : milestone, 189,

    section CallTarget+Inlining+NGEN
    This PR (6689) - mean (1,108ms)  : 1079, 1137
     .   : milestone, 1108,
    master - mean (1,107ms)  : 1080, 1133
     .   : milestone, 1107,

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

    section CallTarget+Inlining+NGEN
    This PR (6689) - mean (878ms)  : 847, 908
     .   : milestone, 878,
    master - mean (873ms)  : 840, 905
     .   : milestone, 873,

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

    section CallTarget+Inlining+NGEN
    This PR (6689) - mean (868ms)  : 839, 897
     .   : milestone, 868,
    master - mean (868ms)  : 834, 902
     .   : milestone, 868,

andrewlock avatar Feb 20 '25 13:02 andrewlock

Benchmarks Report for tracer :snail:

Benchmarks for #6689 compared to master:

  • 2 benchmarks are faster, with geometric mean 1.532
  • 1 benchmarks have fewer allocations
  • 3 benchmarks have more allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.ActivityBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #6689

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 5.72 KB 5.76 KB 43 B 0.75%
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net6.0 5.56 KB 5.6 KB 33 B 0.59%

Fewer allocations :tada: in #6689

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 6.19 KB 6.05 KB -144 B -2.33%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 8.11μs 141ns 1.41μs 0 0 0 5.56 KB
master StartStopWithChild netcoreapp3.1 10.5μs 125ns 1.25μs 0 0 0 5.72 KB
master StartStopWithChild net472 15.3μs 87.5ns 649ns 0.929 0.214 0 6.19 KB
#6689 StartStopWithChild net6.0 7.75μs 122ns 1.2μs 0 0 0 5.6 KB
#6689 StartStopWithChild netcoreapp3.1 10.4μs 128ns 1.28μs 0 0 0 5.76 KB
#6689 StartStopWithChild net472 15.5μs 86ns 551ns 1.03 0.343 0.0685 6.05 KB
Benchmarks.Trace.AgentWriterBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #6689

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 2.077 1,046,306.25 503,797.16

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 1.04ms 5.39μs 25.8μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 638μs 605ns 2.18μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 847μs 500ns 1.8μs 0 0 0 3.31 KB
#6689 WriteAndFlushEnrichedTraces net6.0 506μs 1.6μs 5.99μs 0 0 0 2.71 KB
#6689 WriteAndFlushEnrichedTraces netcoreapp3.1 657μs 2.08μs 8.56μs 0 0 0 2.7 KB
#6689 WriteAndFlushEnrichedTraces net472 854μs 923ns 3.46μs 0 0 0 3.31 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 127μs 725ns 5.76μs 0 0 0 14.48 KB
master SendRequest netcoreapp3.1 148μs 508ns 1.97μs 0 0 0 17.28 KB
master SendRequest net472 0.00266ns 0.00105ns 0.00406ns 0 0 0 0 b
#6689 SendRequest net6.0 134μs 358ns 1.56μs 0 0 0 14.48 KB
#6689 SendRequest netcoreapp3.1 151μs 642ns 3.01μs 0 0 0 17.28 KB
#6689 SendRequest net472 0.00352ns 0.00102ns 0.0038ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #6689

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 41.56 KB 41.83 KB 264 B 0.64%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 549μs 2.81μs 19.6μs 0 0 0 41.58 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 764μs 7.52μs 74.1μs 0 0 0 41.56 KB
master WriteAndFlushEnrichedTraces net472 932μs 6.09μs 60.6μs 8.33 0 0 53.42 KB
#6689 WriteAndFlushEnrichedTraces net6.0 581μs 4.06μs 38.3μs 0 0 0 41.62 KB
#6689 WriteAndFlushEnrichedTraces netcoreapp3.1 685μs 6.61μs 62.3μs 0 0 0 41.83 KB
#6689 WriteAndFlushEnrichedTraces net472 856μs 4.91μs 38.6μs 7.81 0 0 53.28 KB
Benchmarks.Trace.DbCommandBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #6689

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.130 1,892.51 1,674.76

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.25μs 1.11ns 4.01ns 0.0126 0 0 1.03 KB
master ExecuteNonQuery netcoreapp3.1 1.89μs 3.45ns 12.9ns 0.00929 0 0 1.02 KB
master ExecuteNonQuery net472 2.08μs 4.88ns 18.9ns 0.155 0.0103 0 995 B
#6689 ExecuteNonQuery net6.0 1.35μs 6.59ns 26.4ns 0.0135 0 0 1.03 KB
#6689 ExecuteNonQuery netcoreapp3.1 1.68μs 4.86ns 18.2ns 0.00835 0 0 1.02 KB
#6689 ExecuteNonQuery net472 2.15μs 5.75ns 22.3ns 0.148 0.0106 0 995 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.33μs 1.52ns 5.88ns 0.0129 0 0 984 B
master CallElasticsearch netcoreapp3.1 1.54μs 1.63ns 5.86ns 0.00773 0 0 984 B
master CallElasticsearch net472 2.48μs 1.68ns 6.52ns 0.149 0 0 1 KB
master CallElasticsearchAsync net6.0 1.25μs 1.15ns 4.32ns 0.0125 0 0 960 B
master CallElasticsearchAsync netcoreapp3.1 1.65μs 2.22ns 8.31ns 0.00818 0 0 1.03 KB
master CallElasticsearchAsync net472 2.75μs 1.43ns 5.53ns 0.165 0 0 1.06 KB
#6689 CallElasticsearch net6.0 1.34μs 1.22ns 4.72ns 0.0134 0 0 984 B
#6689 CallElasticsearch netcoreapp3.1 1.56μs 2.13ns 8.27ns 0.00777 0 0 984 B
#6689 CallElasticsearch net472 2.59μs 1.25ns 4.66ns 0.155 0 0 1 KB
#6689 CallElasticsearchAsync net6.0 1.3μs 1.13ns 4.36ns 0.0131 0 0 960 B
#6689 CallElasticsearchAsync netcoreapp3.1 1.62μs 1.25ns 4.7ns 0.00796 0 0 1.03 KB
#6689 CallElasticsearchAsync net472 2.6μs 0.972ns 3.51ns 0.168 0 0 1.06 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.46μs 0.885ns 3.43ns 0.00712 0 0 960 B
master ExecuteAsync netcoreapp3.1 1.67μs 1.22ns 4.39ns 0.00833 0 0 960 B
master ExecuteAsync net472 1.79μs 0.767ns 2.87ns 0.143 0 0 923 B
#6689 ExecuteAsync net6.0 1.35μs 1.46ns 5.66ns 0.0135 0 0 960 B
#6689 ExecuteAsync netcoreapp3.1 1.63μs 3.04ns 11.4ns 0.00801 0 0 960 B
#6689 ExecuteAsync net472 1.85μs 0.538ns 1.94ns 0.139 0 0 923 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.34μs 3.42ns 12.8ns 0.0221 0 0 2.32 KB
master SendAsync netcoreapp3.1 5.29μs 3.48ns 13.5ns 0.0263 0 0 2.86 KB
master SendAsync net472 7.51μs 6.94ns 26.9ns 0.487 0 0 3.13 KB
#6689 SendAsync net6.0 4.44μs 2.5ns 9.7ns 0.0228 0 0 2.32 KB
#6689 SendAsync netcoreapp3.1 5.37μs 2.71ns 10.1ns 0.0268 0 0 2.86 KB
#6689 SendAsync net472 7.42μs 6.91ns 25.9ns 0.48 0 0 3.13 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.54μs 7.35ns 31.2ns 0.0231 0 0 1.71 KB
master EnrichedLog netcoreapp3.1 2.28μs 3.53ns 12.7ns 0.0114 0 0 1.71 KB
master EnrichedLog net472 2.56μs 4.45ns 16.7ns 0.253 0 0 1.64 KB
#6689 EnrichedLog net6.0 1.69μs 9.77ns 82.9ns 0.0153 0 0 1.71 KB
#6689 EnrichedLog netcoreapp3.1 2.27μs 4.05ns 15.2ns 0.0224 0 0 1.71 KB
#6689 EnrichedLog net472 2.68μs 2.53ns 9.79ns 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 112μs 165ns 639ns 0 0 0 4.32 KB
master EnrichedLog netcoreapp3.1 115μs 185ns 717ns 0 0 0 4.32 KB
master EnrichedLog net472 149μs 266ns 1.03μs 0 0 0 4.51 KB
#6689 EnrichedLog net6.0 112μs 133ns 496ns 0 0 0 4.32 KB
#6689 EnrichedLog netcoreapp3.1 117μs 269ns 1.04μs 0 0 0 4.32 KB
#6689 EnrichedLog net472 153μs 207ns 746ns 0 0 0 4.51 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.17μs 2.22ns 8.32ns 0.0315 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 4.16μs 1.93ns 7.21ns 0.0209 0 0 2.26 KB
master EnrichedLog net472 4.98μs 4.07ns 15.7ns 0.322 0 0 2.09 KB
#6689 EnrichedLog net6.0 3.03μs 2.09ns 8.09ns 0.0305 0 0 2.26 KB
#6689 EnrichedLog netcoreapp3.1 4.31μs 4.92ns 17.7ns 0.0215 0 0 2.26 KB
#6689 EnrichedLog net472 4.91μs 3.85ns 14.4ns 0.314 0 0 2.09 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 1.33μs 0.838ns 3.14ns 0.0133 0 0 1.15 KB
master SendReceive netcoreapp3.1 1.8μs 1.61ns 6.03ns 0.00901 0 0 1.15 KB
master SendReceive net472 2.01μs 2.61ns 10.1ns 0.18 0 0 1.16 KB
#6689 SendReceive net6.0 1.41μs 0.793ns 2.97ns 0.0142 0 0 1.15 KB
#6689 SendReceive netcoreapp3.1 1.77μs 1.84ns 7.12ns 0.00884 0 0 1.15 KB
#6689 SendReceive net472 2.09μs 2.32ns 8.99ns 0.177 0 0 1.16 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.75μs 1.72ns 6.68ns 0.0137 0 0 1.64 KB
master EnrichedLog netcoreapp3.1 4.03μs 4.29ns 16ns 0.0201 0 0 1.69 KB
master EnrichedLog net472 4.46μs 3.37ns 13ns 0.313 0 0 2.08 KB
#6689 EnrichedLog net6.0 2.89μs 2.61ns 10.1ns 0.0144 0 0 1.64 KB
#6689 EnrichedLog netcoreapp3.1 4.11μs 3.93ns 15.2ns 0.0204 0 0 1.69 KB
#6689 EnrichedLog net472 4.56μs 5.09ns 19.7ns 0.319 0 0 2.08 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 415ns 0.358ns 1.34ns 0.00832 0 0 584 B
master StartFinishSpan netcoreapp3.1 555ns 0.665ns 2.49ns 0.00555 0 0 584 B
master StartFinishSpan net472 654ns 0.393ns 1.42ns 0.0927 0 0 586 B
master StartFinishScope net6.0 503ns 0.393ns 1.42ns 0.0101 0 0 704 B
master StartFinishScope netcoreapp3.1 731ns 2.1ns 7.26ns 0.00733 0 0 704 B
master StartFinishScope net472 835ns 0.54ns 2.02ns 0.104 0 0 666 B
#6689 StartFinishSpan net6.0 415ns 0.271ns 1.05ns 0.00825 0 0 584 B
#6689 StartFinishSpan netcoreapp3.1 606ns 0.525ns 1.97ns 0.00599 0 0 584 B
#6689 StartFinishSpan net472 698ns 0.459ns 1.78ns 0.091 0 0 586 B
#6689 StartFinishScope net6.0 492ns 0.275ns 1.07ns 0.00988 0 0 704 B
#6689 StartFinishScope netcoreapp3.1 732ns 0.818ns 3.06ns 0.00729 0 0 704 B
#6689 StartFinishScope net472 785ns 0.457ns 1.77ns 0.102 0 0 666 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 699ns 0.968ns 3.49ns 0.00702 0 0 704 B
master RunOnMethodBegin netcoreapp3.1 895ns 1.12ns 4.2ns 0.00897 0 0 704 B
master RunOnMethodBegin net472 1.04μs 0.328ns 1.23ns 0.104 0 0 666 B
#6689 RunOnMethodBegin net6.0 697ns 0.878ns 3.4ns 0.00696 0 0 704 B
#6689 RunOnMethodBegin netcoreapp3.1 955ns 1.57ns 6.09ns 0.00963 0 0 704 B
#6689 RunOnMethodBegin net472 1.06μs 0.706ns 2.73ns 0.101 0 0 666 B

andrewlock avatar Feb 20 '25 14:02 andrewlock

Datadog Report

Branch report: gleocadie/add-symbol-server-app Commit report: 0d2db3a Test service: dd-trace-dotnet

:white_check_mark: 0 Failed, 256018 Passed, 2324 Skipped, 17h 44m 26.53s Total Time

Benchmarks

Benchmarks Report for benchmark platform :snail:

Benchmarks for #6689 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.200
  • 3 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 :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 10.6μs 58.6ns 375ns 0 0 0 5.54 KB
master StartStopWithChild netcoreapp3.1 13.5μs 63.2ns 261ns 0 0 0 5.75 KB
master StartStopWithChild net472 22.3μs 119ns 604ns 0.966 0.215 0 6.19 KB
#6689 StartStopWithChild net6.0 10.7μs 57.3ns 297ns 0 0 0 5.56 KB
#6689 StartStopWithChild netcoreapp3.1 14μs 64.1ns 248ns 0 0 0 5.72 KB
#6689 StartStopWithChild net472 21.7μs 124ns 911ns 0.977 0.217 0 6.17 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 942μs 390ns 1.51μs 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 422ns 1.63μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.23ms 76.7ns 287ns 0 0 0 3.31 KB
#6689 WriteAndFlushEnrichedTraces net6.0 943μs 126ns 436ns 0 0 0 2.71 KB
#6689 WriteAndFlushEnrichedTraces netcoreapp3.1 1.03ms 94.1ns 352ns 0 0 0 2.7 KB
#6689 WriteAndFlushEnrichedTraces net472 1.22ms 870ns 3.37μs 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 331μs 309ns 1.2μs 0 0 0 197.06 KB
master AllCycleSimpleBody netcoreapp3.1 513μs 1.58μs 5.91μs 0 0 0 204.77 KB
master AllCycleSimpleBody net472 441μs 130ns 488ns 36.6 2.16 0 236.35 KB
master AllCycleMoreComplexBody net6.0 338μs 1.7μs 7.22μs 0 0 0 200.56 KB
master AllCycleMoreComplexBody netcoreapp3.1 505μs 992ns 3.84μs 0 0 0 208.18 KB
master AllCycleMoreComplexBody net472 451μs 132ns 511ns 37.9 2.23 0 239.88 KB
master ObjectExtractorSimpleBody net6.0 327ns 0.119ns 0.429ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 398ns 2.12ns 10.6ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 301ns 0.0316ns 0.118ns 0.0445 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.26μs 30.1ns 131ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.8μs 33.3ns 129ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.67μs 3.49ns 13.5ns 0.601 0 0 3.8 KB
#6689 AllCycleSimpleBody net6.0 335μs 319ns 1.24μs 0 0 0 197.06 KB
#6689 AllCycleSimpleBody netcoreapp3.1 481μs 2.35μs 9.4μs 0 0 0 204.77 KB
#6689 AllCycleSimpleBody net472 437μs 168ns 604ns 36.6 2.16 0 236.35 KB
#6689 AllCycleMoreComplexBody net6.0 341μs 1.6μs 5.97μs 0 0 0 200.56 KB
#6689 AllCycleMoreComplexBody netcoreapp3.1 519μs 1.71μs 6.63μs 0 0 0 208.18 KB
#6689 AllCycleMoreComplexBody net472 443μs 113ns 437ns 36.6 2.16 0 239.87 KB
#6689 ObjectExtractorSimpleBody net6.0 323ns 1.57ns 6.86ns 0 0 0 280 B
#6689 ObjectExtractorSimpleBody netcoreapp3.1 418ns 2.45ns 22.5ns 0 0 0 272 B
#6689 ObjectExtractorSimpleBody net472 302ns 0.0404ns 0.156ns 0.0441 0 0 281 B
#6689 ObjectExtractorMoreComplexBody net6.0 6.33μs 25.4ns 95.2ns 0 0 0 3.78 KB
#6689 ObjectExtractorMoreComplexBody netcoreapp3.1 7.87μs 39.9ns 183ns 0 0 0 3.69 KB
#6689 ObjectExtractorMoreComplexBody net472 6.69μs 4.26ns 16.5ns 0.602 0 0 3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EncodeArgs net6.0 N/A N/A N/A NaN NaN NaN 0 b
master EncodeArgs netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master EncodeArgs net472 N/A N/A N/A NaN NaN NaN 0 b
master EncodeLegacyArgs net6.0 N/A N/A N/A NaN NaN NaN 0 b
master EncodeLegacyArgs netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master EncodeLegacyArgs net472 N/A N/A N/A NaN NaN NaN 0 b
#6689 EncodeArgs net6.0 N/A N/A N/A NaN NaN NaN 0 b
#6689 EncodeArgs netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#6689 EncodeArgs net472 N/A N/A N/A NaN NaN NaN 0 b
#6689 EncodeLegacyArgs net6.0 N/A N/A N/A NaN NaN NaN 0 b
#6689 EncodeLegacyArgs netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#6689 EncodeLegacyArgs net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.Asm.AppSecWafBenchmark - Unknown :shrug: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmark netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmark net472 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmarkWithAttack net6.0 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmarkWithAttack net472 N/A N/A N/A NaN NaN NaN 0 b
#6689 RunWafRealisticBenchmark net6.0 N/A N/A N/A NaN NaN NaN 0 b
#6689 RunWafRealisticBenchmark netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#6689 RunWafRealisticBenchmark net472 N/A N/A N/A NaN NaN NaN 0 b
#6689 RunWafRealisticBenchmarkWithAttack net6.0 N/A N/A N/A NaN NaN NaN 0 b
#6689 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#6689 RunWafRealisticBenchmarkWithAttack net472 N/A N/A N/A NaN NaN NaN 0 b
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 61.3μs 54.3ns 203ns 0 0 0 14.53 KB
master SendRequest netcoreapp3.1 72.2μs 164ns 615ns 0 0 0 17.42 KB
master SendRequest net472 0.0164ns 0.00183ns 0.0071ns 0 0 0 0 b
#6689 SendRequest net6.0 62.5μs 72.9ns 263ns 0 0 0 14.53 KB
#6689 SendRequest netcoreapp3.1 72.3μs 134ns 503ns 0 0 0 17.42 KB
#6689 SendRequest net472 0.0177ns 0.00186ns 0.00721ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Faster :tada: More allocations :warning:

Faster :tada: in #6689

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 1.200 1,066,622.08 888,720.98

More allocations :warning: in #6689

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 41.88 KB 42.27 KB 387 B 0.92%

Fewer allocations :tada: in #6689

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 56.29 KB 55.99 KB -301 B -0.53%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 733μs 3.56μs 14.7μs 0 0 0 41.76 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 709μs 564ns 2.18μs 0 0 0 41.88 KB
master WriteAndFlushEnrichedTraces net472 1.07ms 5.44μs 24.9μs 8.33 0 0 56.29 KB
#6689 WriteAndFlushEnrichedTraces net6.0 702μs 3.97μs 29.5μs 0 0 0 41.62 KB
#6689 WriteAndFlushEnrichedTraces netcoreapp3.1 718μs 3.42μs 25.9μs 0 0 0 42.27 KB
#6689 WriteAndFlushEnrichedTraces net472 889μs 2.59μs 10μs 4.46 0 0 55.99 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.95μs 7.22ns 28ns 0 0 0 1.03 KB
master ExecuteNonQuery netcoreapp3.1 2.51μs 10.7ns 37ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.72μs 3.15ns 12.2ns 0.15 0.0136 0 995 B
#6689 ExecuteNonQuery net6.0 1.92μs 8.27ns 32ns 0 0 0 1.03 KB
#6689 ExecuteNonQuery netcoreapp3.1 2.42μs 7.67ns 29.7ns 0 0 0 1.02 KB
#6689 ExecuteNonQuery net472 2.89μs 4.64ns 18ns 0.158 0.0143 0 995 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.71μs 7.74ns 30ns 0 0 0 1.04 KB
master CallElasticsearch netcoreapp3.1 2.39μs 6.99ns 27.1ns 0 0 0 1.04 KB
master CallElasticsearch net472 3.61μs 6.75ns 26.1ns 0.161 0 0 1.05 KB
master CallElasticsearchAsync net6.0 1.77μs 9.07ns 41.5ns 0 0 0 1.02 KB
master CallElasticsearchAsync netcoreapp3.1 2.39μs 11.2ns 44.8ns 0 0 0 1.09 KB
master CallElasticsearchAsync net472 3.81μs 5.68ns 22ns 0.17 0 0 1.11 KB
#6689 CallElasticsearch net6.0 1.78μs 1.85ns 6.91ns 0 0 0 1.04 KB
#6689 CallElasticsearch netcoreapp3.1 2.33μs 11ns 43.9ns 0 0 0 1.04 KB
#6689 CallElasticsearch net472 3.56μs 3.22ns 12.5ns 0.16 0 0 1.05 KB
#6689 CallElasticsearchAsync net6.0 1.79μs 5.59ns 20.9ns 0 0 0 1.02 KB
#6689 CallElasticsearchAsync netcoreapp3.1 2.39μs 10.5ns 40.6ns 0 0 0 1.09 KB
#6689 CallElasticsearchAsync net472 3.77μs 2.81ns 10.9ns 0.169 0 0 1.11 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.79μs 8.84ns 38.5ns 0 0 0 960 B
master ExecuteAsync netcoreapp3.1 2.37μs 9.06ns 35.1ns 0 0 0 960 B
master ExecuteAsync net472 2.61μs 8.2ns 31.7ns 0.139 0 0 923 B
#6689 ExecuteAsync net6.0 1.85μs 8.32ns 31.1ns 0 0 0 960 B
#6689 ExecuteAsync netcoreapp3.1 2.33μs 3.73ns 14.5ns 0 0 0 960 B
#6689 ExecuteAsync net472 2.55μs 1.39ns 5.37ns 0.14 0 0 923 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.94μs 7.01ns 26.2ns 0 0 0 2.37 KB
master SendAsync netcoreapp3.1 8.74μs 35.9ns 139ns 0 0 0 2.9 KB
master SendAsync net472 12.3μs 13.7ns 52.9ns 0.489 0 0 3.19 KB
#6689 SendAsync net6.0 7.04μs 5.23ns 20.3ns 0 0 0 2.37 KB
#6689 SendAsync netcoreapp3.1 8.79μs 26.5ns 99.2ns 0 0 0 2.9 KB
#6689 SendAsync net472 12.2μs 10.3ns 38.4ns 0.489 0 0 3.19 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #6689

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 286.72 KB 352.3 KB 65.58 KB 22.87%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 255.13 KB 277.06 KB 21.93 KB 8.59%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 256.3 KB 274.34 KB 18.03 KB 7.04%

Fewer allocations :tada: in #6689

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 43.6 KB 43.38 KB -224 B -0.51%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 65.54 KB 57.34 KB -8.19 KB -12.50%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 51.5μs 676ns 6.76μs 0 0 0 43.6 KB
master StringConcatBenchmark netcoreapp3.1 52.2μs 515ns 4.94μs 0 0 0 42.84 KB
master StringConcatBenchmark net472 57μs 192ns 719ns 0 0 0 65.54 KB
master StringConcatAspectBenchmark net6.0 443μs 1.34μs 4.65μs 0 0 0 256.3 KB
master StringConcatAspectBenchmark netcoreapp3.1 493μs 2.46μs 10.7μs 0 0 0 255.13 KB
master StringConcatAspectBenchmark net472 412μs 1.36μs 5.26μs 0 0 0 286.72 KB
#6689 StringConcatBenchmark net6.0 44.6μs 234ns 1.44μs 0 0 0 43.38 KB
#6689 StringConcatBenchmark netcoreapp3.1 50.3μs 297ns 2.69μs 0 0 0 42.73 KB
#6689 StringConcatBenchmark net472 56.4μs 271ns 1.15μs 0 0 0 57.34 KB
#6689 StringConcatAspectBenchmark net6.0 478μs 1.48μs 5.74μs 0 0 0 274.34 KB
#6689 StringConcatAspectBenchmark netcoreapp3.1 524μs 2.28μs 8.53μs 0 0 0 277.06 KB
#6689 StringConcatAspectBenchmark net472 405μs 2.18μs 11.7μs 0 0 0 352.3 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.54μs 13ns 62.3ns 0 0 0 1.76 KB
master EnrichedLog netcoreapp3.1 3.39μs 17.2ns 82.5ns 0 0 0 1.76 KB
master EnrichedLog net472 3.9μs 2.07ns 7.16ns 0.255 0 0 1.69 KB
#6689 EnrichedLog net6.0 2.58μs 14.2ns 86.7ns 0 0 0 1.76 KB
#6689 EnrichedLog netcoreapp3.1 3.42μs 12.3ns 47.6ns 0 0 0 1.76 KB
#6689 EnrichedLog net472 3.87μs 3.4ns 13.2ns 0.25 0 0 1.69 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 122μs 59.4ns 206ns 0 0 0 4.37 KB
master EnrichedLog netcoreapp3.1 126μs 222ns 830ns 0 0 0 4.37 KB
master EnrichedLog net472 165μs 136ns 526ns 0 0 0 4.57 KB
#6689 EnrichedLog net6.0 123μs 97.8ns 366ns 0 0 0 4.37 KB
#6689 EnrichedLog netcoreapp3.1 128μs 90.6ns 327ns 0 0 0 4.37 KB
#6689 EnrichedLog net472 167μs 249ns 965ns 0 0 0 4.57 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.03μs 4.04ns 15.1ns 0 0 0 2.32 KB
master EnrichedLog netcoreapp3.1 6.56μs 22.3ns 86.3ns 0 0 0 2.32 KB
master EnrichedLog net472 7.52μs 7.63ns 29.5ns 0.339 0 0 2.14 KB
#6689 EnrichedLog net6.0 5.04μs 21.4ns 83ns 0 0 0 2.32 KB
#6689 EnrichedLog netcoreapp3.1 6.79μs 9.71ns 36.3ns 0 0 0 2.32 KB
#6689 EnrichedLog net472 7.32μs 10.6ns 41ns 0.327 0 0 2.14 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.94μs 9.87ns 50.3ns 0 0 0 1.21 KB
master SendReceive netcoreapp3.1 2.56μs 12.5ns 54.7ns 0 0 0 1.21 KB
master SendReceive net472 3.05μs 3.72ns 13.9ns 0.183 0 0 1.21 KB
#6689 SendReceive net6.0 1.97μs 1.79ns 6.69ns 0 0 0 1.21 KB
#6689 SendReceive netcoreapp3.1 2.61μs 12.4ns 48ns 0 0 0 1.21 KB
#6689 SendReceive net472 3.07μs 3.49ns 13.5ns 0.184 0 0 1.21 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.17μs 11.9ns 46.2ns 0 0 0 1.64 KB
master EnrichedLog netcoreapp3.1 5.82μs 5.38ns 20.8ns 0 0 0 1.69 KB
master EnrichedLog net472 6.57μs 5.55ns 21.5ns 0.327 0 0 2.08 KB
#6689 EnrichedLog net6.0 4.23μs 5.19ns 20.1ns 0 0 0 1.64 KB
#6689 EnrichedLog netcoreapp3.1 5.66μs 11.8ns 44.3ns 0 0 0 1.69 KB
#6689 EnrichedLog net472 6.54μs 5.09ns 19.7ns 0.324 0 0 2.08 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 739ns 3.16ns 12.2ns 0 0 0 584 B
master StartFinishSpan netcoreapp3.1 939ns 0.37ns 1.43ns 0 0 0 584 B
master StartFinishSpan net472 930ns 0.266ns 0.96ns 0.0926 0 0 586 B
master StartFinishScope net6.0 902ns 0.578ns 2.24ns 0 0 0 704 B
master StartFinishScope netcoreapp3.1 1.21μs 4.52ns 17.5ns 0 0 0 704 B
master StartFinishScope net472 1.14μs 0.457ns 1.77ns 0.102 0 0 666 B
#6689 StartFinishSpan net6.0 730ns 4.04ns 23.9ns 0 0 0 584 B
#6689 StartFinishSpan netcoreapp3.1 936ns 5.09ns 29.7ns 0 0 0 584 B
#6689 StartFinishSpan net472 924ns 0.166ns 0.622ns 0.09 0 0 586 B
#6689 StartFinishScope net6.0 898ns 0.298ns 1.07ns 0 0 0 704 B
#6689 StartFinishScope netcoreapp3.1 1.2μs 6.04ns 25.6ns 0 0 0 704 B
#6689 StartFinishScope net472 1.15μs 1.31ns 5.07ns 0.103 0 0 666 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.01μs 5.51ns 30.2ns 0 0 0 704 B
master RunOnMethodBegin netcoreapp3.1 1.36μs 5.89ns 22.8ns 0 0 0 704 B
master RunOnMethodBegin net472 1.39μs 3.81ns 14.8ns 0.102 0 0 666 B
#6689 RunOnMethodBegin net6.0 1.02μs 5.21ns 23.9ns 0 0 0 704 B
#6689 RunOnMethodBegin netcoreapp3.1 1.35μs 2.41ns 9.34ns 0 0 0 704 B
#6689 RunOnMethodBegin net472 1.38μs 1.2ns 4.64ns 0.103 0 0 666 B

pr-commenter[bot] avatar May 05 '25 11:05 pr-commenter[bot]