Megosztás a következőn keresztül:


ETW-nyomkövetés

Az AnalyticTrace-minta bemutatja, hogyan implementálható a végpontok közötti (E2E) nyomkövetés a Windows eseménykövetésével (ETW) és a ETWTraceListener mintával. A minta az első lépéseken alapul, és tartalmazza az ETW-nyomkövetést is.

Feljegyzés

A minta beállítási eljárása és összeállítási utasításai a témakör végén találhatók.

Ez a minta feltételezi, hogy ismeri a nyomkövetést és az üzenetnaplózást.

A nyomkövetési modellben minden nyomkövetési System.Diagnostics forrás több nyomkövetési figyelőt is tartalmazhat, amelyek meghatározzák az adatok nyomon követésének helyét és módját. A figyelő típusa határozza meg a nyomkövetési adatok naplózási formátumát. Az alábbi kódminta bemutatja, hogyan adhat hozzá figyelőt a konfigurációhoz.

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

A figyelő használata előtt el kell indítani egy ETW nyomkövetési munkamenetet. Ez a munkamenet Logman.exe vagy Tracelog.exe használatával indítható el. A minta egy SetupETW.bat fájlt tartalmaz, így beállíthatja az ETW nyomkövetési munkamenetet, valamint egy CleanupETW.bat fájlt a munkamenet bezárásához és a naplófájl befejezéséhez.

Feljegyzés

A minta telepítési eljárása és összeállítási utasításai a témakör végén találhatók. További információ ezekről az eszközökről: https://go.microsoft.com/fwlink/?LinkId=56580

Az ETWTraceListener használatakor a rendszer bináris .etl fájlokban naplózza a nyomkövetéseket. Ha a ServiceModel-nyomkövetés be van kapcsolva, az összes létrehozott nyomkövetés ugyanabban a fájlban jelenik meg. A Service Trace Viewer tool (SvcTraceViewer.exe) segítségével megtekintheti az .etl és a .svclog naplófájlokat. A megtekintő egy végpontok közötti nézetet hoz létre a rendszerről, amely lehetővé teszi egy üzenet nyomon követését a forrásból a célhelyre és a felhasználási pontra.

Az ETW Trace Listener támogatja a körkörös naplózást. A funkció engedélyezéséhez lépjen a Start, a Futtatás és a Gépelés cmd parancsra egy parancskonzol elindításához. Az alábbi parancsban cserélje le a <logfilename> paramétert a naplófájl nevére.

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

A -f kapcsolók és -max a kapcsolók megadása nem kötelező. Megadják a bináris körkörös formátumot és az 1000 MB-os maximális naplóméretet. A -p kapcsoló a nyomkövetési szolgáltató megadására szolgál. A példánkban "{411a0819-c24b-428c-83e2-26b41091702e}" az "XML ETW mintaszolgáltató" GUID azonosítója.

A munkamenet elindításához írja be a következő parancsot.

logman start Wcf

A naplózás befejezése után az alábbi paranccsal állíthatja le a munkamenetet.

logman stop Wcf

Ez a folyamat bináris körkörös naplókat hoz létre, amelyeket a választott eszközzel, például a Service Trace Viewer tool (SvcTraceViewer.exe) vagy a Tracerpt használatával lehet feldolgozni.

A körkörös nyomkövetési mintát is áttekintheti, ha további információt szeretne a körkörös naplózást végző alternatív figyelőről.

A minta beállítása, összeállítása és futtatása

  1. Győződjön meg arról, hogy elvégezte a Windows Communication Foundation-minták egyszeri beállítási eljárását.

  2. A megoldás létrehozásához kövesse a Windows Communication Foundation-minták készítésére vonatkozó utasításokat.

    Feljegyzés

    A RegisterProvider.bat, SetupETW.bat és CleanupETW.bat parancsok használatához helyi rendszergazdai fiókban kell futnia. Ha Windows Vista vagy újabb rendszert használ, a parancssort emelt szintű jogosultságokkal is futtatnia kell. Ehhez kattintson a jobb gombbal a parancssor ikonra, majd kattintson a Futtatás rendszergazdaként parancsra.

  3. A minta futtatása előtt futtassa a RegisterProvider.bat az ügyfélen és a kiszolgálón. Ezzel beállítja az eredményként kapott ETWTracingSampleLog.etl fájlt, hogy olyan nyomkövetéseket hozzon létre, amelyeket a szolgáltatás nyomkövetési megjelenítője beolvashat. Ez a fájl a C:\logs mappában található. Ha ez a mappa nem létezik, létre kell hozni, vagy nem jön létre nyomkövetés. Ezután futtassa SetupETW.bat az ügyfél- és kiszolgálószámítógépeken az ETW nyomkövetési munkamenet megkezdéséhez. A SetupETW.bat fájl a CS\Client mappában található.

  4. Ha a mintát egy- vagy számítógépközi konfigurációban szeretné futtatni, kövesse a Windows Communication Foundation-minták futtatásával kapcsolatos utasításokat.

  5. A minta befejezése után futtassa a CleanupETW.bat az ETWTracingSampleLog.etl fájl létrehozásához.

  6. Nyissa meg az ETWTracingSampleLog.etl fájlt a Service Trace Viewerből. A rendszer kérni fogja, hogy mentse a bináris formátumú fájlt .svclog fájlként.

  7. Nyissa meg az újonnan létrehozott .svclog fájlt a Service Trace Viewerben az ETW- és ServiceModel-nyomkövetések megtekintéséhez.

Lásd még