在並行視覺化工具中,標記是代表應用程式中事件的圖示。 一般而言,應用程式會產生這些事件,以指定應用程式中的階段或出現項目。 事件可以由應用程式產生,也可以由應用程式使用的程式庫和執行階段產生。
標記的種類
並行視覺化工具會使用三種標記來代表應用程式事件:旗標、訊息和範圍。
使用 旗標 來指出應用程式中感興趣的時間點。 例如,您可以使用旗標來表示變數值已達到特定臨界值或拋出例外。
訊息也會標記某個時間點,但您可以將其用於日誌樣式追蹤。 例如,您過去可能會將內容傾印到記錄檔中,現在可以將其包裝在訊息呼叫中,以便追蹤並在 Concurrency Visualizer 中檢視。 您也可以使用並行視覺化工具將此資料匯出至 CSV 檔案。
跨度代表應用程式中的時間間隔,例如其中一個階段。
標記與執行緒的連結
每個產生標記的執行緒都有一個單獨的時間軸通道。 負責產生標記事件的執行緒識別碼會顯示在標記通道的描述旁邊。 標記通道左側顯示的識別碼符合目前進程中另一個執行緒的識別碼。
標記重要性
標記可以有四個重要性層級之一:低、正常、高和嚴重。 您可以根據重要性層級篩選標記的來源。 例如,如果您只想查看來自特定來源且具有正常或嚴重重要性的標記,則可以在「 進階設定 」對話方塊中設定篩選器。 標記的重要性會顯示在其工具提示和 「標記報告」中。
標記類別
標記種類指出來自相同來源的一組標記事件。 並行視覺化工具會使用色彩來區分不同類別的旗標和範圍。 您可以設定並行視覺化工具,以使用類別來篩選來自特定事件提供者的標記事件。 使用 [進階設定 ] 對話方塊來設定篩選器。
標記的已知來源
任何 ETW 提供者都可以產生標記,只要提供者遵守特定條件約束即可。 您可以設定並行視覺化工具,以接聽標記的其他事件來源。 依預設,它會接聽下列事件來源:
-
您可以使用「 進階設定 」對話方塊中的「標記」索引標籤來控制是否將來自各種來源的標記顯示在「並行視覺化工具」中,並且可以根據重要性和類別來篩選標記。
來自 EventSource 的標記
並行視覺化工具也可以顯示 EventSource 事件。 如需詳細資訊,請參閱 將 EventSource 事件視覺化為標記。
標記
旗標標記代表應用程式中某個時刻發生的事件。 旗標可以代表多種應用程式事件。 例如,旗標可以顯示某個工作專案被排程的時間,或顯示發生例外狀況的時刻。 執行階段 (例如工作平行程式庫) 也可以產生旗標。
旗標重要性
旗幟根據其重要性以不同的大小顯示。 與任何標記一樣,重要性可以是低、正常、高或嚴重。 此圖例依重要性層級顯示標記的外觀:
旗幟類別
旗幟會根據其類別以五種不同顏色之一顯示。 如果類別超過五個,則會重複使用顏色。 您無法選擇顏色。 與任何標記一樣,類別可以是任何整數。 下圖顯示前五個類別的顏色。
警示
警示是紅色旗標,代表重大應用程式事件,例如例外狀況。 這是一個警報:
彙總標誌
有時,旗標在並行視覺化工具中彼此非常接近,以至於無法個別繪製。 發生這種情況時,會顯示代表基礎旗標的灰色 彙總旗標 。 當您將指標停留在其中一個圖示上時,工具提示會顯示所代表的基礎旗標數目。 若要檢視旗標,請放大。 如果您完全放大,但仍會取得彙總旗標,則可以在 「標記報表」中檢視基礎旗標。
彙總旗標會以不同的大小繪製。 大小取決於彙總中最重要旗標的重要性層級。 下圖顯示彙總旗標,依重要性遞增順序排列。
訊息標記
訊息標記代表日誌輸出。 訊息是由特定執行緒在特定時間發出的字串。 您可以將訊息匯出為文字檔,以便與其他工具搭配使用。 您可以將指標放在並行視覺化工具中的訊息上,以檢視訊息字串。 您可以在 「標記」報告中檢視所有訊息標記。 下圖顯示訊息標記。
訊息彙總標記
有時,多則訊息在並行視覺化工具中彼此非常接近,以至於無法個別繪製。 發生這種情況時,會顯示代表基礎訊息的 訊息聚集標記 。 當您將指標停留在其中一個圖示上時,工具提示會顯示所代表的基礎訊息數目。 若要檢視訊息,請放大。 如果您完全放大,但仍會取得彙總標記,則可以在「 標記報告」中檢視基礎訊息。
跨度標記
範圍標記代表應用程式的有意義的階段。 例如,您可以使用範圍來代表正在處理特定工作項目的時間間隔。 其長度代表相應應用階段的持續時間。 此圖顯示並行視覺化工具中的範圍:
跨度類別
範圍標記會以五種不同顏色之一顯示,視其類別而定。 如果有五個以上的類別,則會重複顏色。 類別可以是任何整數。 此圖顯示五種可能的顏色:
範圍聚合標記
有時,範圍標記在並行視覺化工具中彼此非常接近,因此無法個別繪製。 發生這種情況時,會顯示代表基礎跨度的灰色 跨度聚合標記 。 當您將指標停留在其中一個圖示上時,工具提示會顯示所代表的基礎範圍數目。 若要檢視跨度,請放大。 如果您完全放大,但仍取得範圍彙總標記,則可以在 「標記報告」中檢視基礎範圍標記。 此圖顯示範圍彙總標記: