天天看點

用DotTrace 來分析.NET-Core程式

1. 前言

看園子裡面講

dotTrace

的文章不多,最近也有這方面的需要,于是去搜尋了一下,.NET 性能分析方面的工具。目的呢,主要是想發現我的代碼中,哪些代碼占用了最多時間,來進行優化。主要有兩個工具,一個是

Visual-Studio 2017

自帶的

Performance Profiler

還有一個就是

DotTrace

兩者大概長成如下這樣:首先是

Performance Profiler

Performance Profiler
用DotTrace 來分析.NET-Core程式

以及

DotTrace

DotTrace
用DotTrace 來分析.NET-Core程式

Visual Studio

的那個用不怎麼來,接下來就介紹一下

DotTrace

的基本使用分析。

2. DotTrace 基本介紹

dotTrace is arguably the most convenient tool for .NET performance profiling.

dotTrace lets you find performance bottlenecks in a variety of .NET applications, including applications based on .NET Framework up to the version 4.6 and Silverlight 5.

看到官網上這麼吹一波,感覺你可以去試試它到底怎麼樣,幫你找到性能瓶頸。。。

3. 具體使用

我們的目的很明确, 想知道一個功能它裡面最占用時間的是哪個具體的方法。

其實他的作用很多,但我們這次隻使用一小點。

操作步驟:

3.1 選擇你所要分析的具體.NET-Core 程式

在下圖右側的

Application

中,選擇你

Web

XXX.dll

,然後點選

Run

就開始了

用DotTrace 來分析.NET-Core程式

3.2 根據控制台上的位址打開網址

啟動時就會出現下面的這樣一個控制台。

用DotTrace 來分析.NET-Core程式

3.3 在網頁上操作你所要測試的方法。

用DotTrace 來分析.NET-Core程式

現在

Get Snapshot and Wait

是灰色的,因為我已經操作完成了,當你操作完成後,點選

Get Snapshot and Wait

然後就會生成一個分析報告了。

報告長得就是如下樣子:

用DotTrace 來分析.NET-Core程式

想要看到具體哪個方法調用了最多時間,點選左側第四個

Hot Spots

,然後就可以看到我上面的圖了,右側還可以顯示,IL 解析前後的代碼。非常友善。

上面那幅圖官方的一個解釋可供參考:

用DotTrace 來分析.NET-Core程式

參考連結

  1. https://www.jetbrains.com/help/profiler/Get_Started_with_Performance_Viewer.html

繼續閱讀