dotnet / dotnet/aspnetcore

Adding a diagnostic mode that turns on more activities in ASP.NET

Open
#60,956 2 comments 3 reactions 0 assignees View on GitHub
area-networking
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 6h
Merged PRs (30d)
290

Description

It seems like it's still challenging to diagnose "slowness" in ASP.NET Core applications. It usually means resorting to low level tools like dotnet trace and more advanced tools like perfview (or dump analysis) to figure this out. Instead, we should add more activities to ASP.NET Core in strategically placed areas that can be turned on either via configuration or on a per request basis. This will help to show people where the request might be "stuck".

While this will add overhead, a tool like the aspire dashboard (or any tool that can visualize otel spans) can be used to look at the usual distributed tracing view to see what might be happening in process.

We could go crazy here and add activities everywhere but it makes sense to be more data driven about it. We should mine closed issues and look at common areas where these "stalls" occur, for example anywhere that does IO automagically like model binding or thread pool starvation (though this can happen anywhere).

cc @JamesNK @samsp-msft @noahfalk @tarekgh @lmolkova

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.