Event Tracing for Windows (ETW), manchmal kurz Event Tracing (etwa: Ereignisverfolgung) bezeichnet, ist eine Softwareplattform unter Microsoft Windows, um eine detaillierte Ablaufverfolgung von Computerprogrammen zu ermöglichen. ETW läuft im Windows-Kernel und ist auf eine hohe Performance optimiert. ETW ist zudem die Nachfolgetechnologie zu den davor eingesetzten Performance Countern.

ETW bietet hierbei die Möglichkeit die Aufzeichnung von Ereignissen zur Laufzeit des Programms zu starten und zu stoppen. Zudem kann nach den aufzuzeichneten Ereignissen gefiltert werden um die aufzuzeichnende Datenmenge zu reduzieren.

ETW-Ereignisse können hierbei von Anwendungsentwicklern bereitgestellt oder in eigenen Trace-Anwendungen konsumiert werden. Die Trace-Ereignisse können dazu verwendet werden eine Anwendung zu debuggen sowie Kapazitäts- und Leistungsanalysen durchzuführen.

ETW-Rollen Grundsätzlich unterscheidet man bei ETW zwischen Providern, Consumern, und Controllern:

Provider Eine Anwendung, welche ETW-Ereignisse bereitstellt. Provider werden mittels wevtutiltechnet.microsoft.com zentral registriert und können mittels logman -query providers aufgelistet werden. Unter PowerShell kann stattdessen Get-ETWTraceProvider verwendet werden.

Consumer Zeichnet ETW-Ereignisse aus ETW-Sessions auf. Die Ereignisse können hierbei direkt aus dem Puffer einer ETW-Session oder aus einer Datei gelesen werden und werden in chronologischer Reihenfolge zugestellt. Windows liefert einige Programme mit, welche auf die Aufzeichnung und Anzeige bestimmter ETW-Ereignisse spezialisiert sind. Hierzu gehört der Windows Performance Monitor, der Taskmanager, der Event Viewer, sowie die Anwendungs- und Systemdiagnose.

Controller Ordnet den Providern entsprechende Consumer zu, aktiviert und deaktiviert die Ereignisaufzeichnung und bestimmt, welche Ereignisse aufgezeichnet werden. Der Controller bestimmt zudem die Größe des Puffers für die Aufzeichnung und optional den Speicherort der Tracelog-Datei. Zugunsten der Performance und Stabilität des Betriebssystems können hierbei einzelne ETW-Ereignisse verloren gehen, etwa wenn der Puffer überfüllt ist. Der Controller erhält von ETW zudem Statistiken zur Ereignis-Aufzeichnung.

Event Tracing Sessions ETW unterstützt unter Windows 2000 bis zu 32 und bei neueren Windows-Systemen bis zu 64 gleichzeitigen Aufzeichnungen von ETW-Events, den sogenannten Event Tracing Sessions.

Hierbei sind zwei Sessions für das System reserviert: Global Logger Session Stellt das Logging bereits zum Start des Betriebssystems bereit und dient für die Aufzeichnung von Ereignissen von Gerätetreibern. NT Kernel Logger Session Stellt die Aufzeichnung von Ereignissen des Betriebssystemkernels bereit. Hierzu gehören unter anderem der Zustand zur CPU, dem Zustand des Arbeitsspeichers und Informationen zu I/O-Ereignissen.

Anwendungen

Bibliotheken

Literatur

Quellen

Kategorie:Programmierung Kategorie:Microsoft Windows