Dela via


ETW-spårning

Exemplet AnalyticTrace visar hur du implementerar spårning från slutpunkt till slutpunkt (E2E) med händelsespårning för Windows (ETW) och ETWTraceListener det som medföljer det här exemplet. Exemplet baseras på Komma igång och innehåller ETW-spårning.

Kommentar

Konfigurationsproceduren och bygginstruktionerna för det här exemplet finns i slutet av det här avsnittet.

Det här exemplet förutsätter att du är bekant med spårning och meddelandeloggning.

Varje spårningskälla i System.Diagnostics spårningsmodellen kan ha flera spårningslyssnare som avgör var och hur data spåras. Typen av lyssnare definierar i vilket format spårningsdata loggas. Följande kodexempel visar hur du lägger till lyssnaren i konfigurationen.

<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>

Innan du använder den här lyssnaren måste en ETW-spårningssession startas. Den här sessionen kan startas med hjälp av Logman.exe eller Tracelog.exe. En SetupETW.bat fil ingår i det här exemplet så att du kan konfigurera ETW-spårningssessionen tillsammans med en CleanupETW.bat fil för att stänga sessionen och slutföra loggfilen.

Kommentar

Installationsproceduren och bygginstruktionerna för det här exemplet finns i slutet av det här avsnittet. Mer information om dessa verktyg finns i https://go.microsoft.com/fwlink/?LinkId=56580

När du använder ETWTraceListener loggas spårningar i binära .etl-filer. När ServiceModel-spårning är aktiverat visas alla genererade spårningar i samma fil. Använd Service Trace Viewer Tool (SvcTraceViewer.exe) för att visa loggfilerna .etl och .svclog. Visningsprogrammet skapar en slutpunkt till slutpunkt-vy över systemet som gör det möjligt att spåra ett meddelande från källan till dess mål och förbrukningsplats.

ETW Trace Listener stöder cirkulär loggning. Om du vill aktivera den här funktionen går du till Start, Kör och skriver cmd för att starta en kommandokonsol. Ersätt parametern <logfilename> med namnet på loggfilen i följande kommando.

logman create trace Wcf -o <logfilename> -p "{411a0819-c24b-428c-83e2-26b41091702e}" -f bincirc -max 1000

Växlarna -f och -max är valfria. De anger det binära cirkulära formatet och den maximala loggstorleken på 1 000 MB. Växeln -p används för att ange spårningsprovidern. I vårt exempel "{411a0819-c24b-428c-83e2-26b41091702e}" är GUID för "XML ETW Sample Provider".

Om du vill starta sessionen skriver du följande kommando.

logman start Wcf

När du är klar med loggningen kan du stoppa sessionen med följande kommando.

logman stop Wcf

Den här processen genererar binära cirkulära loggar som du kan bearbeta med valfritt verktyg, inklusive Service Trace Viewer Tool (SvcTraceViewer.exe) eller Tracerpt.

Du kan också granska exemplet med cirkulär spårning för mer information om en alternativ lyssnare för att utföra cirkulär loggning.

Så här konfigurerar du, skapar och kör exemplet

  1. Se till att du har utfört engångsinstallationsproceduren för Windows Communication Foundation-exempel.

  2. Skapa lösningen genom att följa anvisningarna i Skapa Windows Communication Foundation-exempel.

    Kommentar

    Om du vill använda kommandona RegisterProvider.bat, SetupETW.bat och CleanupETW.bat måste du köras under ett lokalt administratörskonto. Om du använder Windows Vista eller senare måste du också köra kommandotolken med utökade privilegier. Om du vill göra det högerklickar du på kommandotolkens ikon och klickar sedan på Kör som administratör.

  3. Innan du kör exemplet kör du RegisterProvider.bat på klienten och servern. Detta konfigurerar den resulterande ETWTracingSampleLog.etl-filen för att generera spårningar som kan läsas av tjänstspårningsvisaren. Den här filen finns i mappen C:\logs. Om den här mappen inte finns måste den skapas eller så genereras inga spårningar. Kör sedan SetupETW.bat på klient- och serverdatorerna för att påbörja ETW-spårningssessionen. Den SetupETW.bat filen finns under mappen CS\Client.

  4. Om du vill köra exemplet i en konfiguration med en eller flera datorer följer du anvisningarna i Köra Windows Communication Foundation-exempel.

  5. När exemplet är klart kör du CleanupETW.bat för att slutföra skapandet av filen ETWTracingSampleLog.etl.

  6. Öppna filen ETWTracingSampleLog.etl från tjänstspårningsvisningsprogrammet. Du uppmanas att spara den binära formaterade filen som en .svclog-fil.

  7. Öppna den nyligen skapade .svclog-filen från tjänstspårningsvyn för att visa ETW- och ServiceModel-spårningarna.

Se även