perfview

Understanding BLOCKED_TIME in PerfView

假如想象 提交于 2021-02-10 05:13:34
问题 We are suspecting that we're experciencing thread pool starvation on a server that is running a couple of ASP.NET Core APIs and a couple of .NET Core consoles. I ran perfview one one of our servers were we are suspecting problems with thread pool starvation. However I'm having a bit of trouble analyzing the results. I ran PerfView /threadTime collect for about 60 seconds. And this is the result I got (I chose one to look at one of our ASP.NET Core APIs): Looking at "By Name" we can see that

Simplest way to write a log message and display in Perfview

柔情痞子 提交于 2019-12-20 06:25:12
问题 I need the to write a log message and capture that in PerfView. I would like to avoid using EventLog or EventSource because they are quite invasive: they require registering a new source or ETW provider, which leaves leftovers in the system. Ideally I just want to call Debug.WriteLine (which uses OutputDebugString), but it seems that PerfView cannot collect it. Or is there some ETW provider that sees debug messages? If you have an answer, please state the two parts of the solution: What

PerfView: Analyzing Performance of App including Database Calls

China☆狼群 提交于 2019-12-14 03:46:56
问题 I'm currently getting into PerfView for performance analysis for my (C#) apps. But typically those apps use a lot of database calls. So I asked myself questions like: - How much time is spent in Repositories? - (How much time is spent waiting for SQL Queries to return?) -> I don't know if this is even possible to discover with PerfView But from my traces I get barely any useful results. In the "Any Stacks" View it tells me (when I use grouping on my Repository) that 1,5 seconds are spent in

Performance impact due to StackTrace constructor and getting method name

时间秒杀一切 提交于 2019-12-10 19:06:20
问题 I have this piece of code in our logging library var stackTrace = new StackTrace(); string operationName = stackTrace.GetFrame(1).GetMethod().Name; And as per my performance analysis using the PerfView Tool it shows up as Does anyone know of the performance implications by the code that i have added? If yes is there any other way that i can get method name without having greater performance impact? I am currently running it as 1000 TPS on a 4 core machine. And i see that the it uses 15.1% of

How can I see me expensive methods in PerfView

爷,独闯天下 提交于 2019-12-10 19:03:55
问题 I have created a simple console app and execute it from PerfView via Run Command -> PerfMonTest.exe I get the log file and see the process of the app. It is expensive as expected (99% CPU ), but when I want to drill down into the expensive methods they are not shown in the list of expensive methods. Is there something I can do to make them visible? Here is the view when I selected the process. I would expect CallExpensive and CallCheap in the list: Selecting the Main Methods doesnt give me

Simplest way to write a log message and display in Perfview

断了今生、忘了曾经 提交于 2019-12-02 08:02:24
I need the to write a log message and capture that in PerfView . I would like to avoid using EventLog or EventSource because they are quite invasive: they require registering a new source or ETW provider, which leaves leftovers in the system. Ideally I just want to call Debug.WriteLine (which uses OutputDebugString ), but it seems that PerfView cannot collect it. Or is there some ETW provider that sees debug messages? If you have an answer, please state the two parts of the solution: What should I write in C#, and How to configure PerfView to capture it (if there is some ETW provider, just