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
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.
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.
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ó.
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.
A minta befejezése után futtassa a CleanupETW.bat az ETWTracingSampleLog.etl fájl létrehozásához.
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.
Nyissa meg az újonnan létrehozott .svclog fájlt a Service Trace Viewerben az ETW- és ServiceModel-nyomkövetések megtekintéséhez.