ETW 追蹤
這個範例示範如何使用 Event Tracing for Windows (ETW) 和範例隨附的 ETWTraceListener
,以實作端對端 (E2E) 追蹤。此範例是以使用者入門範例為基礎,並附有 ETW 追蹤。
注意: |
---|
此範例的安裝程序與建置指示位於本主題的結尾。 |
這個範例假設您熟悉追蹤和訊息記錄,而且已閱讀提供的追蹤和訊息記錄相關文件。
System.Diagnostics 追蹤模型中的每個追蹤來源都可以有多個追蹤接聽項,這些接聽項將決定追蹤資料的位置和方式。接聽項的類型會定義記錄追蹤資料的格式。下列程式碼範例示範如何將接聽項新增至組態。
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Verbose,ActivityTracing"
propagateActivity="true">
<listeners>
<add type=
"System.Diagnostics.DefaultTraceListener"
name="Default">
<filter type="" />
</add>
<add name="ETW">
<filter type="" />
</add>
</listeners>
</source>
</sources>
<sharedListeners>
<add type=
"Microsoft.ServiceModel.Samples.EtwTraceListener, ETWTraceListener"
name="ETW" traceOutputOptions="Timestamp">
<filter type="" />
</add>
</sharedListeners>
</system.diagnostics>
使用這個接聽項之前,必須先啟動 ETW 追蹤工作階段。您可以使用 Logman.exe 或 Tracelog.exe 啟動這個工作階段。此範例隨附可供您設定 ETW 追蹤工作階段的 SetupETW.bat 檔案,以及可用來關閉工作階段與完成記錄檔的 CleanupETW.bat 檔案。
注意: |
---|
此範例的安裝程序與建置指示位於本主題的結尾。如需這些工具的詳細資訊,請參閱 https://go.microsoft.com/fwlink/?LinkId=56580 (本頁面可能為英文)。 |
使用 ETWTraceListener 時,追蹤會記錄在二進位的 .etl 檔案中。開啟 ServiceModel 追蹤之後,所有產生的追蹤都會出現在同一個檔案中。您可以使用Service Trace Viewer Tool來檢視 .etl 和 .svclog 記錄檔。此檢視器會建立系統的端對端檢視,讓您能夠從訊息的來源至其目的端及消費點追蹤該訊息。
ETW 追蹤接聽項支援循環記錄。若要啟用這項功能,請移至 [開始]、[執行],然後輸入 cmd 以啟動命令主控台。以記錄檔名稱取代下列命令中的 <logfilename>
參數。
logman create trace Wcf -o <logfilename> -p "{411a0819-c24b-428c-83e2-26b41091702e}" -f bincirc -max 1000
-f
和 -max
參數是選擇項,可以分別指定二進位循環格式以及最多 1000MB 的記錄檔大小上限。-p
參數會用來指定追蹤提供者。在範例中,"{411a0819-c24b-428c-83e2-26b41091702e}"
即是「XML ETW 範例提供者」的 GUID。
完成記錄之後,您可以使用下列命令停止工作階段。
Logman stop Wcf
這個程序會產生二進位循環記錄,您可以使用選擇的工具 (包括Service Trace Viewer Tool或 Tracerpt) 進行處理。
您也可以檢閱循環追蹤範例,取得其他可執行循環記錄之接聽項的詳細資訊。
若要設定、建置及執行範例
若要建置方案,請遵循建置 Windows Communication Foundation 範例中的指示。
執行範例前,請先在用戶端和伺服器上執行 RegisterProvider.bat。這會設定產生的 ETWTracingSampleLog.etl 檔案,以產生可由服務追蹤檢視器讀取的追蹤。您可以在 C:\logs 資料夾中找到這個檔案。如果此資料夾不存在,必須先建立一個才能產生追蹤。然後,在用戶端和伺服器機器上執行 SetupETW.bat,以開始 ETW 追蹤工作階段。SetupETW.bat 檔案可以在 CS\Client 資料夾中找到。
若要在單一或跨電腦的組態中執行本範例,請遵循執行 Windows Communication Foundation 範例中的指示。
當您完成範例時,請執行 CleanupETW.bat 以完成建立 ETWTracingSampleLog.etl 檔案的工作。
在 [服務追蹤檢視器] 中開啟 ETWTracingSampleLog.etl 檔案。系統會提示您將二進位格式的檔案儲存為 .svclog 檔。
在 [服務追蹤檢視器] 中開啟新建立的 .svclog 檔,以檢視 ETW 和 ServiceModel 追蹤。
Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.