Skip to content

Conversation

@lucaspimentel
Copy link
Member

@lucaspimentel lucaspimentel commented Nov 3, 2025

Summary of changes

Original PR #7568 (d0fe312) broke some Continuous Profiling integration tests on master, so it was reverted in #7704 (b59dea4). The issue was fixed in #7705, so I'm trying to reapply it.

Make DD_DOTNET_TRACER_HOME optional. If not set, try to figure out the path from COR_PROFILER_PATH/CORECLR_PROFILER_PATH and friends.

@lucaspimentel lucaspimentel requested review from a team as code owners November 3, 2025 23:10
@lucaspimentel lucaspimentel added type:enhancement Improvement to an existing feature area:configuration labels Nov 3, 2025
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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

dd-trace-dotnet-ci-bot bot commented Nov 3, 2025

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing This PR (7767) 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
duration74.46 ± (74.64 - 75.54) ms75.53 ± (75.43 - 76.27) ms+1.4%✅⬆️
.NET Framework 4.8 - Bailout
duration79.71 ± (79.72 - 80.72) ms80.01 ± (79.86 - 80.50) ms+0.4%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1062.81 ± (1063.31 - 1074.21) ms1069.33 ± (1074.26 - 1086.62) ms+0.6%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms23.09 ± (23.02 - 23.16) ms23.15 ± (23.08 - 23.22) ms+0.3%✅⬆️
process.time_to_main_ms88.06 ± (87.64 - 88.48) ms88.71 ± (88.30 - 89.13) ms+0.7%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.91 ± (10.91 - 10.92) MB10.92 ± (10.91 - 10.92) MB+0.0%✅⬆️
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms23.13 ± (23.07 - 23.20) ms23.01 ± (22.93 - 23.09) ms-0.5%
process.time_to_main_ms90.87 ± (90.50 - 91.24) ms89.15 ± (88.70 - 89.61) ms-1.9%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.95 ± (10.94 - 10.95) MB10.96 ± (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_ms224.04 ± (222.52 - 225.56) ms220.72 ± (219.24 - 222.19) ms-1.5%
process.time_to_main_ms505.31 ± (503.78 - 506.84) ms502.39 ± (501.19 - 503.58) ms-0.6%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed47.72 ± (47.70 - 47.74) MB47.76 ± (47.74 - 47.78) MB+0.1%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)-0.0%
.NET 6 - Baseline
process.internal_duration_ms22.15 ± (22.06 - 22.25) ms22.29 ± (22.19 - 22.38) ms+0.6%✅⬆️
process.time_to_main_ms78.29 ± (77.88 - 78.70) ms79.46 ± (78.97 - 79.95) ms+1.5%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.59 ± (10.59 - 10.59) MB10.64 ± (10.64 - 10.64) MB+0.5%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms22.11 ± (22.04 - 22.18) ms21.90 ± (21.83 - 21.98) ms-0.9%
process.time_to_main_ms79.55 ± (79.16 - 79.95) ms79.19 ± (78.75 - 79.64) ms-0.5%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.66 ± (10.66 - 10.67) MB10.68 ± (10.68 - 10.69) MB+0.2%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms215.46 ± (213.10 - 217.82) ms211.81 ± (210.21 - 213.40) ms-1.7%
process.time_to_main_ms474.24 ± (473.09 - 475.40) ms471.73 ± (470.51 - 472.96) ms-0.5%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed47.99 ± (47.96 - 48.01) MB48.05 ± (48.03 - 48.08) MB+0.1%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)-0.0%
.NET 8 - Baseline
process.internal_duration_ms20.26 ± (20.19 - 20.34) ms20.02 ± (19.95 - 20.09) ms-1.2%
process.time_to_main_ms77.93 ± (77.61 - 78.24) ms75.91 ± (75.52 - 76.30) ms-2.6%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.64 ± (7.64 - 7.65) MB7.66 ± (7.66 - 7.66) MB+0.3%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms20.16 ± (20.09 - 20.23) ms19.95 ± (19.89 - 20.02) ms-1.0%
process.time_to_main_ms78.88 ± (78.49 - 79.27) ms76.86 ± (76.53 - 77.19) ms-2.6%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.68 ± (7.68 - 7.69) MB7.72 ± (7.71 - 7.73) MB+0.5%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms197.96 ± (197.04 - 198.87) ms194.49 ± (193.60 - 195.38) ms-1.8%
process.time_to_main_ms466.50 ± (465.30 - 467.70) ms460.63 ± (459.42 - 461.84) ms-1.3%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed36.48 ± (36.45 - 36.52) MB36.43 ± (36.39 - 36.47) MB-0.1%
runtime.dotnet.threads.count27 ± (27 - 27)27 ± (27 - 27)+0.1%✅⬆️

HttpMessageHandler

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration194.28 ± (195.17 - 196.44) ms197.42 ± (197.19 - 198.10) ms+1.6%✅⬆️
.NET Framework 4.8 - Bailout
duration196.60 ± (196.54 - 197.03) ms197.44 ± (197.24 - 197.89) ms+0.4%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1102.00 ± (1108.35 - 1117.66) ms1110.39 ± (1115.14 - 1125.48) ms+0.8%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms188.82 ± (188.37 - 189.28) ms188.20 ± (187.83 - 188.57) ms-0.3%
process.time_to_main_ms81.10 ± (80.91 - 81.28) ms80.87 ± (80.67 - 81.08) ms-0.3%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.14 ± (16.11 - 16.17) MB16.10 ± (16.08 - 16.13) MB-0.3%
runtime.dotnet.threads.count20 ± (20 - 20)20 ± (20 - 20)-0.5%
.NET Core 3.1 - Bailout
process.internal_duration_ms187.38 ± (187.12 - 187.63) ms187.79 ± (187.48 - 188.10) ms+0.2%✅⬆️
process.time_to_main_ms81.96 ± (81.84 - 82.08) ms82.12 ± (81.99 - 82.25) ms+0.2%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.22 ± (16.20 - 16.25) MB16.15 ± (16.12 - 16.19) MB-0.4%
runtime.dotnet.threads.count21 ± (21 - 21)21 ± (21 - 21)+0.4%✅⬆️
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms400.68 ± (397.89 - 403.46) ms404.08 ± (401.20 - 406.96) ms+0.8%✅⬆️
process.time_to_main_ms470.75 ± (470.10 - 471.39) ms471.24 ± (470.56 - 471.91) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed58.45 ± (58.31 - 58.60) MB58.57 ± (58.44 - 58.69) MB+0.2%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 30)29 ± (29 - 30)-0.1%
.NET 6 - Baseline
process.internal_duration_ms192.09 ± (191.77 - 192.40) ms192.73 ± (192.40 - 193.06) ms+0.3%✅⬆️
process.time_to_main_ms70.02 ± (69.85 - 70.19) ms70.11 ± (69.96 - 70.25) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.34 ± (16.25 - 16.43) MB16.17 ± (16.05 - 16.30) MB-1.0%
runtime.dotnet.threads.count19 ± (19 - 19)18 ± (18 - 19)-3.6%
.NET 6 - Bailout
process.internal_duration_ms191.20 ± (190.97 - 191.43) ms192.01 ± (191.75 - 192.26) ms+0.4%✅⬆️
process.time_to_main_ms70.84 ± (70.76 - 70.91) ms71.13 ± (71.04 - 71.23) ms+0.4%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.18 ± (16.03 - 16.33) MB16.10 ± (15.95 - 16.25) MB-0.5%
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)-0.2%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms412.78 ± (409.87 - 415.68) ms417.93 ± (414.96 - 420.90) ms+1.2%✅⬆️
process.time_to_main_ms441.72 ± (441.12 - 442.32) ms443.04 ± (442.38 - 443.69) ms+0.3%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed58.66 ± (58.52 - 58.81) MB58.83 ± (58.71 - 58.96) MB+0.3%✅⬆️
runtime.dotnet.threads.count30 ± (29 - 30)30 ± (29 - 30)-0.1%
.NET 8 - Baseline
process.internal_duration_ms190.16 ± (189.87 - 190.45) ms190.72 ± (190.43 - 191.02) ms+0.3%✅⬆️
process.time_to_main_ms69.45 ± (69.29 - 69.61) ms69.82 ± (69.65 - 69.99) ms+0.5%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.76 ± (11.74 - 11.79) MB11.76 ± (11.74 - 11.79) MB-0.0%
runtime.dotnet.threads.count18 ± (18 - 18)18 ± (18 - 18)-0.2%
.NET 8 - Bailout
process.internal_duration_ms190.06 ± (189.76 - 190.35) ms191.33 ± (190.90 - 191.77) ms+0.7%✅⬆️
process.time_to_main_ms70.43 ± (70.29 - 70.57) ms70.80 ± (70.64 - 70.95) ms+0.5%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.82 ± (11.79 - 11.85) MB11.82 ± (11.79 - 11.86) MB+0.0%✅⬆️
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)+0.7%✅⬆️
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms366.97 ± (365.41 - 368.53) ms364.28 ± (362.82 - 365.75) ms-0.7%
process.time_to_main_ms429.20 ± (428.61 - 429.79) ms431.12 ± (430.54 - 431.71) ms+0.4%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed47.82 ± (47.78 - 47.85) MB47.93 ± (47.90 - 47.96) MB+0.2%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)+0.2%✅⬆️
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 (7767) - mean (76ms)  : 70, 82
    master - mean (75ms)  : 68, 82

    section Bailout
    This PR (7767) - mean (80ms)  : 76, 85
    master - mean (80ms)  : 72, 88

    section CallTarget+Inlining+NGEN
    This PR (7767) - mean (1,080ms)  : 989, 1172
    master - mean (1,069ms)  : 991, 1147

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 (7767) - mean (120ms)  : 113, 127
    master - mean (119ms)  : 112, 126

    section Bailout
    This PR (7767) - mean (120ms)  : 111, 128
    master - mean (122ms)  : 114, 130

    section CallTarget+Inlining+NGEN
    This PR (7767) - mean (762ms)  : 719, 804
    master - mean (762ms)  : 725, 798

Loading
FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7767) - mean (109ms)  : 100, 118
    master - mean (108ms)  : 100, 116

    section Bailout
    This PR (7767) - mean (108ms)  : 99, 117
    master - mean (109ms)  : 102, 116

    section CallTarget+Inlining+NGEN
    This PR (7767) - mean (716ms)  : 673, 758
    master - mean (722ms)  : 671, 774

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7767) - mean (104ms)  : 96, 113
    master - mean (107ms)  : 100, 115

    section Bailout
    This PR (7767) - mean (105ms)  : 99, 111
    master - mean (108ms)  : 99, 116

    section CallTarget+Inlining+NGEN
    This PR (7767) - mean (695ms)  : 665, 725
    master - mean (700ms)  : 665, 736

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 (7767) - mean (198ms)  : 193, 203
    master - mean (196ms)  : 186, 205

    section Bailout
    This PR (7767) - mean (198ms)  : 194, 201
    master - mean (197ms)  : 194, 199

    section CallTarget+Inlining+NGEN
    This PR (7767) - mean (1,120ms)  : 1044, 1197
    master - mean (1,113ms)  : 1046, 1180

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 (7767) - mean (278ms)  : 272, 284
    master - mean (279ms)  : 273, 285

    section Bailout
    This PR (7767) - mean (278ms)  : 274, 282
    master - mean (277ms)  : 274, 280

    section CallTarget+Inlining+NGEN
    This PR (7767) - mean (905ms)  : 859, 950
    master - mean (905ms)  : 851, 958

Loading
HttpMessageHandler (.NET 6)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7767) - mean (271ms)  : 267, 276
    master - mean (270ms)  : 266, 274

    section Bailout
    This PR (7767) - mean (271ms)  : 268, 275
    master - mean (270ms)  : 267, 272

    section CallTarget+Inlining+NGEN
    This PR (7767) - mean (889ms)  : 843, 936
    master - mean (888ms)  : 832, 945

Loading
HttpMessageHandler (.NET 8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7767) - mean (270ms)  : 266, 274
    master - mean (269ms)  : 264, 274

    section Bailout
    This PR (7767) - mean (272ms)  : 265, 278
    master - mean (270ms)  : 264, 276

    section CallTarget+Inlining+NGEN
    This PR (7767) - mean (828ms)  : 808, 848
    master - mean (828ms)  : 810, 847

Loading

Copy link
Member

@andrewlock andrewlock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM (assuming direct revert, I didn't re-review) as long as you've done an "all products" run in CI 🙂

@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Nov 5, 2025

⚠️ Tests

⚠️ Warnings

🧪 35 Tests failed

ShouldGetContentionSamples from Datadog.Profiler.IntegrationTests.Contention.ContentionProfilerTest (Datadog)
Expected threadIds {10356, 8048, 4384, 3108, 9224, 8984, 2976, 9784, 3568, 8716, 5900, 11084, 6096, 3836, 10176, 7256, 6236, 5160, 7572, 5880, 5412, 7096, 4524, 10896} to contain 8352 because Unknown blocking thread id 8352.
❄️ Known flaky: ShouldGetContentionSamples from Datadog.Profiler.IntegrationTests.Contention.ContentionProfilerTest (Datadog)
Expected threadIds {2920, 2919, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946, 2927} to contain 2917 because Unknown blocking thread id 2917.
❄️ Known flaky: ShouldGetContentionSamples from Datadog.Profiler.IntegrationTests.Contention.ContentionProfilerTest (Datadog)
Expected threadIds {5956, 3992, 3288, 5608, 7720, 7360, 7656, 1000, 7508, 2692, 7440, 8060, 8180, 784, 3264, 6800, 6824, 5988, 6888, 6924, 3284, 1576, 644, 7716} to contain 4072 because Unknown blocking thread id 4072.
View all

ℹ️ Info

❄️ No new flaky tests detected

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

@lucaspimentel lucaspimentel force-pushed the lpimentel/remove-tracer-home-dependency-redux branch from ab2ab63 to 2dbbeaf Compare November 7, 2025 22:27
@pr-commenter
Copy link

pr-commenter bot commented Nov 7, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7767 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.140
  • 6 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 #7767

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 5.65 KB 5.73 KB 82 B 1.45%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.7μs 50.2ns 194ns 0 0 0 5.51 KB
master StartStopWithChild netcoreapp3.1 13.6μs 69.1ns 331ns 0 0 0 5.65 KB
master StartStopWithChild net472 21.7μs 111ns 523ns 0.891 0.334 0 6.1 KB
#7767 StartStopWithChild net6.0 10.8μs 59.9ns 355ns 0 0 0 5.5 KB
#7767 StartStopWithChild netcoreapp3.1 14μs 71.6ns 336ns 0 0 0 5.73 KB
#7767 StartStopWithChild net472 22.2μs 117ns 598ns 0.876 0.219 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 942μs 74.3ns 288ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.03ms 247ns 957ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.22ms 1.75μs 6.78μs 0 0 0 3.31 KB
#7767 WriteAndFlushEnrichedTraces net6.0 960μs 43ns 155ns 0 0 0 2.7 KB
#7767 WriteAndFlushEnrichedTraces netcoreapp3.1 1.01ms 30.8ns 115ns 0 0 0 2.7 KB
#7767 WriteAndFlushEnrichedTraces net472 1.2ms 811ns 2.81μ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 1.07μs 5.96ns 35.7ns 0 0 0 1.22 KB
master AllCycleSimpleBody netcoreapp3.1 1.39μs 7.96ns 58.5ns 0 0 0 1.2 KB
master AllCycleSimpleBody net472 1.03μs 0.681ns 2.64ns 0.191 0 0 1.23 KB
master AllCycleMoreComplexBody net6.0 7.23μs 34.7ns 139ns 0 0 0 4.72 KB
master AllCycleMoreComplexBody netcoreapp3.1 9.07μs 45.3ns 192ns 0 0 0 4.62 KB
master AllCycleMoreComplexBody net472 7.66μs 3.58ns 13.9ns 0.728 0 0 4.74 KB
master ObjectExtractorSimpleBody net6.0 321ns 1.61ns 7.02ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 399ns 2.21ns 12.7ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 300ns 0.0306ns 0.118ns 0.0439 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.39μs 2.28ns 8.54ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.93μs 31.1ns 120ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.71μs 3.41ns 13.2ns 0.575 0 0 3.8 KB
#7767 AllCycleSimpleBody net6.0 1.08μs 5.64ns 28.7ns 0 0 0 1.22 KB
#7767 AllCycleSimpleBody netcoreapp3.1 1.36μs 7.8ns 60.9ns 0 0 0 1.2 KB
#7767 AllCycleSimpleBody net472 1.02μs 0.529ns 2.05ns 0.192 0 0 1.23 KB
#7767 AllCycleMoreComplexBody net6.0 7.1μs 38ns 194ns 0 0 0 4.72 KB
#7767 AllCycleMoreComplexBody netcoreapp3.1 8.98μs 34.7ns 130ns 0 0 0 4.62 KB
#7767 AllCycleMoreComplexBody net472 7.66μs 10.2ns 39.6ns 0.725 0 0 4.74 KB
#7767 ObjectExtractorSimpleBody net6.0 339ns 1.84ns 10.6ns 0 0 0 280 B
#7767 ObjectExtractorSimpleBody netcoreapp3.1 397ns 1.91ns 7.62ns 0 0 0 272 B
#7767 ObjectExtractorSimpleBody net472 299ns 0.104ns 0.401ns 0.0437 0 0 281 B
#7767 ObjectExtractorMoreComplexBody net6.0 6.42μs 30.4ns 118ns 0 0 0 3.78 KB
#7767 ObjectExtractorMoreComplexBody netcoreapp3.1 7.91μs 29.2ns 113ns 0 0 0 3.69 KB
#7767 ObjectExtractorMoreComplexBody net472 6.72μs 3.45ns 13.3ns 0.57 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.4μs 93ns 348ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 98.1μs 214ns 827ns 0 0 0 32.4 KB
master EncodeArgs net472 111μs 16.9ns 63.3ns 5.03 0 0 32.51 KB
master EncodeLegacyArgs net6.0 144μs 21.8ns 84.5ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 197μs 87.4ns 327ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 264μs 16.4ns 63.6ns 0 0 0 2.17 KB
#7767 EncodeArgs net6.0 77.7μs 30.3ns 117ns 0 0 0 32.4 KB
#7767 EncodeArgs netcoreapp3.1 97.6μs 215ns 831ns 0 0 0 32.4 KB
#7767 EncodeArgs net472 109μs 19.2ns 74.5ns 4.92 0 0 32.5 KB
#7767 EncodeLegacyArgs net6.0 145μs 23.3ns 90.4ns 0 0 0 2.14 KB
#7767 EncodeLegacyArgs netcoreapp3.1 198μs 197ns 683ns 0 0 0 2.14 KB
#7767 EncodeLegacyArgs net472 261μs 18.9ns 73ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7767

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑net6.0 2.54 KB 3.79 KB 1.25 KB 49.06%
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑net6.0 5.77 KB 5.82 KB 48 B 0.83%

Fewer allocations 🎉 in #7767

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑net472 8.19 KB 0 b -8.19 KB -100.00%
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑net472 8.19 KB 0 b -8.19 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 431μs 1.95μs 8.51μs 0 0 0 5.77 KB
master RunWafRealisticBenchmark netcoreapp3.1 472μs 2.65μs 23.1μs 0 0 0 4.58 KB
master RunWafRealisticBenchmark net472 492μs 248ns 928ns 0 0 0 8.19 KB
master RunWafRealisticBenchmarkWithAttack net6.0 329μs 1.93μs 18.1μs 0 0 0 2.54 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 337μs 1.53μs 5.71μs 0 0 0 2.32 KB
master RunWafRealisticBenchmarkWithAttack net472 372μs 272ns 980ns 0 0 0 8.19 KB
#7767 RunWafRealisticBenchmark net6.0 422μs 860ns 3.1μs 0 0 0 5.82 KB
#7767 RunWafRealisticBenchmark netcoreapp3.1 481μs 4.45μs 42.6μs 0 0 0 4.58 KB
#7767 RunWafRealisticBenchmark net472 492μs 634ns 2.46μs 0 0 0 0 b
#7767 RunWafRealisticBenchmarkWithAttack net6.0 320μs 1.41μs 7.61μs 0 0 0 3.79 KB
#7767 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 368μs 4.27μs 41.2μs 0 0 0 2.32 KB
#7767 RunWafRealisticBenchmarkWithAttack net472 374μs 211ns 790ns 0 0 0 0 b
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 60.9μs 52.6ns 182ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 71.1μs 104ns 391ns 0 0 0 17.42 KB
master SendRequest net472 0.00727ns 0.00256ns 0.00992ns 0 0 0 0 b
#7767 SendRequest net6.0 60.7μs 66.5ns 230ns 0 0 0 14.52 KB
#7767 SendRequest netcoreapp3.1 72.1μs 49.4ns 171ns 0 0 0 17.42 KB
#7767 SendRequest net472 0.0102ns 0.00316ns 0.0122ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7767

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net472 8.19 KB 0 b -8.19 KB -100.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net472 8.19 KB 0 b -8.19 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 2.07ms 383ns 1.33μs 0 0 0 640.3 KB
master OriginalCharSlice netcoreapp3.1 3.91ms 1.97μs 7.37μs 0 0 0 640.1 KB
master OriginalCharSlice net472 2.59ms 757ns 2.93μs 0 0 0 647.17 KB
master OptimizedCharSlice net6.0 1.49ms 540ns 2.09μs 0 0 0 640 B
master OptimizedCharSlice netcoreapp3.1 2.84ms 881ns 3.18μs 0 0 0 104 B
master OptimizedCharSlice net472 2.03ms 1.06μs 4.12μs 0 0 0 8.19 KB
master OptimizedCharSliceWithPool net6.0 1.05ms 488ns 1.83μs 0 0 0 304 B
master OptimizedCharSliceWithPool netcoreapp3.1 1.86ms 1.29μs 4.81μs 0 0 0 104 B
master OptimizedCharSliceWithPool net472 1.13ms 758ns 2.94μs 0 0 0 8.19 KB
#7767 OriginalCharSlice net6.0 1.99ms 1.11μs 4.31μs 0 0 0 640.64 KB
#7767 OriginalCharSlice netcoreapp3.1 4.02ms 848ns 3.06μs 0 0 0 640.1 KB
#7767 OriginalCharSlice net472 2.68ms 556ns 2.08μs 0 0 0 647.17 KB
#7767 OptimizedCharSlice net6.0 1.42ms 416ns 1.5μs 0 0 0 640 B
#7767 OptimizedCharSlice netcoreapp3.1 2.79ms 269ns 930ns 0 0 0 104 B
#7767 OptimizedCharSlice net472 1.92ms 772ns 2.99μs 0 0 0 0 b
#7767 OptimizedCharSliceWithPool net6.0 982μs 335ns 1.25μs 0 0 0 304 B
#7767 OptimizedCharSliceWithPool netcoreapp3.1 1.86ms 1.21μs 4.7μs 0 0 0 104 B
#7767 OptimizedCharSliceWithPool net472 1.22ms 733ns 2.74μs 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Slower ⚠️ More allocations ⚠️

Slower ⚠️ in #7767

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.140 708,733.48 807,839.73

More allocations ⚠️ in #7767

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 41.89 KB 42.53 KB 636 B 1.52%
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 55.6 KB 56.26 KB 661 B 1.19%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 717μs 3.85μs 20.4μs 0 0 0 41.89 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 708μs 775ns 3μs 0 0 0 41.89 KB
master WriteAndFlushEnrichedTraces net472 870μs 1.79μs 6.92μs 4.46 0 0 55.6 KB
#7767 WriteAndFlushEnrichedTraces net6.0 721μs 3.94μs 22.3μs 0 0 0 41.72 KB
#7767 WriteAndFlushEnrichedTraces netcoreapp3.1 802μs 3.38μs 13.1μs 0 0 0 42.53 KB
#7767 WriteAndFlushEnrichedTraces net472 867μs 4.48μs 21μs 7.81 0 0 56.26 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.88μs 9.57ns 41.7ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.54μs 3.01ns 11.7ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.75μs 1.51ns 5.44ns 0.15 0 0 987 B
#7767 ExecuteNonQuery net6.0 1.93μs 9.6ns 39.6ns 0 0 0 1.02 KB
#7767 ExecuteNonQuery netcoreapp3.1 2.49μs 1.43ns 5.36ns 0 0 0 1.02 KB
#7767 ExecuteNonQuery net472 2.79μs 1.98ns 7.15ns 0.153 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.73μs 7.93ns 30.7ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.23μs 10.7ns 41.3ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.51μs 4.22ns 16.3ns 0.159 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.79μs 0.558ns 2.16ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.4μs 11.1ns 42.8ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.74μs 5.25ns 20.3ns 0.166 0 0 1.1 KB
#7767 CallElasticsearch net6.0 1.71μs 7.97ns 31.9ns 0 0 0 1.03 KB
#7767 CallElasticsearch netcoreapp3.1 2.31μs 11.3ns 45.2ns 0 0 0 1.03 KB
#7767 CallElasticsearch net472 3.51μs 5.73ns 22.2ns 0.157 0 0 1.04 KB
#7767 CallElasticsearchAsync net6.0 1.8μs 6.39ns 23.9ns 0 0 0 1.01 KB
#7767 CallElasticsearchAsync netcoreapp3.1 2.44μs 11.6ns 44.9ns 0 0 0 1.08 KB
#7767 CallElasticsearchAsync net472 3.77μs 6.77ns 26.2ns 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.9μs 3.5ns 13.5ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.39μs 6.23ns 24.1ns 0 0 0 952 B
master ExecuteAsync net472 2.64μs 4.59ns 17.8ns 0.144 0 0 915 B
#7767 ExecuteAsync net6.0 1.85μs 0.789ns 3.06ns 0 0 0 952 B
#7767 ExecuteAsync netcoreapp3.1 2.4μs 10.2ns 39.7ns 0 0 0 952 B
#7767 ExecuteAsync net472 2.54μs 0.712ns 2.66ns 0.14 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 7.03μs 15.3ns 55ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.75μs 23.7ns 91.7ns 0 0 0 2.9 KB
master SendAsync net472 12.3μs 11.8ns 45.7ns 0.493 0 0 3.18 KB
#7767 SendAsync net6.0 7.09μs 9.31ns 36.1ns 0 0 0 2.36 KB
#7767 SendAsync netcoreapp3.1 8.44μs 26.5ns 103ns 0 0 0 2.9 KB
#7767 SendAsync net472 12.2μs 11.2ns 43.3ns 0.485 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7767

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 275.09 KB 277.6 KB 2.51 KB 0.91%

Fewer allocations 🎉 in #7767

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 279.54 KB 274.95 KB -4.58 KB -1.64%
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 48.9μs 772ns 7.56μs 0 0 0 43.44 KB
master StringConcatBenchmark netcoreapp3.1 50.7μs 379ns 3.62μs 0 0 0 42.85 KB
master StringConcatBenchmark net472 57.1μs 295ns 1.41μs 0 0 0 65.54 KB
master StringConcatAspectBenchmark net6.0 486μs 2.45μs 11.5μs 0 0 0 279.54 KB
master StringConcatAspectBenchmark netcoreapp3.1 517μs 2.03μs 7.31μs 0 0 0 275.09 KB
master StringConcatAspectBenchmark net472 412μs 2.19μs 11.4μs 0 0 0 278.53 KB
#7767 StringConcatBenchmark net6.0 48.2μs 509ns 4.91μs 0 0 0 43.43 KB
#7767 StringConcatBenchmark netcoreapp3.1 49.7μs 285ns 2.19μs 0 0 0 42.64 KB
#7767 StringConcatBenchmark net472 56.4μs 281ns 1.19μs 0 0 0 57.34 KB
#7767 StringConcatAspectBenchmark net6.0 476μs 1.59μs 5.73μs 0 0 0 274.95 KB
#7767 StringConcatAspectBenchmark netcoreapp3.1 526μs 2.23μs 7.74μs 0 0 0 277.6 KB
#7767 StringConcatAspectBenchmark net472 399μs 1.89μs 7.06μs 0 0 0 278.53 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.73μs 4.22ns 15.2ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.5μs 17.4ns 71.6ns 0 0 0 1.7 KB
master EnrichedLog net472 3.73μs 2.09ns 8.09ns 0.259 0 0 1.64 KB
#7767 EnrichedLog net6.0 2.7μs 12.4ns 48.2ns 0 0 0 1.7 KB
#7767 EnrichedLog netcoreapp3.1 3.59μs 17ns 66ns 0 0 0 1.7 KB
#7767 EnrichedLog net472 3.75μs 3.26ns 12.6ns 0.243 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 100ns 375ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 129μs 234ns 907ns 0 0 0 4.31 KB
master EnrichedLog net472 167μs 63.1ns 228ns 0 0 0 4.52 KB
#7767 EnrichedLog net6.0 124μs 140ns 524ns 0 0 0 4.31 KB
#7767 EnrichedLog netcoreapp3.1 128μs 306ns 1.15μs 0 0 0 4.31 KB
#7767 EnrichedLog net472 167μs 146ns 565ns 0 0 0 4.52 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.86μs 19.1ns 74ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.75μs 25.4ns 95ns 0 0 0 2.26 KB
master EnrichedLog net472 7.58μs 10.9ns 42.3ns 0.302 0 0 2.08 KB
#7767 EnrichedLog net6.0 4.86μs 24ns 104ns 0 0 0 2.26 KB
#7767 EnrichedLog netcoreapp3.1 6.9μs 15.2ns 58.8ns 0 0 0 2.26 KB
#7767 EnrichedLog net472 7.62μs 7.01ns 26.2ns 0.305 0 0 2.08 KB
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 2μs 10.2ns 46.6ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.55μs 12.5ns 53.2ns 0 0 0 1.2 KB
master SendReceive net472 3.08μs 4.27ns 16.5ns 0.186 0 0 1.2 KB
#7767 SendReceive net6.0 1.92μs 10.3ns 55.3ns 0 0 0 1.2 KB
#7767 SendReceive netcoreapp3.1 2.53μs 12.4ns 49.5ns 0 0 0 1.2 KB
#7767 SendReceive net472 3.09μs 5.18ns 20.1ns 0.185 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.37μs 19.5ns 73.1ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.94μs 6.43ns 24ns 0 0 0 1.63 KB
master EnrichedLog net472 6.44μs 5.54ns 21.5ns 0.291 0 0 2.03 KB
#7767 EnrichedLog net6.0 4.28μs 5.14ns 19.9ns 0 0 0 1.58 KB
#7767 EnrichedLog netcoreapp3.1 5.73μs 8.54ns 33.1ns 0 0 0 1.63 KB
#7767 EnrichedLog net472 6.52μs 10.7ns 41.3ns 0.295 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 820ns 4.08ns 18.7ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 958ns 5.18ns 24.3ns 0 0 0 576 B
master StartFinishSpan net472 921ns 0.428ns 1.66ns 0.0873 0 0 578 B
master StartFinishScope net6.0 946ns 1.61ns 6.24ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.15μs 0.967ns 3.74ns 0 0 0 696 B
master StartFinishScope net472 1.1μs 0.115ns 0.399ns 0.104 0 0 658 B
#7767 StartFinishSpan net6.0 785ns 3.73ns 14.9ns 0 0 0 576 B
#7767 StartFinishSpan netcoreapp3.1 958ns 4.54ns 19.3ns 0 0 0 576 B
#7767 StartFinishSpan net472 903ns 0.0613ns 0.221ns 0.0907 0 0 578 B
#7767 StartFinishScope net6.0 941ns 0.371ns 1.44ns 0 0 0 696 B
#7767 StartFinishScope netcoreapp3.1 1.2μs 5.97ns 26.7ns 0 0 0 696 B
#7767 StartFinishScope net472 1.1μs 0.111ns 0.416ns 0.0992 0 0 658 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 1.08μs 0.276ns 0.995ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.4μs 7.12ns 31ns 0 0 0 696 B
master RunOnMethodBegin net472 1.43μs 0.548ns 2.05ns 0.101 0 0 658 B
#7767 RunOnMethodBegin net6.0 1.08μs 1.4ns 5.23ns 0 0 0 696 B
#7767 RunOnMethodBegin netcoreapp3.1 1.41μs 7.06ns 30ns 0 0 0 696 B
#7767 RunOnMethodBegin net472 1.43μs 0.52ns 2.01ns 0.1 0 0 658 B

@lucaspimentel lucaspimentel force-pushed the lpimentel/remove-tracer-home-dependency-redux branch from 2dbbeaf to fd6e208 Compare November 10, 2025 15:51
@lucaspimentel lucaspimentel requested a review from a team as a code owner November 10, 2025 15:51
@lucaspimentel lucaspimentel added the status:do-not-merge Work is done. Can review, but do not merge yet. label Nov 14, 2025
@lucaspimentel lucaspimentel changed the title Reapply "make DD_DOTNET_TRACER_HOME optional in managed loader" [DO NOT MERGE] Reapply "make DD_DOTNET_TRACER_HOME optional in managed loader" Nov 14, 2025
@lucaspimentel lucaspimentel force-pushed the lpimentel/remove-tracer-home-dependency-redux branch from fd6e208 to 7f35d84 Compare November 18, 2025 16:45
@lucaspimentel lucaspimentel force-pushed the lpimentel/remove-tracer-home-dependency-redux branch from 7f35d84 to 550b689 Compare November 25, 2025 23:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:configuration status:do-not-merge Work is done. Can review, but do not merge yet. type:enhancement Improvement to an existing feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants