共用方式為


進階設定對話方塊 (並行視覺化工具)

透過使用 Concurrency Visualizer 中的 [ 進階設定 ] 對話框,您可以控制追蹤的收集方式。 對話方塊具有符號、 [只我的程式碼]、緩衝、篩選、CLR 事件、標記、提供者和檔案的索引標籤。

符號

並行視覺化工具會使用與 Visual Studio 偵錯工具相同的符號設定。 並行視覺化工具會使用設定來解析與效能資料相關聯的呼叫堆疊。 當處理追蹤時,並行視覺化工具會存取設定頁面中指定的符號伺服器。 透過網路存取此資料時,追蹤處理速度會變慢。 若要減少解析符號所需的時間量,您可以在本機快取符號。 如果已下載符號,Visual Studio 會從本機快取載入符號。

Just My Code

依預設,「只有我的程式碼」是與 Visual Studio 中目前解決方案相關聯的 .exe 和 .dll 檔案的集合。 當您使用 [僅限我的程式碼] 功能來篩選呼叫堆疊時,並行視覺化工具會評估這組檔案。 在 [只針對我的程式碼] 索引標籤上,您可以將包含 .exe 和 .dll 檔案的目錄新增到並行視覺化工具用於 [只針對我的程式碼] 的位置。

收集追蹤時,.exe 和 .dll 檔案的路徑會儲存在追蹤檔案中。 變更此設定不會影響任何先前收集的追蹤紀錄。

緩衝

並行視覺化工具會在收集追蹤時使用 Windows 事件追蹤 (ETW) 。 ETW 在儲存事件時會使用各種緩衝區。 預設的 ETW 緩衝區設定可能並非在所有情況下都是最佳的,而且在某些情況下,可能會導致遺失事件等問題。 您可以使用 [緩衝] 索引標籤來設定 ETW 緩衝區設定。 如需詳細資訊,請參閱 事件追蹤EVENT_TRACE_PROPERTIES結構

Filter

在 [篩選] 索引標籤上,您可以選取並行視覺化工具收集的事件集。 選擇事件子集限制報表中顯示的資料類型,減少每個追蹤的大小,並減少處理追蹤所需的時間。

CLR 事件

Common Language Runtime (CLR) 所產生的事件可讓並行視覺化工具解析受控呼叫堆疊。 如果您停用 CLR 事件的收集,追蹤記錄大小將會減少,但某些呼叫堆疊內容將無法解析。 因此,某些 CPU 執行緒活動可能會被錯誤地分類。

收集原生進程

根據預設,只有在分析受控進程時,才會收集 CLR 事件,因為原生進程通常不需要這些事件。 在某些情況下(例如,當有原生進程裝載 CLR 時),您可能需要為此原生進程收集 CLR 事件。 如果是這種情況,請選取 [收集原生處理程序] 核取方塊。

停用 Rundown 事件

CLR 會從兩個提供者產生事件:執行階段和執行後分析。 如果您想要收集 CLR 執行階段事件,但想要避免收集 Rundown 事件,請選取 [停用 Rundown 事件 ] 核取方塊。 這會減少集合所產生的追蹤檔案大小,但某些堆疊可能無法解析。 如需詳細資訊,請參閱 CLR ETW 提供者

範例事件

您可以使用範例事件來收集與執行緒執行相關聯的呼叫堆疊。 對於在目前進程中執行的執行緒,這些事件大約每毫秒收集一次。 如果您停用範例事件的收集,則收集的追蹤大小會減少,但您無法檢視與執行緒執行相關聯的任何呼叫堆疊。

GPU 事件

GPU 事件是 DirectX 所產生的事件。 如果您停用 GPU 事件的收集,則收集追蹤的大小會減少,但您無法在 [使用率] 檢視中檢視任何 GPU 活動,或在 [執行緒檢視] 中檢視 DirectX 引擎活動。

檔案 I/O 事件

檔案 I/O 事件代表目前程序對磁碟的存取。 如果您停用檔案 I/O 事件,追蹤的大小會減少,但「執行緒檢視」不會報告磁碟通道或磁碟作業的任何相關資訊。

標記

[標記 ] 索引標籤上,您可以設定在並行視覺化工具中顯示為標記的 ETW 提供者集。 您也可以根據重要性層級和 ETW 類別篩選 Marker 集合。 如果您使用 並行視覺化工具 SDK 並使用您自己的標記提供者,您可以在這裡註冊它,使其顯示在執行緒檢視中。

新增提供者

如果您的程式碼使用 並行視覺化工具 SDK 或產生遵循 EventSource 慣例的 ETW 事件,您可以在並行視覺化工具中註冊這些事件,方法是在此對話方塊中註冊這些事件。

名稱 欄位中,輸入描述提供者所產生事件類型的名稱。 在 [GUID ] 欄位中,輸入與此提供者相關聯的 GUID。 (GUID 會與每個 ETW 提供者相關聯。

或者,您可以根據類別或重要性層級,指定是否要從此提供者篩選出事件。 您可以使用類別欄位,根據並行視覺化工具 SDK 類別進行篩選。 若要這樣做,請輸入以逗號分隔的類別字串或類別範圍。 這會指定目前提供者中要顯示的事件類別。 如果您要新增 EventSource 提供者,您可以使用類別欄位來依 ETW 關鍵字進行篩選。 因為關鍵字是位元遮罩,所以您可以使用逗號分隔的數字序列來指定要設定遮罩中的哪些位元。 例如,“1,2”將第一和第二位元設定為 1,這在十進制中轉換為 6。

您可以使用重要性層級清單來篩選出重要性或 ETW 層級小於指定值的事件。

設定現有的提供者

若要編輯與現有提供者相關聯的設定,請在清單中選取該設定,然後選擇 [編輯提供者] 按鈕。 您可以變更名稱、GUID 和篩選設定。

從並行視覺化工具報表中篩選標記資料

如果您不想讓特定提供者的資料出現在未來的追蹤中,請清除您要移除的提供者旁邊的核取方塊。

檔案儲存體

[檔案] 索引標籤上,您可以指定每次收集追蹤時儲存追蹤檔案的目錄。 並行視覺化工具會針對其收集的每個追蹤產生四個檔案:

  • 核心模式事件追蹤記錄檔 (ETL) 檔案 (.kernel.etl*)

  • 使用者模式事件追蹤記錄檔 (.user.etl*)

  • 並行視覺化工具資料檔案 (.CVData*)

  • 並行視覺化工具追蹤檔案 (.CVTrace*)

    兩個 ETL 檔案會儲存原始追蹤資料,而兩個並行視覺化工具檔案會儲存已處理的資料。 原始 ETL 檔案通常不會在處理追蹤之後使用。 選取 [分析後刪除事件追蹤記錄檔 (ETL) 檔案] 核取方塊,可減少儲存在磁碟上的追蹤資料量。