共用方式為


ETW 追蹤

這個範例示範如何使用 Event Tracing for Windows (ETW) 和範例隨附的 ETWTraceListener,以實作端對端 (E2E) 追蹤。此範例是以使用者入門範例為基礎,並附有 ETW 追蹤。

ms751538.note(zh-tw,VS.90).gif注意:
此範例的安裝程序與建置指示位於本主題的結尾。

這個範例假設您熟悉追蹤和訊息記錄,而且已閱讀提供的追蹤和訊息記錄相關文件。

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 檔案。

ms751538.note(zh-tw,VS.90).gif注意:
此範例的安裝程序與建置指示位於本主題的結尾。如需這些工具的詳細資訊,請參閱 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) 進行處理。

您也可以檢閱循環追蹤範例,取得其他可執行循環記錄之接聽項的詳細資訊。

若要設定、建置及執行範例

  1. 請確定您已執行 Windows Communication Foundation 範例的單次安裝程序

  2. 若要建置方案,請遵循建置 Windows Communication Foundation 範例中的指示。

  3. 執行範例前,請先在用戶端和伺服器上執行 RegisterProvider.bat。這會設定產生的 ETWTracingSampleLog.etl 檔案,以產生可由服務追蹤檢視器讀取的追蹤。您可以在 C:\logs 資料夾中找到這個檔案。如果此資料夾不存在,必須先建立一個才能產生追蹤。然後,在用戶端和伺服器機器上執行 SetupETW.bat,以開始 ETW 追蹤工作階段。SetupETW.bat 檔案可以在 CS\Client 資料夾中找到。

  4. 若要在單一或跨電腦的組態中執行本範例,請遵循執行 Windows Communication Foundation 範例中的指示。

  5. 當您完成範例時,請執行 CleanupETW.bat 以完成建立 ETWTracingSampleLog.etl 檔案的工作。

  6. 在 [服務追蹤檢視器] 中開啟 ETWTracingSampleLog.etl 檔案。系統會提示您將二進位格式的檔案儲存為 .svclog 檔。

  7. 在 [服務追蹤檢視器] 中開啟新建立的 .svclog 檔,以檢視 ETW 和 ServiceModel 追蹤。

Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.