在我分析ASP.NET核心应用程序后, JetBrain的dotTrace 工具默认打开All Calls
选项卡并显示一个线程列表。
请您澄清我的一些问题吗?
在我的分析会话期间,我向Web应用程序发送了大约100K的请求。这些线程(除了Main
和一些系统线程,如Finalizer
线程)是否是线程池用来根据下面的图像提供所有请求的唯一线程?
理想情况下,我更愿意了解占用大量CPU的函数的细节(即分析会话中最热门的方法),所以我一直在想这个线程视图实际上有何帮助?
您认为线程池中可能有更多线程可以使用并返回给线程池,但是分析器只能“捕获”特定线程池线程的信息因为那些线程池线程在那段时间内正在执行?我这样说是因为对于~100K请求,此处显示的线程数似乎较少,但我可能是错的。 (可能是基于执行的并发请求数量?)
答案 0 :(得分:0)
在应用程序中使用真实线程时,“线程”视图非常有用。 例如,在WPF中,仅用于调度程序的主线程和用于后台工作的自定义线程。
在您的情况下,您仍然可以扩展调度以查看内部执行的内容。 您还可以使用“跟踪”模式查看池工作程序中的请求数。
将显示您在性能分析记录期间实际使用的所有线程,每个线程将执行很多请求
对于这种使用,我更喜欢“时间轴”模式,因此您可以过滤所有请求,并查看执行了所有线程。