Skip to content

[Benchmark] Enable runtime metrics by default (Diagnostics)#8224

Draft
link04 wants to merge 3 commits intomasterfrom
maximo/benchmark-runtime-metrics-diagnostics
Draft

[Benchmark] Enable runtime metrics by default (Diagnostics)#8224
link04 wants to merge 3 commits intomasterfrom
maximo/benchmark-runtime-metrics-diagnostics

Conversation

@link04
Copy link
Contributor

@link04 link04 commented Feb 19, 2026

Enable runtime metrics with DiagnosticsMetrics listener to run benchmarks.

Do not merge.

Made with Cursor

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions github-actions bot added the area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) label Feb 19, 2026
@pr-commenter
Copy link

pr-commenter bot commented Feb 19, 2026

Benchmarks

Benchmark execution time: 2026-02-19 21:21:45

Comparing candidate commit e604198 in PR branch maximo/benchmark-runtime-metrics-diagnostics with baseline commit 8941a2d in branch master.

Found 8 performance improvements and 16 performance regressions! Performance is the same for 152 metrics, 16 unstable metrics.

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody net6.0

  • 🟥 execution_time [+12.348ms; +16.702ms] or [+6.172%; +8.348%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody netcoreapp3.1

  • 🟩 execution_time [-18.734ms; -12.818ms] or [-8.709%; -5.959%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody netcoreapp3.1

  • 🟩 execution_time [-26.641ms; -20.878ms] or [-12.016%; -9.416%]

scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs net6.0

  • 🟩 execution_time [-23.712ms; -23.433ms] or [-11.763%; -11.625%]

scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs netcoreapp3.1

  • 🟥 execution_time [+21.151ms; +21.590ms] or [+11.700%; +11.943%]

scenario:Benchmarks.Trace.AspNetCoreBenchmark.SendRequest netcoreapp3.1

  • 🟩 throughput [+498.335op/s; +1416.527op/s] or [+5.264%; +14.962%]

scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces net472

  • 🟥 execution_time [+31.946ms; +35.068ms] or [+17.132%; +18.806%]
  • 🟥 throughput [-119.082op/s; -101.456op/s] or [-9.912%; -8.445%]

scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces netcoreapp3.1

  • 🟥 execution_time [+51.609ms; +52.910ms] or [+36.643%; +37.567%]
  • 🟥 throughput [-269.726op/s; -259.639op/s] or [-16.959%; -16.325%]

scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net6.0

  • 🟥 execution_time [+188.716µs; +201.057µs] or [+13.477%; +14.358%]
  • 🟥 throughput [-89.679op/s; -84.760op/s] or [-12.558%; -11.869%]

scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool net6.0

  • 🟥 execution_time [+59.552µs; +63.754µs] or [+5.458%; +5.843%]
  • 🟥 throughput [-50.718op/s; -47.318op/s] or [-5.534%; -5.163%]

scenario:Benchmarks.Trace.CharSliceBenchmark.OriginalCharSlice net6.0

  • 🟥 execution_time [+123.390µs; +183.010µs] or [+6.350%; +9.418%]
  • 🟥 throughput [-45.172op/s; -30.812op/s] or [-8.771%; -5.983%]

scenario:Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync netcoreapp3.1

  • 🟥 throughput [-35526.280op/s; -25454.562op/s] or [-7.939%; -5.689%]

scenario:Benchmarks.Trace.Log4netBenchmark.EnrichedLog net472

  • 🟩 execution_time [-10.947ms; -10.508ms] or [-5.483%; -5.264%]

scenario:Benchmarks.Trace.Log4netBenchmark.EnrichedLog netcoreapp3.1

  • 🟩 execution_time [-37.136ms; -35.812ms] or [-18.437%; -17.779%]

scenario:Benchmarks.Trace.RedisBenchmark.SendReceive netcoreapp3.1

  • 🟩 throughput [+21918.140op/s; +33051.302op/s] or [+5.401%; +8.144%]

scenario:Benchmarks.Trace.SerilogBenchmark.EnrichedLog net472

  • 🟥 throughput [-9389.344op/s; -8650.065op/s] or [-6.082%; -5.603%]

scenario:Benchmarks.Trace.SerilogBenchmark.EnrichedLog netcoreapp3.1

  • 🟩 throughput [+11019.996op/s; +13079.905op/s] or [+6.478%; +7.689%]

scenario:Benchmarks.Trace.SingleSpanAspNetCoreBenchmark.SingleSpanAspNetCore net6.0

  • 🟥 execution_time [+63.744ms; +65.182ms] or [+51.046%; +52.198%]

scenario:Benchmarks.Trace.SpanBenchmark.StartFinishTwoScopes net6.0

  • 🟥 execution_time [+18.362ms; +23.679ms] or [+9.266%; +11.949%]

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

Execution-Time Benchmarks Report ⏱️

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

⚠️ Potential regressions detected

FakeDbCommand

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1093.49 ± (1092.42 - 1098.38) ms1172.80 ± (1195.28 - 1221.07) ms+7.3%❌⬆️

HttpMessageHandler

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1262.57 ± (1257.25 - 1265.98) ms1399.62 ± (1397.44 - 1402.98) ms+10.9%❌⬆️
Full Metrics Comparison

FakeDbCommand

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration76.33 ± (76.33 - 76.66) ms76.28 ± (76.14 - 76.45) ms-0.1%
.NET Framework 4.8 - Bailout
duration80.75 ± (80.60 - 80.96) ms80.68 ± (80.54 - 81.00) ms-0.1%
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1093.49 ± (1092.42 - 1098.38) ms1172.80 ± (1195.28 - 1221.07) ms+7.3%❌⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms23.26 ± (23.21 - 23.32) ms22.96 ± (22.91 - 23.02) ms-1.3%
process.time_to_main_ms89.10 ± (88.89 - 89.30) ms88.06 ± (87.86 - 88.26) ms-1.2%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.91 ± (10.90 - 10.91) MB10.93 ± (10.93 - 10.93) MB+0.2%✅⬆️
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms23.12 ± (23.06 - 23.17) ms22.95 ± (22.89 - 23.02) ms-0.7%
process.time_to_main_ms89.31 ± (89.08 - 89.54) ms89.65 ± (89.46 - 89.84) ms+0.4%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.94 ± (10.94 - 10.95) MB10.97 ± (10.96 - 10.97) MB+0.2%✅⬆️
runtime.dotnet.threads.count13 ± (13 - 13)13 ± (13 - 13)+0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms243.18 ± (239.13 - 247.24) ms225.11 ± (221.47 - 228.75) ms-7.4%
process.time_to_main_ms500.30 ± (499.45 - 501.14) ms534.53 ± (533.17 - 535.90) ms+6.8%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed47.56 ± (47.54 - 47.58) MB48.43 ± (48.40 - 48.45) MB+1.8%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)29 ± (29 - 29)+5.3%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms21.94 ± (21.90 - 21.99) ms21.99 ± (21.94 - 22.03) ms+0.2%✅⬆️
process.time_to_main_ms77.24 ± (77.06 - 77.43) ms77.47 ± (77.30 - 77.65) ms+0.3%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.63 ± (10.62 - 10.63) MB10.66 ± (10.65 - 10.66) MB+0.3%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms22.01 ± (21.94 - 22.07) ms22.03 ± (21.98 - 22.09) ms+0.1%✅⬆️
process.time_to_main_ms78.79 ± (78.61 - 78.97) ms79.21 ± (79.01 - 79.42) ms+0.5%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.67 ± (10.67 - 10.68) MB10.76 ± (10.75 - 10.76) MB+0.8%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms255.72 ± (251.88 - 259.57) ms223.96 ± (219.88 - 228.04) ms-12.4%
process.time_to_main_ms484.68 ± (483.78 - 485.58) ms504.66 ± (503.87 - 505.45) ms+4.1%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed48.39 ± (48.37 - 48.41) MB48.81 ± (48.78 - 48.83) MB+0.9%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)29 ± (29 - 29)+3.9%✅⬆️
.NET 8 - Baseline
process.internal_duration_ms20.38 ± (20.33 - 20.43) ms20.25 ± (20.21 - 20.30) ms-0.6%
process.time_to_main_ms77.61 ± (77.45 - 77.77) ms76.73 ± (76.56 - 76.90) ms-1.1%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.66 ± (7.65 - 7.66) MB7.71 ± (7.70 - 7.71) MB+0.7%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms20.38 ± (20.32 - 20.45) ms20.26 ± (20.20 - 20.32) ms-0.6%
process.time_to_main_ms78.56 ± (78.37 - 78.74) ms77.69 ± (77.51 - 77.88) ms-1.1%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.71 ± (7.70 - 7.71) MB7.76 ± (7.75 - 7.77) MB+0.7%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms194.69 ± (193.90 - 195.47) ms182.40 ± (179.89 - 184.91) ms-6.3%
process.time_to_main_ms465.75 ± (465.02 - 466.48) ms479.40 ± (478.66 - 480.14) ms+2.9%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed36.13 ± (36.09 - 36.18) MB36.13 ± (36.09 - 36.17) MB-0.0%
runtime.dotnet.threads.count27 ± (27 - 27)28 ± (28 - 28)+3.7%✅⬆️

HttpMessageHandler

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration226.75 ± (226.66 - 229.41) ms220.48 ± (220.35 - 221.79) ms-2.8%
.NET Framework 4.8 - Bailout
duration232.92 ± (232.14 - 234.91) ms225.37 ± (224.73 - 226.18) ms-3.2%
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1262.57 ± (1257.25 - 1265.98) ms1399.62 ± (1397.44 - 1402.98) ms+10.9%❌⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms216.37 ± (215.57 - 217.16) ms215.74 ± (214.94 - 216.55) ms-0.3%
process.time_to_main_ms93.87 ± (93.52 - 94.21) ms93.23 ± (92.93 - 93.53) ms-0.7%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed15.89 ± (15.88 - 15.91) MB15.85 ± (15.83 - 15.86) MB-0.3%
runtime.dotnet.threads.count20 ± (20 - 20)20 ± (20 - 20)+0.0%✅⬆️
.NET Core 3.1 - Bailout
process.internal_duration_ms218.48 ± (217.57 - 219.38) ms215.02 ± (214.27 - 215.77) ms-1.6%
process.time_to_main_ms96.05 ± (95.66 - 96.44) ms94.87 ± (94.59 - 95.15) ms-1.2%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed15.89 ± (15.87 - 15.90) MB15.85 ± (15.83 - 15.86) MB-0.2%
runtime.dotnet.threads.count21 ± (21 - 21)21 ± (21 - 21)+0.1%✅⬆️
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms456.21 ± (452.06 - 460.35) ms434.56 ± (430.75 - 438.37) ms-4.7%
process.time_to_main_ms533.34 ± (531.92 - 534.76) ms559.05 ± (557.65 - 560.45) ms+4.8%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed57.75 ± (57.57 - 57.93) MB59.02 ± (58.92 - 59.13) MB+2.2%✅⬆️
runtime.dotnet.threads.count30 ± (30 - 30)31 ± (31 - 31)+4.0%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms229.71 ± (228.45 - 230.98) ms221.65 ± (220.64 - 222.67) ms-3.5%
process.time_to_main_ms83.30 ± (82.90 - 83.70) ms81.04 ± (80.71 - 81.36) ms-2.7%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.05 ± (16.04 - 16.07) MB16.14 ± (16.12 - 16.15) MB+0.5%✅⬆️
runtime.dotnet.threads.count20 ± (19 - 20)20 ± (19 - 20)-0.1%
.NET 6 - Bailout
process.internal_duration_ms227.73 ± (226.43 - 229.02) ms221.43 ± (220.67 - 222.18) ms-2.8%
process.time_to_main_ms83.61 ± (83.29 - 83.94) ms82.69 ± (82.41 - 82.97) ms-1.1%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.09 ± (16.08 - 16.11) MB16.19 ± (16.17 - 16.20) MB+0.6%✅⬆️
runtime.dotnet.threads.count21 ± (20 - 21)21 ± (20 - 21)-0.1%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms488.84 ± (482.77 - 494.90) ms475.19 ± (469.46 - 480.93) ms-2.8%
process.time_to_main_ms498.68 ± (497.75 - 499.60) ms521.00 ± (520.01 - 521.99) ms+4.5%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed57.42 ± (57.26 - 57.57) MB58.81 ± (58.64 - 58.98) MB+2.4%✅⬆️
runtime.dotnet.threads.count30 ± (30 - 30)31 ± (31 - 31)+3.3%✅⬆️
.NET 8 - Baseline
process.internal_duration_ms229.61 ± (228.27 - 230.95) ms223.66 ± (222.59 - 224.73) ms-2.6%
process.time_to_main_ms81.05 ± (80.72 - 81.39) ms79.74 ± (79.43 - 80.05) ms-1.6%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.40 ± (11.38 - 11.42) MB11.46 ± (11.44 - 11.48) MB+0.5%✅⬆️
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)+0.1%✅⬆️
.NET 8 - Bailout
process.internal_duration_ms232.50 ± (230.95 - 234.05) ms218.91 ± (218.12 - 219.71) ms-5.8%
process.time_to_main_ms82.97 ± (82.59 - 83.36) ms80.56 ± (80.35 - 80.77) ms-2.9%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.45 ± (11.42 - 11.47) MB11.50 ± (11.48 - 11.51) MB+0.4%✅⬆️
runtime.dotnet.threads.count20 ± (20 - 20)20 ± (20 - 20)+0.1%✅⬆️
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms506.22 ± (503.89 - 508.54) ms492.51 ± (488.60 - 496.42) ms-2.7%
process.time_to_main_ms486.59 ± (485.62 - 487.57) ms500.63 ± (499.69 - 501.57) ms+2.9%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed49.76 ± (49.72 - 49.79) MB49.90 ± (49.86 - 49.93) MB+0.3%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)30 ± (30 - 30)+3.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 (8224) - mean (76ms)  : 74, 79
    master - mean (76ms)  : 74, 79

    section Bailout
    This PR (8224) - mean (81ms)  : 78, 83
    master - mean (81ms)  : 79, 83

    section CallTarget+Inlining+NGEN
    This PR (8224) - mean (1,208ms)  : crit, 1022, 1394
    master - mean (1,095ms)  : 1051, 1140

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 (8224) - mean (118ms)  : 115, 122
    master - mean (120ms)  : 116, 124

    section Bailout
    This PR (8224) - mean (120ms)  : 118, 122
    master - mean (119ms)  : 117, 122

    section CallTarget+Inlining+NGEN
    This PR (8224) - mean (799ms)  : 739, 859
    master - mean (783ms)  : 715, 851

Loading
FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (8224) - mean (106ms)  : 103, 109
    master - mean (106ms)  : 102, 110

    section Bailout
    This PR (8224) - mean (108ms)  : 104, 112
    master - mean (108ms)  : 105, 110

    section CallTarget+Inlining+NGEN
    This PR (8224) - mean (767ms)  : 700, 833
    master - mean (773ms)  : 700, 845

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (8224) - mean (105ms)  : 101, 109
    master - mean (106ms)  : 102, 110

    section Bailout
    This PR (8224) - mean (106ms)  : 104, 108
    master - mean (107ms)  : 105, 109

    section CallTarget+Inlining+NGEN
    This PR (8224) - mean (703ms)  : 655, 750
    master - mean (699ms)  : 673, 725

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 (8224) - mean (221ms)  : 211, 231
    master - mean (228ms)  : 208, 248

    section Bailout
    This PR (8224) - mean (225ms)  : 215, 236
    master - mean (234ms)  : 213, 254

    section CallTarget+Inlining+NGEN
    This PR (8224) - mean (1,400ms)  : crit, 1373, 1428
    master - mean (1,262ms)  : 1195, 1329

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 (8224) - mean (319ms)  : 304, 334
    master - mean (321ms)  : 303, 339

    section Bailout
    This PR (8224) - mean (320ms)  : 304, 336
    master - mean (326ms)  : 308, 343

    section CallTarget+Inlining+NGEN
    This PR (8224) - mean (1,035ms)  : 970, 1101
    master - mean (1,033ms)  : 956, 1110

Loading
HttpMessageHandler (.NET 6)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (8224) - mean (312ms)  : 295, 330
    master - mean (324ms)  : 298, 351

    section Bailout
    This PR (8224) - mean (314ms)  : 299, 328
    master - mean (322ms)  : 302, 342

    section CallTarget+Inlining+NGEN
    This PR (8224) - mean (1,038ms)  : 933, 1143
    master - mean (1,038ms)  : 920, 1155

Loading
HttpMessageHandler (.NET 8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (8224) - mean (314ms)  : 297, 332
    master - mean (324ms)  : 297, 352

    section Bailout
    This PR (8224) - mean (310ms)  : 296, 325
    master - mean (327ms)  : 298, 355

    section CallTarget+Inlining+NGEN
    This PR (8224) - mean (1,022ms)  : 941, 1103
    master - mean (1,029ms)  : 980, 1077

Loading

link04 and others added 2 commits February 19, 2026 15:27
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments