Skip to content

Conversation

@andrewlock
Copy link
Member

Summary of changes

Reason for change

Implementation details

Test coverage

Other details

@andrewlock andrewlock force-pushed the andrew/remove-log-rate-limiter branch 2 times, most recently from 9a11afa to d611c0d Compare December 2, 2025 07:55
@dd-trace-dotnet-ci-bot
Copy link

dd-trace-dotnet-ci-bot bot commented Dec 2, 2025

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing This PR (7886) and master.

✅ No regressions detected - check the details below

Full Metrics Comparison

FakeDbCommand

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration75.83 ± (75.55 - 76.16) ms75.90 ± (75.87 - 76.47) ms+0.1%✅⬆️
.NET Framework 4.8 - Bailout
duration78.99 ± (78.82 - 79.41) ms80.28 ± (80.03 - 80.64) ms+1.6%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1057.40 ± (1058.45 - 1068.29) ms1062.62 ± (1062.64 - 1071.04) ms+0.5%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms22.89 ± (22.81 - 22.96) ms23.02 ± (22.95 - 23.09) ms+0.6%✅⬆️
process.time_to_main_ms87.43 ± (87.06 - 87.80) ms87.92 ± (87.60 - 88.23) ms+0.6%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.90 ± (10.89 - 10.90) MB10.91 ± (10.90 - 10.91) MB+0.1%✅⬆️
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms22.90 ± (22.82 - 22.97) ms23.01 ± (22.94 - 23.08) ms+0.5%✅⬆️
process.time_to_main_ms88.10 ± (87.77 - 88.43) ms89.95 ± (89.63 - 90.27) ms+2.1%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.94 ± (10.94 - 10.94) MB10.95 ± (10.95 - 10.96) MB+0.1%✅⬆️
runtime.dotnet.threads.count13 ± (13 - 13)13 ± (13 - 13)+0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms223.89 ± (222.16 - 225.62) ms223.33 ± (221.99 - 224.68) ms-0.2%
process.time_to_main_ms500.05 ± (498.87 - 501.23) ms503.50 ± (502.41 - 504.60) ms+0.7%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed47.83 ± (47.81 - 47.85) MB47.77 ± (47.75 - 47.79) MB-0.1%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.0%
.NET 6 - Baseline
process.internal_duration_ms21.69 ± (21.63 - 21.76) ms21.78 ± (21.71 - 21.85) ms+0.4%✅⬆️
process.time_to_main_ms75.84 ± (75.52 - 76.16) ms77.28 ± (76.92 - 77.64) ms+1.9%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.60 ± (10.60 - 10.60) MB10.63 ± (10.63 - 10.63) MB+0.3%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms21.75 ± (21.67 - 21.83) ms21.67 ± (21.60 - 21.74) ms-0.4%
process.time_to_main_ms77.53 ± (77.17 - 77.88) ms78.28 ± (77.90 - 78.65) ms+1.0%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.65 ± (10.65 - 10.66) MB10.67 ± (10.66 - 10.67) MB+0.1%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms212.13 ± (210.92 - 213.34) ms212.84 ± (211.75 - 213.92) ms+0.3%✅⬆️
process.time_to_main_ms467.85 ± (466.76 - 468.95) ms466.24 ± (465.14 - 467.35) ms-0.3%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed48.06 ± (48.04 - 48.08) MB47.97 ± (47.94 - 48.00) MB-0.2%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)-0.0%
.NET 8 - Baseline
process.internal_duration_ms19.78 ± (19.71 - 19.84) ms19.93 ± (19.87 - 20.00) ms+0.8%✅⬆️
process.time_to_main_ms74.68 ± (74.32 - 75.04) ms75.75 ± (75.45 - 76.05) ms+1.4%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.65 ± (7.64 - 7.66) MB7.65 ± (7.64 - 7.65) MB-0.1%
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms19.66 ± (19.59 - 19.72) ms19.91 ± (19.84 - 19.97) ms+1.3%✅⬆️
process.time_to_main_ms75.68 ± (75.37 - 76.00) ms76.80 ± (76.48 - 77.11) ms+1.5%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.70 ± (7.70 - 7.71) MB7.71 ± (7.70 - 7.71) MB+0.0%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms189.46 ± (188.56 - 190.36) ms193.42 ± (192.42 - 194.43) ms+2.1%✅⬆️
process.time_to_main_ms449.97 ± (448.92 - 451.01) ms456.52 ± (455.43 - 457.62) ms+1.5%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed36.32 ± (36.29 - 36.36) MB36.32 ± (36.28 - 36.37) MB-0.0%
runtime.dotnet.threads.count27 ± (27 - 27)27 ± (27 - 27)-0.2%

HttpMessageHandler

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration193.77 ± (193.60 - 194.35) ms192.70 ± (192.53 - 193.36) ms-0.5%
.NET Framework 4.8 - Bailout
duration197.31 ± (197.17 - 197.75) ms196.81 ± (196.46 - 196.85) ms-0.2%
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1116.06 ± (1120.27 - 1129.06) ms1109.59 ± (1112.33 - 1119.93) ms-0.6%
.NET Core 3.1 - Baseline
process.internal_duration_ms189.51 ± (189.13 - 189.89) ms188.18 ± (187.81 - 188.54) ms-0.7%
process.time_to_main_ms81.72 ± (81.49 - 81.96) ms80.93 ± (80.72 - 81.15) ms-1.0%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.15 ± (16.12 - 16.18) MB16.09 ± (16.06 - 16.12) MB-0.3%
runtime.dotnet.threads.count20 ± (20 - 20)20 ± (20 - 20)+0.1%✅⬆️
.NET Core 3.1 - Bailout
process.internal_duration_ms188.37 ± (188.05 - 188.70) ms187.60 ± (187.29 - 187.91) ms-0.4%
process.time_to_main_ms82.76 ± (82.62 - 82.91) ms82.20 ± (82.06 - 82.35) ms-0.7%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.16 ± (16.13 - 16.19) MB16.22 ± (16.18 - 16.26) MB+0.4%✅⬆️
runtime.dotnet.threads.count21 ± (21 - 21)21 ± (20 - 21)-0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms403.09 ± (400.43 - 405.75) ms401.38 ± (398.99 - 403.76) ms-0.4%
process.time_to_main_ms475.20 ± (474.53 - 475.87) ms475.45 ± (474.82 - 476.08) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed58.86 ± (58.74 - 58.97) MB58.78 ± (58.67 - 58.89) MB-0.1%
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 30)+0.1%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms192.34 ± (191.96 - 192.73) ms192.79 ± (192.36 - 193.22) ms+0.2%✅⬆️
process.time_to_main_ms70.53 ± (70.35 - 70.70) ms70.45 ± (70.24 - 70.66) ms-0.1%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.33 ± (16.23 - 16.43) MB16.36 ± (16.30 - 16.42) MB+0.2%✅⬆️
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)+0.7%✅⬆️
.NET 6 - Bailout
process.internal_duration_ms194.99 ± (194.50 - 195.48) ms192.75 ± (192.39 - 193.10) ms-1.1%
process.time_to_main_ms72.51 ± (72.31 - 72.70) ms71.64 ± (71.50 - 71.77) ms-1.2%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.48 ± (16.45 - 16.50) MB16.44 ± (16.41 - 16.47) MB-0.2%
runtime.dotnet.threads.count20 ± (20 - 20)20 ± (20 - 20)-0.3%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms410.98 ± (408.75 - 413.21) ms407.69 ± (405.88 - 409.50) ms-0.8%
process.time_to_main_ms444.17 ± (443.49 - 444.86) ms442.07 ± (441.47 - 442.67) ms-0.5%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed59.10 ± (58.96 - 59.23) MB59.05 ± (58.94 - 59.17) MB-0.1%
runtime.dotnet.threads.count29 ± (29 - 30)30 ± (29 - 30)+0.2%✅⬆️
.NET 8 - Baseline
process.internal_duration_ms190.95 ± (190.68 - 191.22) ms191.04 ± (190.58 - 191.50) ms+0.0%✅⬆️
process.time_to_main_ms70.10 ± (69.92 - 70.27) ms69.67 ± (69.47 - 69.88) ms-0.6%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.82 ± (11.79 - 11.84) MB11.77 ± (11.74 - 11.80) MB-0.4%
runtime.dotnet.threads.count18 ± (18 - 18)18 ± (18 - 18)-0.2%
.NET 8 - Bailout
process.internal_duration_ms190.42 ± (190.15 - 190.70) ms189.96 ± (189.71 - 190.21) ms-0.2%
process.time_to_main_ms71.15 ± (71.03 - 71.26) ms70.43 ± (70.32 - 70.53) ms-1.0%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.84 ± (11.81 - 11.86) MB11.80 ± (11.73 - 11.87) MB-0.3%
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)-0.8%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms365.86 ± (364.42 - 367.29) ms363.64 ± (362.07 - 365.21) ms-0.6%
process.time_to_main_ms432.55 ± (431.96 - 433.15) ms429.19 ± (428.61 - 429.77) ms-0.8%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed48.00 ± (47.98 - 48.03) MB47.84 ± (47.81 - 47.87) MB-0.3%
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)-0.8%
Comparison explanation

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 highlighted 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).

Duration charts
FakeDbCommand (.NET Framework 4.8)
gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7886) - mean (76ms)  : 72, 81
    master - mean (76ms)  : 71, 80

    section Bailout
    This PR (7886) - mean (80ms)  : 76, 85
    master - mean (79ms)  : 75, 83

    section CallTarget+Inlining+NGEN
    This PR (7886) - mean (1,067ms)  : 1006, 1128
    master - mean (1,063ms)  : 990, 1137

Loading
FakeDbCommand (.NET Core 3.1)
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7886) - mean (118ms)  : 112, 125
    master - mean (118ms)  : 112, 124

    section Bailout
    This PR (7886) - mean (120ms)  : 115, 126
    master - mean (118ms)  : 111, 125

    section CallTarget+Inlining+NGEN
    This PR (7886) - mean (769ms)  : 732, 806
    master - mean (764ms)  : 729, 799

Loading
FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7886) - mean (106ms)  : 99, 114
    master - mean (104ms)  : 99, 110

    section Bailout
    This PR (7886) - mean (107ms)  : 101, 113
    master - mean (106ms)  : 98, 114

    section CallTarget+Inlining+NGEN
    This PR (7886) - mean (708ms)  : 676, 741
    master - mean (707ms)  : 673, 741

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7886) - mean (104ms)  : 97, 111
    master - mean (103ms)  : 95, 111

    section Bailout
    This PR (7886) - mean (105ms)  : 98, 113
    master - mean (104ms)  : 97, 110

    section CallTarget+Inlining+NGEN
    This PR (7886) - mean (687ms)  : 643, 730
    master - mean (672ms)  : 639, 704

Loading
HttpMessageHandler (.NET Framework 4.8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7886) - mean (193ms)  : 189, 197
    master - mean (194ms)  : 190, 198

    section Bailout
    This PR (7886) - mean (197ms)  : 195, 198
    master - mean (197ms)  : 195, 200

    section CallTarget+Inlining+NGEN
    This PR (7886) - mean (1,116ms)  : 1062, 1170
    master - mean (1,125ms)  : 1060, 1190

Loading
HttpMessageHandler (.NET Core 3.1)
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7886) - mean (277ms)  : 272, 283
    master - mean (280ms)  : 274, 285

    section Bailout
    This PR (7886) - mean (278ms)  : 274, 282
    master - mean (280ms)  : 275, 285

    section CallTarget+Inlining+NGEN
    This PR (7886) - mean (918ms)  : 879, 956
    master - mean (919ms)  : 866, 972

Loading
HttpMessageHandler (.NET 6)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7886) - mean (272ms)  : 266, 277
    master - mean (271ms)  : 265, 278

    section Bailout
    This PR (7886) - mean (272ms)  : 267, 278
    master - mean (276ms)  : 264, 289

    section CallTarget+Inlining+NGEN
    This PR (7886) - mean (885ms)  : 853, 916
    master - mean (896ms)  : 861, 931

Loading
HttpMessageHandler (.NET 8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7886) - mean (270ms)  : 265, 276
    master - mean (271ms)  : 267, 275

    section Bailout
    This PR (7886) - mean (270ms)  : 267, 273
    master - mean (271ms)  : 268, 274

    section CallTarget+Inlining+NGEN
    This PR (7886) - mean (823ms)  : 801, 845
    master - mean (830ms)  : 804, 856

Loading

@datadog-official
Copy link

datadog-official bot commented Dec 2, 2025

⚠️ Tests

⚠️ Warnings

🧪 22 Tests failed

ExtractAgentVersionHeaderAndLogsWarning from Datadog.Trace.Tests.Agent.ApiTests (Datadog)
Expected invocation on the mock once, but was 0 times: log => log.Warning<string, int, string>(It.Is<string>(s => s.Contains("Partial flush should only be enabled with agent 7.26.0+")), It.IsAny<string>(), It.IsAny<int>(), It.IsAny<string>())

Performed invocations:

   Mock<IDatadogLogger:1> (log):

      IDatadogLogger.Debug("Creating new Api")
      IDatadogLogger.Debug<string>("Using traces endpoint {TracesEndpoint}", "http://localhost/traces")
      IDatadogLogger.Debug<string>("Using stats endpoint {StatsEndpoint}", "http://localhost/stats")
      IDatadogLogger.Debug<int>("Sending {Count} traces to the Datadog Agent.", 1)
...
ExtractAgentVersionHeaderAndLogsWarning from Datadog.Trace.Tests.Agent.ApiTests (Datadog)
Expected invocation on the mock once, but was 0 times: log => log.Warning<string, int, string>(It.Is<string>(s => s.Contains("Partial flush should only be enabled with agent 7.26.0+")), It.IsAny<string>(), It.IsAny<int>(), It.IsAny<string>())

Performed invocations:

   Mock<IDatadogLogger:22> (log):

      IDatadogLogger.Debug("Creating new Api")
      IDatadogLogger.Debug<string>("Using traces endpoint {TracesEndpoint}", "http://localhost/traces")
      IDatadogLogger.Debug<string>("Using stats endpoint {StatsEndpoint}", "http://localhost/stats")
      IDatadogLogger.Debug<int>("Sending {Count} traces to the Datadog Agent.", 1)
...
ExtractAgentVersionHeaderAndLogsWarning from Datadog.Trace.Tests.Agent.ApiTests (Datadog)
Expected invocation on the mock once, but was 0 times: log => log.Warning<string, int, string>(It.Is<string>(s => s.Contains("Partial flush should only be enabled with agent 7.26.0+")), It.IsAny<string>(), It.IsAny<int>(), It.IsAny<string>())

Performed invocations:

   Mock<IDatadogLogger:1> (log):

      IDatadogLogger.Debug("Creating new Api")
      IDatadogLogger.Debug<string>("Using traces endpoint {TracesEndpoint}", "http://localhost/traces")
      IDatadogLogger.Debug<string>("Using stats endpoint {StatsEndpoint}", "http://localhost/stats")
      IDatadogLogger.Debug<int>("Sending {Count} traces to the Datadog Agent.", 1)
...
View all

ℹ️ Info

❄️ No new flaky tests detected

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

@pr-commenter
Copy link

pr-commenter bot commented Dec 2, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7886 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.146
  • 1 benchmarks are slower, with geometric mean 1.195
  • 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 ✔️ More allocations ⚠️

More allocations ⚠️ in #7886

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 5.62 KB 5.71 KB 86 B 1.53%

Fewer allocations 🎉 in #7886

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 5.99 KB 5.95 KB -38 B -0.63%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 11.5μs 62.2ns 357ns 0 0 0 5.5 KB
master StartStopWithChild netcoreapp3.1 14.3μs 54ns 209ns 0 0 0 5.62 KB
master StartStopWithChild net472 21.8μs 94.3ns 353ns 0.888 0.222 0 5.99 KB
#7886 StartStopWithChild net6.0 11.2μs 52.3ns 216ns 0 0 0 5.5 KB
#7886 StartStopWithChild netcoreapp3.1 14.2μs 73.1ns 335ns 0 0 0 5.71 KB
#7886 StartStopWithChild net472 21.7μs 117ns 671ns 0.957 0.319 0.106 5.95 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 1.25ms 103ns 400ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.38ms 481ns 1.8μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.75ms 1.26μs 4.71μs 0 0 0 3.26 KB
#7886 WriteAndFlushEnrichedTraces net6.0 1.25ms 164ns 634ns 0 0 0 2.7 KB
#7886 WriteAndFlushEnrichedTraces netcoreapp3.1 1.4ms 141ns 529ns 0 0 0 2.7 KB
#7886 WriteAndFlushEnrichedTraces net472 1.72ms 405ns 1.57μs 0 0 0 3.26 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 1.1μs 6ns 36.5ns 0 0 0 1.22 KB
master AllCycleSimpleBody netcoreapp3.1 1.37μs 7.69ns 52.7ns 0 0 0 1.2 KB
master AllCycleSimpleBody net472 1μs 0.0683ns 0.255ns 0.191 0 0 1.23 KB
master AllCycleMoreComplexBody net6.0 7.31μs 33.6ns 134ns 0 0 0 4.72 KB
master AllCycleMoreComplexBody netcoreapp3.1 8.93μs 46ns 221ns 0 0 0 4.62 KB
master AllCycleMoreComplexBody net472 7.7μs 2.54ns 9.83ns 0.733 0 0 4.74 KB
master ObjectExtractorSimpleBody net6.0 320ns 1.8ns 12.4ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 405ns 1.95ns 7.8ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 302ns 0.0715ns 0.258ns 0.0441 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.33μs 25.9ns 100ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.79μs 39.3ns 180ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.68μs 4.87ns 18.2ns 0.601 0 0 3.8 KB
#7886 AllCycleSimpleBody net6.0 1.08μs 5.4ns 27ns 0 0 0 1.22 KB
#7886 AllCycleSimpleBody netcoreapp3.1 1.38μs 7.8ns 51.2ns 0 0 0 1.2 KB
#7886 AllCycleSimpleBody net472 1.03μs 0.305ns 1.18ns 0.191 0 0 1.23 KB
#7886 AllCycleMoreComplexBody net6.0 7.16μs 34.1ns 132ns 0 0 0 4.72 KB
#7886 AllCycleMoreComplexBody netcoreapp3.1 9.12μs 43.3ns 179ns 0 0 0 4.62 KB
#7886 AllCycleMoreComplexBody net472 7.72μs 3.35ns 12.6ns 0.74 0 0 4.74 KB
#7886 ObjectExtractorSimpleBody net6.0 329ns 1.68ns 7.89ns 0 0 0 280 B
#7886 ObjectExtractorSimpleBody netcoreapp3.1 396ns 2.24ns 16ns 0 0 0 272 B
#7886 ObjectExtractorSimpleBody net472 297ns 0.0262ns 0.0978ns 0.0434 0 0 281 B
#7886 ObjectExtractorMoreComplexBody net6.0 6.36μs 33.3ns 166ns 0 0 0 3.78 KB
#7886 ObjectExtractorMoreComplexBody netcoreapp3.1 7.82μs 40.1ns 192ns 0 0 0 3.69 KB
#7886 ObjectExtractorMoreComplexBody net472 6.7μs 3.24ns 12.1ns 0.572 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.1μs 185ns 716ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 98.2μs 268ns 1.04μs 0 0 0 32.4 KB
master EncodeArgs net472 110μs 13.2ns 49.5ns 4.93 0 0 32.5 KB
master EncodeLegacyArgs net6.0 144μs 264ns 1.02μs 0 0 0 2.14 KB
master EncodeLegacyArgs netcoreapp3.1 196μs 43.9ns 164ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 261μs 31.9ns 124ns 0 0 0 2.14 KB
#7886 EncodeArgs net6.0 80.7μs 20.5ns 79.4ns 0 0 0 32.4 KB
#7886 EncodeArgs netcoreapp3.1 96.4μs 272ns 1.05μs 0 0 0 32.4 KB
#7886 EncodeArgs net472 108μs 9.31ns 34.8ns 4.86 0 0 32.5 KB
#7886 EncodeLegacyArgs net6.0 146μs 19.8ns 76.6ns 0 0 0 2.14 KB
#7886 EncodeLegacyArgs netcoreapp3.1 201μs 171ns 664ns 0 0 0 2.14 KB
#7886 EncodeLegacyArgs net472 265μs 26.6ns 103ns 0 0 0 2.15 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 438μs 797ns 2.98μs 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 474μs 4.68μs 45.3μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 500μs 564ns 2.03μs 0 0 0 0 b
master RunWafRealisticBenchmarkWithAttack net6.0 329μs 1.5μs 5.82μs 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 350μs 3.18μs 30.5μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 369μs 507ns 1.83μs 0 0 0 0 b
#7886 RunWafRealisticBenchmark net6.0 435μs 1.39μs 5.03μs 0 0 0 4.55 KB
#7886 RunWafRealisticBenchmark netcoreapp3.1 450μs 1.44μs 4.97μs 0 0 0 4.48 KB
#7886 RunWafRealisticBenchmark net472 497μs 272ns 982ns 0 0 0 0 b
#7886 RunWafRealisticBenchmarkWithAttack net6.0 320μs 884ns 3.19μs 0 0 0 2.24 KB
#7886 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 341μs 1.53μs 5.71μs 0 0 0 2.22 KB
#7886 RunWafRealisticBenchmarkWithAttack net472 372μs 501ns 1.94μs 0 0 0 0 b
Benchmarks.Trace.AspNetCoreBenchmark - Unknown 🤷 Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 85.2μs 48.8ns 176ns 0 0 0 19.03 KB
master SendRequest netcoreapp3.1 97.7μs 362ns 2.45μs 0 0 0 21.25 KB
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#7886 SendRequest net6.0 84.6μs 67.5ns 262ns 0 0 0 19.04 KB
#7886 SendRequest netcoreapp3.1 96μs 128ns 445ns 0 0 0 21.25 KB
#7886 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #7886

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 1.146 1,619,900.00 1,413,900.00

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.93ms 863ns 3.34μs 0 0 0 640 KB
master OriginalCharSlice netcoreapp3.1 3.88ms 1.04μs 3.76μs 0 0 0 640 KB
master OriginalCharSlice net472 2.71ms 768ns 2.77μs 0 0 0 638.98 KB
master OptimizedCharSlice net6.0 1.62ms 1.06μs 4.12μs 0 0 0 0 b
master OptimizedCharSlice netcoreapp3.1 2.75ms 1.44μs 5.18μs 0 0 0 0 b
master OptimizedCharSlice net472 2.06ms 5.97μs 23.1μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 1.06ms 920ns 3.32μs 0 0 0 0 b
master OptimizedCharSliceWithPool netcoreapp3.1 1.91ms 1.1μs 4.11μs 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.13ms 293ns 1.1μs 0 0 0 0 b
#7886 OriginalCharSlice net6.0 2.14ms 16μs 159μs 0 0 0 640 KB
#7886 OriginalCharSlice netcoreapp3.1 3.92ms 10.1μs 38μs 0 0 0 640.05 KB
#7886 OriginalCharSlice net472 2.73ms 832ns 3.11μs 0 0 0 638.98 KB
#7886 OptimizedCharSlice net6.0 1.41ms 812ns 3.14μs 0 0 0 0 b
#7886 OptimizedCharSlice netcoreapp3.1 2.76ms 4.47μs 17.3μs 0 0 0 0 b
#7886 OptimizedCharSlice net472 1.97ms 1.47μs 5.71μs 0 0 0 0 b
#7886 OptimizedCharSliceWithPool net6.0 1.06ms 915ns 3.42μs 0 0 0 0 b
#7886 OptimizedCharSliceWithPool netcoreapp3.1 1.87ms 1.43μs 5.55μs 0 0 0 0 b
#7886 OptimizedCharSliceWithPool net472 1.13ms 276ns 1.07μs 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7886

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 41.95 KB 43.06 KB 1.11 KB 2.64%
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 55.58 KB 56.22 KB 636 B 1.14%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 698μs 3.92μs 24.8μs 0 0 0 41.69 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 736μs 4.18μs 31.3μs 0 0 0 41.95 KB
master WriteAndFlushEnrichedTraces net472 841μs 3.98μs 14.9μs 4.46 0 0 55.58 KB
#7886 WriteAndFlushEnrichedTraces net6.0 658μs 3.17μs 13.4μs 0 0 0 41.61 KB
#7886 WriteAndFlushEnrichedTraces netcoreapp3.1 722μs 4.15μs 33.7μs 0 0 0 43.06 KB
#7886 WriteAndFlushEnrichedTraces net472 918μs 2.22μs 8.31μs 8.33 4.17 0 56.22 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.93μs 5.62ns 21.8ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.61μs 4.42ns 17.1ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.75μs 4.27ns 16.6ns 0.15 0 0 987 B
#7886 ExecuteNonQuery net6.0 1.87μs 8.33ns 31.1ns 0 0 0 1.02 KB
#7886 ExecuteNonQuery netcoreapp3.1 2.54μs 3.75ns 14.5ns 0 0 0 1.02 KB
#7886 ExecuteNonQuery net472 2.98μs 2.48ns 9.59ns 0.148 0 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.75μs 8.82ns 41.4ns 0 0 0 1.01 KB
master CallElasticsearch netcoreapp3.1 2.35μs 8.45ns 31.6ns 0 0 0 1.02 KB
master CallElasticsearch net472 3.39μs 3.52ns 13.6ns 0.151 0 0 1.01 KB
master CallElasticsearchAsync net6.0 1.72μs 5.65ns 21.1ns 0 0 0 984 B
master CallElasticsearchAsync netcoreapp3.1 2.49μs 6.14ns 23.8ns 0 0 0 1.07 KB
master CallElasticsearchAsync net472 3.54μs 1.85ns 7.18ns 0.158 0 0 1.07 KB
#7886 CallElasticsearch net6.0 1.81μs 7.73ns 29.9ns 0 0 0 1.01 KB
#7886 CallElasticsearch netcoreapp3.1 2.35μs 10.8ns 43.4ns 0 0 0 1.02 KB
#7886 CallElasticsearch net472 3.45μs 4ns 15ns 0.157 0 0 1.01 KB
#7886 CallElasticsearchAsync net6.0 1.79μs 7.97ns 29.8ns 0 0 0 984 B
#7886 CallElasticsearchAsync netcoreapp3.1 2.42μs 11.4ns 44ns 0 0 0 1.07 KB
#7886 CallElasticsearchAsync net472 3.55μs 2.58ns 9.98ns 0.161 0 0 1.07 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 8.24ns 30.8ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.47μs 6.65ns 25.8ns 0 0 0 952 B
master ExecuteAsync net472 2.68μs 4.53ns 17.6ns 0.135 0 0 915 B
#7886 ExecuteAsync net6.0 1.89μs 6.24ns 23.4ns 0 0 0 952 B
#7886 ExecuteAsync netcoreapp3.1 2.37μs 12.2ns 56.1ns 0 0 0 952 B
#7886 ExecuteAsync net472 2.69μs 1.04ns 4.02ns 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.95μs 8.49ns 32.9ns 0 0 0 2.34 KB
master SendAsync netcoreapp3.1 8.41μs 29.7ns 115ns 0 0 0 2.89 KB
master SendAsync net472 12.2μs 11.2ns 43.3ns 0.49 0 0 3.14 KB
#7886 SendAsync net6.0 6.9μs 21.6ns 83.6ns 0 0 0 2.34 KB
#7886 SendAsync netcoreapp3.1 8.58μs 7.47ns 28.9ns 0 0 0 2.89 KB
#7886 SendAsync net472 12.1μs 7.27ns 27.2ns 0.484 0 0 3.14 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Slower ⚠️ More allocations ⚠️

Slower ⚠️ in #7886

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 1.195 466,150.00 557,100.00

More allocations ⚠️ in #7886

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 49.15 KB 57.34 KB 8.19 KB 16.67%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 257.69 KB 278.24 KB 20.55 KB 7.98%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 276.66 KB 278.78 KB 2.13 KB 0.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 50.4μs 628ns 6.19μs 0 0 0 42.51 KB
master StringConcatBenchmark netcoreapp3.1 51.1μs 302ns 2.85μs 0 0 0 42.54 KB
master StringConcatBenchmark net472 56.7μs 279ns 1.15μs 0 0 0 49.15 KB
master StringConcatAspectBenchmark net6.0 467μs 1.75μs 7.02μs 0 0 0 257.69 KB
master StringConcatAspectBenchmark netcoreapp3.1 490μs 7.39μs 73.5μs 0 0 0 276.66 KB
master StringConcatAspectBenchmark net472 419μs 1.75μs 6.53μs 0 0 0 270.34 KB
#7886 StringConcatBenchmark net6.0 49.3μs 310ns 2.81μs 0 0 0 42.51 KB
#7886 StringConcatBenchmark netcoreapp3.1 50.5μs 279ns 2.14μs 0 0 0 42.54 KB
#7886 StringConcatBenchmark net472 58.7μs 194ns 752ns 0 0 0 57.34 KB
#7886 StringConcatAspectBenchmark net6.0 560μs 2.08μs 7.5μs 0 0 0 278.24 KB
#7886 StringConcatAspectBenchmark netcoreapp3.1 537μs 1.85μs 9.44μs 0 0 0 278.78 KB
#7886 StringConcatAspectBenchmark net472 409μs 2.17μs 12.1μs 0 0 0 269.04 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.7μs 12.3ns 49.3ns 0 0 0 1.69 KB
master EnrichedLog netcoreapp3.1 3.51μs 17.7ns 81.2ns 0 0 0 1.7 KB
master EnrichedLog net472 3.82μs 4.76ns 18.4ns 0.248 0 0 1.6 KB
#7886 EnrichedLog net6.0 2.67μs 14.3ns 72.7ns 0 0 0 1.69 KB
#7886 EnrichedLog netcoreapp3.1 3.53μs 12.2ns 44.1ns 0 0 0 1.7 KB
#7886 EnrichedLog net472 3.86μs 10.5ns 40.7ns 0.249 0 0 1.6 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 199ns 772ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 129μs 220ns 794ns 0 0 0 4.31 KB
master EnrichedLog net472 171μs 406ns 1.57μs 0 0 0 4.51 KB
#7886 EnrichedLog net6.0 124μs 104ns 389ns 0 0 0 4.31 KB
#7886 EnrichedLog netcoreapp3.1 128μs 134ns 503ns 0 0 0 4.31 KB
#7886 EnrichedLog net472 166μs 102ns 380ns 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 5.02μs 14.9ns 57.8ns 0 0 0 2.24 KB
master EnrichedLog netcoreapp3.1 6.78μs 25.8ns 96.4ns 0 0 0 2.26 KB
master EnrichedLog net472 7.57μs 3.81ns 13.8ns 0.303 0 0 2.05 KB
#7886 EnrichedLog net6.0 5.02μs 20.4ns 73.5ns 0 0 0 2.24 KB
#7886 EnrichedLog netcoreapp3.1 6.88μs 24.1ns 93.3ns 0 0 0 2.26 KB
#7886 EnrichedLog net472 8.06μs 9.08ns 35.2ns 0.322 0 0 2.05 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.97μs 5.91ns 22.9ns 0 0 0 1.18 KB
master SendReceive netcoreapp3.1 2.63μs 13.4ns 53.4ns 0 0 0 1.19 KB
master SendReceive net472 3.02μs 7.36ns 28.5ns 0.177 0 0 1.17 KB
#7886 SendReceive net6.0 1.93μs 6.25ns 24.2ns 0 0 0 1.18 KB
#7886 SendReceive netcoreapp3.1 2.9μs 9.11ns 35.3ns 0 0 0 1.19 KB
#7886 SendReceive net472 3.14μs 1.8ns 6.73ns 0.171 0 0 1.17 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.48μs 3.13ns 12.1ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.64μs 10ns 38.8ns 0 0 0 1.63 KB
master EnrichedLog net472 6.55μs 5.93ns 23ns 0.292 0 0 2.03 KB
#7886 EnrichedLog net6.0 4.23μs 8.57ns 33.2ns 0 0 0 1.58 KB
#7886 EnrichedLog netcoreapp3.1 5.72μs 22.4ns 86.6ns 0 0 0 1.63 KB
#7886 EnrichedLog net472 6.63μs 8.48ns 32.8ns 0.297 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 4.03ns 16.1ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 966ns 5.2ns 27ns 0 0 0 576 B
master StartFinishSpan net472 905ns 0.138ns 0.518ns 0.0907 0 0 578 B
master StartFinishScope net6.0 926ns 4.69ns 21.5ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.19μs 1.86ns 7.2ns 0 0 0 696 B
master StartFinishScope net472 1.1μs 0.969ns 3.75ns 0.0992 0 0 658 B
master StartFinishTwoScopes net6.0 1.77μs 0.61ns 2.2ns 0 0 0 1.19 KB
master StartFinishTwoScopes netcoreapp3.1 2.16μs 10.1ns 41.4ns 0 0 0 1.19 KB
master StartFinishTwoScopes net472 2.17μs 1.88ns 7.03ns 0.163 0 0 1.08 KB
#7886 StartFinishSpan net6.0 793ns 3.9ns 16.6ns 0 0 0 576 B
#7886 StartFinishSpan netcoreapp3.1 991ns 2.65ns 10.3ns 0 0 0 576 B
#7886 StartFinishSpan net472 934ns 0.583ns 2.18ns 0.0886 0 0 578 B
#7886 StartFinishScope net6.0 921ns 4.51ns 19.1ns 0 0 0 696 B
#7886 StartFinishScope netcoreapp3.1 1.21μs 6.38ns 32.5ns 0 0 0 696 B
#7886 StartFinishScope net472 1.11μs 0.766ns 2.97ns 0.101 0 0 658 B
#7886 StartFinishTwoScopes net6.0 1.75μs 2.57ns 9.97ns 0 0 0 1.19 KB
#7886 StartFinishTwoScopes netcoreapp3.1 2.19μs 10.8ns 40.3ns 0 0 0 1.19 KB
#7886 StartFinishTwoScopes net472 2.19μs 1.46ns 5.64ns 0.164 0 0 1.08 KB
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.09μs 0.666ns 2.58ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.42μs 5.49ns 20.6ns 0 0 0 696 B
master RunOnMethodBegin net472 1.46μs 0.237ns 0.888ns 0.103 0 0 658 B
#7886 RunOnMethodBegin net6.0 1.08μs 1.86ns 6.98ns 0 0 0 696 B
#7886 RunOnMethodBegin netcoreapp3.1 1.43μs 6.3ns 24.4ns 0 0 0 696 B
#7886 RunOnMethodBegin net472 1.47μs 1.33ns 5.16ns 0.103 0 0 658 B

@andrewlock andrewlock force-pushed the andrew/remove-log-rate-limiter branch from d611c0d to 7860504 Compare December 3, 2025 11:32
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.

2 participants