Analysewerkzeug: Microsoft portiert DTrace auf Windows

Das ursprünglich für Solaris entwickelte Systemwerkzeug zur Analyse in Echtzeit findet seinen Weg auf die Windows-Plattform.

In Pocket speichern vorlesen Druckansicht 13 Kommentare lesen
Analysewerkzeug: Microsoft portiert DTrace nach Windows
Lesezeit: 2 Min.

Microsoft arbeitet an einer Windows-Umsetzung von DTrace. Sun hatte das Analysewerkzeug ursprünglich für Solaris entwickelt, um neben Anwendungen auch das Betriebssystem auf Fehler zu untersuchen und zu optimieren. Die Analyse läuft in Echtzeit ab und verzichtet auf Breakpoints. Inzwischen hat das Tool den Weg auf zahlreiche Plattformen von FreeBSD über macOS bis Linux gefunden.

Microsoft hat nun auf GitHub einen Windows-Branch des OpenDTrace-Projekts angelegt. In den kommenden Monaten will das Unternehmen mit der Community zusammenarbeiten, um die Änderungen ins Projekt einfließen zu lassen. Der Sourcecode ist zudem als ZIP-Datei über die Microsoft-Server verfügbar. Der Name der Datei "dtrace-1.0.zip" legt nahe, dass das Projekt mit der Versionsnummer 1.0 bereits einen stabilen Stand hat.

Allerdings gilt als Minimalvoraussetzung zum Verwenden der Ende Februar veröffentlichte Windows 10 Insider Build 18342. DTrace läuft ausschließlich auf 64-Bit-Windows und kann nur 64-Bit-Prozesse analysieren. DTrace läuft nach der Installation im Befehlsfenster mit Administratorrechten. Beispielsweise zeigt

dtrace -Fn "tick-5sec { exit(0);} \
syscall:::entry{ @num[pid,execname] = count();} "

eine Zusammenfassung der Systemaufrufe der Programme über fünf Sekunden an. Neben den aus anderen Systemen bekannten DTrace-Funktionen zur Echtzeitanalyse von Anwendungen und des Kernels bietet der Windows-Port als Besonderheit eine Anbindung an Event Tracing for Windows.

Microsoft hat die Komponenten für den User Mode weitgehend aus dem Open-Source-Projekt übernommen. Zum Zugriff auf die Systeminformationen im Kernel Mode dient der neue Kernel-Extension-Treiber Traceext.sys, über den Windows passende Funktionen zum Abruf der Informationen für die Process ID (PID), das Function Boundary Tracing (FBT), Systemaufrufe (SYSCALL) und Event Tracing for Windows (ETW) bereitstellt.

Die Archtiektur von DTrace im User und Kernel Mode

(Bild: Microsoft)

Weitere Details unter anderem zum Security-Modell lassen sich dem Tech-Community-Blog von Microsoft entnehmen. Eine Einführung in die Analyse mit DTrace bietet der Dynamic Tracing Guide auf Dtrace.org. (rme)