並行視覺化檢視中的執行緒檢視報告
本文提供並行視覺化檢視中執行緒檢視報告的相關資訊。
封鎖時間分析報表
分析報表提供每個封鎖類別 (例如 "I/O" 或「同步處理」) 特定之呼叫堆疊的彙總封鎖時間資料 。 先佔報表列出先佔用目前處理序的處理序,以及先佔執行個體的數目。 為建置封鎖分析報表,此工具會收集封鎖的 API 呼叫,並將它們累積成呼叫堆疊的樹狀目錄。 這些報表中所顯示的資料會依據目前的時間範圍、隱藏的執行緒以及下列兩個可套用的篩選而不同︰
如果已選取 Just My Code,只會顯示有使用者程式碼的堆疊框架,再加上使用者程式碼下方的一個層級。
如果已設定 Noise 減少值,則會略過小於指定頻率的自動分頁堆疊。
展開任一呼叫樹狀圖項目,以尋找花費封鎖時間的程式碼。 若要尋找某個項目的來源程式行,請在其捷徑功能表上選擇 [檢視原始檔]。 若要尋找呼叫此項目的程式碼,請在捷徑功能表上選擇 [檢視呼叫位置]。 如果只有一個呼叫位置,命令會連線至反白顯示的程式碼 (代表該呼叫位置)。 如果有多個呼叫位置,命令會開啟對話方塊,您可以在其中選取一個項目,再選擇 [移至原始檔] 按鈕來尋找反白顯示的呼叫位置。 檢視有最多執行個體、花費最多時間 (或兩者) 之呼叫位置的原始檔通常最有用。
封鎖時間報表資料行
下表顯示每個封鎖時間報表的資料行。
資料行名稱 | Description |
---|---|
名稱 | 每個層級的呼叫堆疊的函式名稱。 |
執行個體 | 顯示的時間週期內封鎖呼叫的執行個體數目。 |
內含封鎖時間 | 針對到呼叫堆疊樹狀圖的這個層級為止的所有堆疊花費的總封鎖時間。 此內含數字是此函式的獨佔封鎖時間和其所有子節點的專屬封鎖時間的總和。 |
獨佔封鎖時間 | 花費的總封鎖時間,在此期間內,此函式是呼叫堆疊的最低層級。 具有大量獨佔封鎖時間的唯一呼叫堆疊項目,可能是您感興趣的函式。 |
API/等候類別 | 只針對最下層呼叫堆疊的函式顯示。 已辨識封鎖呼叫的簽章時,會提供封鎖 API 的名稱。 如果無法辨識簽章,會提供核心所報表的資訊。 |
詳細資料 | 函式的完整格式名稱。 當有詳細資料可用時,其中會包括行數。 |
同步處理
同步處理報表顯示對封鎖同步處理之區段負責的呼叫,以及每個呼叫堆疊的彙總封鎖時間。 如需詳細資訊,請參閱同步處理時間
Sleep
睡眠報表顯示對因睡眠所花的時間而產生的封鎖時間負責的呼叫,以及每個呼叫堆疊的彙總封鎖時間。 如需詳細資訊,請參閱睡眠時間。
I/O
I/O 報表顯示對封鎖 I/O 之區段負責的呼叫,以及每個呼叫堆疊的彙總封鎖時間。 如需詳細資訊,請參閱 I/O 時間 (執行緒檢視)。
記憶體管理
記憶體管理報表顯示對封鎖記憶體管理作業之區段負責的呼叫,以及每個呼叫堆疊的彙總封鎖時間。 如需詳細資訊,請參閱記憶體管理時間。
先佔
先佔報表列出先佔用目前處理序的處理序,以及執行個體的數目。 您可以展開各處理序來檢視取代目前處理序中之執行緒的特定執行緒,並檢視每個執行緒先佔執行個體的細目。 此封鎖報表較其他報表不可行,因為先佔通常是由作業系統加諸於您的處理序,而不是由您程式碼中的問題。 如需詳細資訊,請參閱先佔時間。
UI 處理
UI 處理報表顯示對封鎖 UI 處理區塊之區段負責的呼叫,以及每個呼叫堆疊的彙總封鎖時間。 如需詳細資訊,請參閱 UI 處理時間。
磁碟作業報告 (執行緒檢視)
磁碟作業報告顯示磁碟通道中的磁碟 I/O 作業。
代表在目前可見的時間範圍中正在進行程式碼剖析的處理序所發生每次磁碟存取,都會報告這項資訊︰
執行磁碟存取之處理序的名稱和 PID
存取磁碟的執行緒識別碼
已存取的檔案名稱
每個檔案的讀取次數
讀取的位元組數目
讀取延遲 (以毫秒為單位)
寫入次數
寫入的位元組數目
寫入延遲 (以毫秒為單位)
執行分析報表
執行分析報表是傳統的取樣分析。 當執行緒在邏輯核心上執行時,約每毫秒會擷取一次樣本,並行視覺化檢視會透過自動分頁累積的樣本堆疊集來建立典型的呼叫樹狀圖。 目前的時間範圍、隱藏的執行緒及下列可套用的篩選都可能影響此資料表中的資料︰
如果已選取 Just My Code,只會顯示有使用者程式碼的堆疊框架,再加上使用者程式碼下方的一個層級。
如果已設定 Noise 減少值,報表會篩掉小於指定頻率的自動分頁堆疊。
下表顯示報表中的資料行。
資料行 | 描述 |
---|---|
Name | 每個層級的呼叫堆疊的函式名稱。 |
內含樣本 | 針對到呼叫堆疊樹狀圖的這個層級為止的所有堆疊收集的樣本總數。 此內含數字是此函式的專屬樣本和其所有子節點的內含計數器的總和。 |
專有樣本 | 收集的樣本總數,其中,此函式是呼叫堆疊的最低層級。 |
內含 % | 內含樣本資料行中顯示的樣本總數百分比。 百分比會四捨五入成兩個小數位數。 |
專有 % | 專有樣本資料行中顯示的樣本總數百分比。 百分比會四捨五入成兩個小數位數。 |
詳細資料 | 函式的完整格式名稱。 當有詳細資料可用時,其中會包括行數。 |
在執行時間 (執行緒檢視) 檢視中可以看到此報表的資料表。
標記報告
標記報告會列出所顯示時間範圍內的標記。 移動瀏覽、縮放或隱藏通道可能會造成標記顯示或消失。 報表包含每個標記的下列資訊:
相對於開始追蹤的開始時間。
時間長度。 旗標和訊息的時間長度為零,因為它們表示一瞬間。
產生標記的執行緒識別碼。
產生標記的 Windows 事件追蹤 (ETW) 提供者。
撰寫標記的標記系列。
標記所屬的事件分類。
標記的重要性層級。
標記的類型 (範圍、旗標或訊息)。
標記所表示意義的高階描述
選擇 [匯出] 按鈕來將標記報表儲存為 CSV 檔案。 您可以搭配其他 App 或工具使用 CSV 檔案中的資料。
注意
標記報表可以顯示 1,000 個標記。 若要查看所有標記,請將完整的報表匯出成 CSV 檔案。
個別執行緒摘要報表
此橫條圖會顯示目前可見的時間範圍內,每個未隱藏執行緒在每個活動類別所花費的時間比例。 「執行」表示執行緒正在執行;所有其他分類則表示執行緒正在等待某個項目。