Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix pinned locals parsing + bump dotnet version for protobuf and eShopOnWeb exploration tests #6475

Merged
merged 17 commits into from
Jan 14, 2025

Conversation

vandonr
Copy link
Contributor

@vandonr vandonr commented Dec 20, 2024

Summary of changes

  • fixed IL instrumentation error related to pinned variables. When we parsed the LocalVarSig into an array of locals, we didn't handle pinned variables. It caused the variables following it to be parsed incorrectly, leading to type confusion (e.g treating Span<T> as system.Threading.Thread) which caused bad instrumentation decision to be made. One of them is the usage of by-ref-like types as generic param (to be used by the debugger invokers) and failed with InvalidProgramException because by-ref-like is not allowed to be used as generic param.
  • change the version of the dotnet framework used to run 2 exploration tests from netcore 2.1 to a more recent one
    also change the version of those libraries used to have one that's compatible with more recent dotnet versions (this is what revealed the pb mentioned above)

Reason for change

those tests were using netcore 2.1 which we don't actively support anymore, so it makes sense to test them with a supported version.

@vandonr vandonr requested a review from a team as a code owner December 20, 2024 14:12
@github-actions github-actions bot added the area:builds project files, build scripts, pipelines, versioning, releases, packages label Dec 20, 2024
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.

Thanks, LGTM as long as they definitely run and pass for all the components! 🙂

(I'm not sure they will run automatically for debugger and tracer and profiler) without doing a manual run

@vandonr
Copy link
Contributor Author

vandonr commented Dec 20, 2024

(I'm not sure they will run automatically for debugger and tracer and profiler) without doing a manual run

ah, right, I was just thinking we could wait for a green CI and be good to go, but it looks like they only run for the debugger

@datadog-ddstaging
Copy link

datadog-ddstaging bot commented Dec 20, 2024

Datadog Report

Branch report: vandonr/explo
Commit report: 03467be
Test service: dd-trace-dotnet

✅ 0 Failed, 250761 Passed, 2849 Skipped, 32h 19m 25.13s Total Time
❄️ 1 New Flaky

New Flaky Tests (1)

  • EarlyFlakeDetection - Datadog.Trace.ClrProfiler.IntegrationTests.CI.MsTestV2EvpTests - Last Failure

    Expand for error
     The sample did not exit in 600000ms. Memory dump taken: True. Killing process.
    

@andrewlock
Copy link
Member

andrewlock commented Dec 20, 2024

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing the following branches/commits:

Execution-time benchmarks measure the whole time it takes to execute a program. And are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are shown in red. The following thresholds were used for comparing the execution times:

  • Welch test with statistical test for significance of 5%
  • Only results indicating a difference greater than 5% and 5 ms are considered.

Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard.

Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph).

gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6475) - mean (69ms)  : 65, 72
     .   : milestone, 69,
    master - mean (68ms)  : 66, 71
     .   : milestone, 68,

    section CallTarget+Inlining+NGEN
    This PR (6475) - mean (975ms)  : 948, 1002
     .   : milestone, 975,
    master - mean (979ms)  : 948, 1010
     .   : milestone, 979,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6475) - mean (107ms)  : 105, 110
     .   : milestone, 107,
    master - mean (107ms)  : 105, 109
     .   : milestone, 107,

    section CallTarget+Inlining+NGEN
    This PR (6475) - mean (674ms)  : 659, 689
     .   : milestone, 674,
    master - mean (678ms)  : 664, 693
     .   : milestone, 678,

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

    section CallTarget+Inlining+NGEN
    This PR (6475) - mean (626ms)  : 610, 641
     .   : milestone, 626,
    master - mean (635ms)  : 620, 649
     .   : milestone, 635,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6475) - mean (193ms)  : 189, 198
     .   : milestone, 193,
    master - mean (194ms)  : 190, 198
     .   : milestone, 194,

    section CallTarget+Inlining+NGEN
    This PR (6475) - mean (1,099ms)  : 1070, 1127
     .   : milestone, 1099,
    master - mean (1,103ms)  : 1066, 1140
     .   : milestone, 1103,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6475) - mean (278ms)  : 273, 282
     .   : milestone, 278,
    master - mean (277ms)  : 274, 281
     .   : milestone, 277,

    section CallTarget+Inlining+NGEN
    This PR (6475) - mean (867ms)  : 841, 894
     .   : milestone, 867,
    master - mean (870ms)  : 843, 897
     .   : milestone, 870,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6475) - mean (266ms)  : 263, 270
     .   : milestone, 266,
    master - mean (267ms)  : 263, 271
     .   : milestone, 267,

    section CallTarget+Inlining+NGEN
    This PR (6475) - mean (848ms)  : 805, 890
     .   : milestone, 848,
    master - mean (852ms)  : 825, 878
     .   : milestone, 852,

Loading

@@ -599,20 +599,20 @@ public static ExplorationTestDescription GetExplorationTestDescription(Explorati
{
Name = ExplorationTestName.eShopOnWeb,
GitRepositoryUrl = "https://github.com/dotnet-architecture/eShopOnWeb.git",
GitRepositoryTag = "netcore2.1",
GitRepositoryTag = "main",
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I know we want to target a specific tag/version to make sure there is no variability in the CI from distant changes, but here the repo has been archived since 6+ months, so I think we're pretty safe pulling main, it shouldn't change any time soon.

Copy link
Member

Choose a reason for hiding this comment

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

Even so, it probably makes sense to specify the specific commit?

Suggested change
GitRepositoryTag = "main",
GitRepositoryTag = "2414014bfa0f4d2021b5bc9061429a98d232f440",

Copy link
Contributor Author

Choose a reason for hiding this comment

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

thanks, I didn't know we could specify a commit hash here

Copy link
Contributor Author

Choose a reason for hiding this comment

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

actually we can't, this breaks the command used for cloning. Also, it's not even a feature that's readily available with git, it depends on server side config (see https://stackoverflow.com/a/3489576/787883).
I implemented it using a second command to git reset --hard to a provided sha.

@andrewlock
Copy link
Member

Throughput/Crank Report ⚡

Throughput results for AspNetCoreSimpleController comparing the following branches/commits:

Cases where throughput results for the PR are worse than latest master (5% drop or greater), results are shown in red.

Note that these results are based on a single point-in-time result for each branch. For full results, see one of the many, many dashboards!

gantt
    title Throughput Linux x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (6475) (11.139M)   : 0, 11139488
    master (11.166M)   : 0, 11165619
    benchmarks/2.9.0 (11.033M)   : 0, 11032866

    section Automatic
    This PR (6475) (7.282M)   : 0, 7282383
    master (7.232M)   : 0, 7232435
    benchmarks/2.9.0 (7.786M)   : 0, 7785853

    section Trace stats
    master (7.555M)   : 0, 7555239

    section Manual
    master (11.218M)   : 0, 11218357

    section Manual + Automatic
    This PR (6475) (6.707M)   : 0, 6706823
    master (6.695M)   : 0, 6694720

    section DD_TRACE_ENABLED=0
    master (10.195M)   : 0, 10194994

Loading
gantt
    title Throughput Linux arm64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (6475) (9.626M)   : 0, 9625630
    master (9.350M)   : 0, 9350086
    benchmarks/2.9.0 (9.495M)   : 0, 9494821

    section Automatic
    This PR (6475) (6.356M)   : 0, 6355828
    master (6.223M)   : 0, 6222880

    section Trace stats
    master (6.644M)   : 0, 6644302

    section Manual
    master (9.490M)   : 0, 9490052

    section Manual + Automatic
    This PR (6475) (5.939M)   : 0, 5938564
    master (5.826M)   : 0, 5826117

    section DD_TRACE_ENABLED=0
    master (8.806M)   : 0, 8806093

Loading
gantt
    title Throughput Windows x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (6475) (9.734M)   : 0, 9733803
    master (10.038M)   : 0, 10038108
    benchmarks/2.9.0 (10.020M)   : 0, 10019592

    section Automatic
    This PR (6475) (5.955M)   : crit ,0, 5955291
    master (6.759M)   : 0, 6759031
    benchmarks/2.9.0 (7.255M)   : 0, 7255257

    section Trace stats
    master (7.327M)   : 0, 7327150

    section Manual
    master (10.148M)   : 0, 10147695

    section Manual + Automatic
    This PR (6475) (5.705M)   : crit ,0, 5705230
    master (6.270M)   : 0, 6270298

    section DD_TRACE_ENABLED=0
    master (9.572M)   : 0, 9571995

Loading

@andrewlock
Copy link
Member

andrewlock commented Dec 21, 2024

Benchmarks Report for tracer 🐌

Benchmarks for #6475 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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 ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 8.25μs 45.4ns 261ns 0.0124 0.00415 0 5.61 KB
master StartStopWithChild netcoreapp3.1 10μs 55.2ns 326ns 0.0198 0.00988 0 5.8 KB
master StartStopWithChild net472 16.5μs 52.9ns 205ns 1.04 0.312 0.0904 6.21 KB
#6475 StartStopWithChild net6.0 8.14μs 44.9ns 262ns 0.0167 0.00835 0 5.6 KB
#6475 StartStopWithChild netcoreapp3.1 10.3μs 57.4ns 344ns 0.0207 0.0103 0 5.8 KB
#6475 StartStopWithChild net472 16.3μs 32.5ns 126ns 1.05 0.316 0.108 6.21 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 492μs 509ns 1.9μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 640μs 374ns 1.35μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 856μs 712ns 2.66μs 0.425 0 0 3.3 KB
#6475 WriteAndFlushEnrichedTraces net6.0 526μs 311ns 1.12μs 0 0 0 2.7 KB
#6475 WriteAndFlushEnrichedTraces netcoreapp3.1 660μs 470ns 1.82μs 0 0 0 2.7 KB
#6475 WriteAndFlushEnrichedTraces net472 860μs 646ns 2.5μs 0.428 0 0 3.3 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 152μs 1.19μs 11.6μs 0.136 0 0 14.47 KB
master SendRequest netcoreapp3.1 167μs 951ns 7.49μs 0.158 0 0 17.27 KB
master SendRequest net472 0.00419ns 0.00167ns 0.00647ns 0 0 0 0 b
#6475 SendRequest net6.0 153μs 868ns 6.78μs 0.159 0 0 14.47 KB
#6475 SendRequest netcoreapp3.1 169μs 981ns 9.15μs 0.166 0 0 17.27 KB
#6475 SendRequest net472 8.84E‑05ns 8.84E‑05ns 0.000319ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 558μs 2.53μs 9.8μs 0.558 0 0 41.58 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 674μs 3.66μs 20.1μs 0.336 0 0 41.83 KB
master WriteAndFlushEnrichedTraces net472 829μs 3.05μs 11.8μs 8.63 2.47 0.411 53.29 KB
#6475 WriteAndFlushEnrichedTraces net6.0 552μs 2.82μs 12.3μs 0.579 0 0 41.62 KB
#6475 WriteAndFlushEnrichedTraces netcoreapp3.1 658μs 3.37μs 16.5μs 0.324 0 0 41.76 KB
#6475 WriteAndFlushEnrichedTraces net472 850μs 4.04μs 16.2μs 8.69 2.48 0.414 53.3 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.33μs 1.13ns 4.38ns 0.0141 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 1.74μs 1.79ns 6.94ns 0.014 0 0 1.02 KB
master ExecuteNonQuery net472 2.1μs 2.77ns 10.7ns 0.156 0.00105 0 987 B
#6475 ExecuteNonQuery net6.0 1.41μs 1.4ns 5.24ns 0.0141 0 0 1.02 KB
#6475 ExecuteNonQuery netcoreapp3.1 1.76μs 3.08ns 11.9ns 0.0132 0 0 1.02 KB
#6475 ExecuteNonQuery net472 2.07μs 1.56ns 6.03ns 0.157 0.00103 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.3μs 0.513ns 1.92ns 0.0133 0 0 976 B
master CallElasticsearch netcoreapp3.1 1.52μs 0.622ns 2.33ns 0.0132 0 0 976 B
master CallElasticsearch net472 2.54μs 0.972ns 3.5ns 0.158 0 0 995 B
master CallElasticsearchAsync net6.0 1.29μs 0.536ns 2.08ns 0.0136 0 0 952 B
master CallElasticsearchAsync netcoreapp3.1 1.71μs 6.87ns 26.6ns 0.0135 0 0 1.02 KB
master CallElasticsearchAsync net472 2.66μs 1.22ns 4.72ns 0.166 0 0 1.05 KB
#6475 CallElasticsearch net6.0 1.26μs 0.983ns 3.68ns 0.0139 0 0 976 B
#6475 CallElasticsearch netcoreapp3.1 1.6μs 0.662ns 2.39ns 0.0135 0 0 976 B
#6475 CallElasticsearch net472 2.57μs 1.15ns 4.3ns 0.158 0 0 995 B
#6475 CallElasticsearchAsync net6.0 1.36μs 0.575ns 2.23ns 0.013 0 0 952 B
#6475 CallElasticsearchAsync netcoreapp3.1 1.64μs 3.37ns 13.1ns 0.0138 0 0 1.02 KB
#6475 CallElasticsearchAsync net472 2.73μs 1.23ns 4.76ns 0.167 0 0 1.05 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.24μs 1.26ns 4.55ns 0.0131 0 0 952 B
master ExecuteAsync netcoreapp3.1 1.72μs 0.896ns 3.47ns 0.0132 0 0 952 B
master ExecuteAsync net472 1.82μs 0.366ns 1.32ns 0.145 0 0 915 B
#6475 ExecuteAsync net6.0 1.37μs 1.04ns 3.89ns 0.0132 0 0 952 B
#6475 ExecuteAsync netcoreapp3.1 1.62μs 3.88ns 14.5ns 0.0123 0 0 952 B
#6475 ExecuteAsync net472 1.79μs 0.664ns 2.48ns 0.145 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 4.44μs 4.28ns 16ns 0.0311 0 0 2.31 KB
master SendAsync netcoreapp3.1 5.4μs 8.49ns 32.9ns 0.0377 0 0 2.85 KB
master SendAsync net472 7.49μs 2.34ns 9.07ns 0.492 0 0 3.12 KB
#6475 SendAsync net6.0 4.48μs 1.14ns 4.1ns 0.0314 0 0 2.31 KB
#6475 SendAsync netcoreapp3.1 5.35μs 1.94ns 7.28ns 0.0375 0 0 2.85 KB
#6475 SendAsync net472 7.35μs 2.56ns 9.9ns 0.493 0 0 3.12 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 1.52μs 0.527ns 1.97ns 0.0228 0 0 1.64 KB
master EnrichedLog netcoreapp3.1 2.37μs 0.83ns 3.22ns 0.0222 0 0 1.64 KB
master EnrichedLog net472 2.57μs 1.49ns 5.59ns 0.25 0 0 1.57 KB
#6475 EnrichedLog net6.0 1.5μs 0.887ns 3.43ns 0.023 0 0 1.64 KB
#6475 EnrichedLog netcoreapp3.1 2.27μs 1.1ns 4.11ns 0.0223 0 0 1.64 KB
#6475 EnrichedLog net472 2.8μs 1.54ns 5.98ns 0.25 0 0 1.57 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 119μs 200ns 773ns 0.0595 0 0 4.28 KB
master EnrichedLog netcoreapp3.1 121μs 232ns 868ns 0 0 0 4.28 KB
master EnrichedLog net472 152μs 214ns 828ns 0.691 0.23 0 4.46 KB
#6475 EnrichedLog net6.0 116μs 102ns 396ns 0.058 0 0 4.28 KB
#6475 EnrichedLog netcoreapp3.1 121μs 262ns 1.02μs 0.0607 0 0 4.28 KB
#6475 EnrichedLog net472 151μs 176ns 682ns 0.687 0.229 0 4.46 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 3.03μs 0.799ns 3.09ns 0.0302 0 0 2.2 KB
master EnrichedLog netcoreapp3.1 4.17μs 1.43ns 5.53ns 0.0291 0 0 2.2 KB
master EnrichedLog net472 5.03μs 1.59ns 6.17ns 0.32 0 0 2.02 KB
#6475 EnrichedLog net6.0 3.01μs 0.622ns 2.33ns 0.0301 0 0 2.2 KB
#6475 EnrichedLog netcoreapp3.1 4μs 1.46ns 5.65ns 0.0303 0 0 2.2 KB
#6475 EnrichedLog net472 4.86μs 1.09ns 4.09ns 0.319 0 0 2.02 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.29μs 0.716ns 2.58ns 0.0161 0 0 1.14 KB
master SendReceive netcoreapp3.1 1.8μs 1.23ns 4.61ns 0.0154 0 0 1.14 KB
master SendReceive net472 2.13μs 0.879ns 3.29ns 0.183 0 0 1.16 KB
#6475 SendReceive net6.0 1.38μs 0.501ns 1.87ns 0.0161 0 0 1.14 KB
#6475 SendReceive netcoreapp3.1 1.8μs 1.33ns 5.16ns 0.0155 0 0 1.14 KB
#6475 SendReceive net472 2.12μs 1.04ns 3.61ns 0.183 0 0 1.16 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 2.81μs 1.47ns 5.71ns 0.0223 0 0 1.6 KB
master EnrichedLog netcoreapp3.1 4.01μs 1.67ns 6.27ns 0.022 0 0 1.65 KB
master EnrichedLog net472 4.42μs 2.98ns 11.6ns 0.323 0 0 2.04 KB
#6475 EnrichedLog net6.0 2.72μs 1.16ns 4.48ns 0.0223 0 0 1.6 KB
#6475 EnrichedLog netcoreapp3.1 3.95μs 1.46ns 5.66ns 0.0217 0 0 1.65 KB
#6475 EnrichedLog net472 4.1μs 1.55ns 5.78ns 0.323 0 0 2.04 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 407ns 0.215ns 0.831ns 0.00801 0 0 576 B
master StartFinishSpan netcoreapp3.1 613ns 0.681ns 2.64ns 0.00765 0 0 576 B
master StartFinishSpan net472 722ns 0.326ns 1.26ns 0.0916 0 0 578 B
master StartFinishScope net6.0 480ns 0.225ns 0.872ns 0.00985 0 0 696 B
master StartFinishScope netcoreapp3.1 726ns 0.652ns 2.52ns 0.0094 0 0 696 B
master StartFinishScope net472 820ns 0.374ns 1.45ns 0.104 0 0 658 B
#6475 StartFinishSpan net6.0 406ns 0.204ns 0.791ns 0.00814 0 0 576 B
#6475 StartFinishSpan netcoreapp3.1 618ns 0.369ns 1.43ns 0.00772 0 0 576 B
#6475 StartFinishSpan net472 677ns 0.345ns 1.34ns 0.0915 0 0 578 B
#6475 StartFinishScope net6.0 488ns 0.387ns 1.5ns 0.00985 0 0 696 B
#6475 StartFinishScope netcoreapp3.1 735ns 0.4ns 1.55ns 0.00916 0 0 696 B
#6475 StartFinishScope net472 842ns 0.556ns 2.15ns 0.105 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 640ns 0.243ns 0.94ns 0.00965 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1μs 1.07ns 4.13ns 0.00916 0 0 696 B
master RunOnMethodBegin net472 1.06μs 0.803ns 3.11ns 0.104 0 0 658 B
#6475 RunOnMethodBegin net6.0 643ns 0.312ns 1.17ns 0.00981 0 0 696 B
#6475 RunOnMethodBegin netcoreapp3.1 905ns 0.411ns 1.59ns 0.0091 0 0 696 B
#6475 RunOnMethodBegin net472 1.14μs 0.42ns 1.63ns 0.104 0 0 658 B

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.

Thanks, makes sense I think 👍

@@ -599,20 +599,20 @@ public static ExplorationTestDescription GetExplorationTestDescription(Explorati
{
Name = ExplorationTestName.eShopOnWeb,
GitRepositoryUrl = "https://github.com/dotnet-architecture/eShopOnWeb.git",
GitRepositoryTag = "netcore2.1",
GitRepositoryTag = "main",
Copy link
Member

Choose a reason for hiding this comment

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

Even so, it probably makes sense to specify the specific commit?

Suggested change
GitRepositoryTag = "main",
GitRepositoryTag = "2414014bfa0f4d2021b5bc9061429a98d232f440",

Co-authored-by: Andrew Lock <andrew.lock@datadoghq.com>
@vandonr
Copy link
Contributor Author

vandonr commented Dec 24, 2024

there is still an issue on windows with protobuf tests, we have the following error:
System.BadImageFormatException: Bad IL format. The format of the file '...\Google.Protobuf.Test\bin\Release\net6.0\testhost.exe' is invalid.
not too sure what's causing it 🤔

@andrewlock
Copy link
Member

there is still an issue on windows with protobuf tests, we have the following error: System.BadImageFormatException: Bad IL format. The format of the file '...\Google.Protobuf.Test\bin\Release\net6.0\testhost.exe' is invalid. not too sure what's causing it 🤔

Yikes, that sounds bad. We instrument the testhost, and BadImageFormatException can be created from a bad instrumentation, so if that's the case, this is Not Good™

@vandonr
Copy link
Contributor Author

vandonr commented Dec 24, 2024

it works on Linux though 🙃

@GreenMatan GreenMatan requested review from a team as code owners January 12, 2025 18:54
Copy link
Contributor

@GreenMatan GreenMatan left a comment

Choose a reason for hiding this comment

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

LGTM

@vandonr
Copy link
Contributor Author

vandonr commented Jan 13, 2025

we're getting an error fatal: detected dubious ownership in repository at '/project' due to the git reset to a particular commit. I'm going to say this will be handled in a separate PR so that we can move forward with just testing on newer versions here.

@GreenMatan GreenMatan changed the title bump dotnet version for protobuf and eShopOnWeb exploration tests bump dotnet version for protobuf and eShopOnWeb exploration tests + fixed pinned locals parsing Jan 13, 2025
@vandonr vandonr changed the title bump dotnet version for protobuf and eShopOnWeb exploration tests + fixed pinned locals parsing Fix pinned locals parsing + bump dotnet version for protobuf and eShopOnWeb exploration tests Jan 14, 2025
@vandonr vandonr merged commit 36bb44a into master Jan 14, 2025
108 of 111 checks passed
@vandonr vandonr deleted the vandonr/explo branch January 14, 2025 09:46
@github-actions github-actions bot added this to the vNext-v3 milestone Jan 14, 2025
assembly = Assembly.LoadFile(testAssemblyPath);
return true;
}
catch (BadImageFormatException e)
Copy link
Member

Choose a reason for hiding this comment

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

Not a blocker, but this is now causing compiler warnings on master 😅

The variable 'e' is declared but never used

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yeah I saw that... hang in there I'll push a little PR

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

no rush, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:builds project files, build scripts, pipelines, versioning, releases, packages area:debugger type:bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants