Zweite Beta von Dtrace für Linux

Oracle hat eine zweite Vorabversion der von Solaris auf Linux portierten Dynamic Tracing Facility vorgestellt; die Linux-Kernel-Entwickler bereiten derweil die Aufnahme von Uprobes vor.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 3 Min.
Von
  • Thorsten Leemhuis

Oracle hat eine zweite Beta-Version von "Dtrace for Oracle Linux" freigegeben. Die Linux-Portierung der ursprünglich für Solaris entwickelten Software zur Ablaufverfolgung erhält mit dieser Version Unterstützung für SDT (Statically Defined Tracing), das statische Prüfpunkte ("static probes") im Kernel bereitstellt; zudem gab es eine Reihe von Fehlerkorrekturen.

Diese Version von Dtrace (Dynamic Tracing Facility) erfordert die auf Linux 2.6.39 basierende Version 2 von Oracles "Unbreakable Enterprise Kernel"; der ist für Oracle Linux 6 ausgelegt und befindet sich noch in der Beta-Phase. Oracle stuft auch den Dtrace-Code noch als "Technology Preview" ein, an dem noch stark entwickelt werde. Zur Diskussion hat Oracle ein Webforum eingerichtet. Einige Hintergründe sowie Hinweise zum Einsatz liefert Oracle-Entwickler Wim Coekaerts in seinem Blog; dort hatte er im Oktober auch schon die erste Beta angekündigt, kurz nachdem bekannt geworden war, dass Oracle an Dtrace für Linux arbeitet.

Die Kernel-Module, mit denen die Dtrace-Userland-Software zusammenarbeitet, werden in einem Add-On-Paket für den Kernel ausgeliefert und stehen laut Coekaerts zur ersten Beta unter der CDDL (Common Development and Distribution License). Es ist umstritten, inwieweit diese kompatibel zur GPLv2 ist, unter der der Linux-Kernel steht; da vielfach angenommen wird, CDDL und GPLv2 seien inkompatibel, hat die kernelseitige Unterstützung für Dtrace nach derzeitigem Stand kaum eine Chance, Bestandteil des offiziellen Linux-Kernels zu werden. Letzteres und die Lizenzproblematik dürften so manchen Distributor auch davon abhalten, ihren Distributionen standardmäßig Kernel beizulegen, die alles für Dtrace Benötigte mitbringen.

Im Linux-Bereich gab es schon mehrere Initiativen, eine in der Linux-Welt verbreitete Alternative zu Dtrace zu schaffen, das einen recht guten Ruf hat. Red Hat hat es etwa mit dem in Red Hat Enterprise Linux (RHEL) enthaltenen Systemtap versucht. Die von der Tracing-Software benötigte Infrastruktur hat es aber nie komplett in den offiziellen Linux-Kernel geschafft, weil diese den Kernel-Entwicklern nicht gefiel. Diese haben allerdings in den vergangenen zwei bis drei Jahren mit Ftrace und Perf selbst neue Möglichkeiten geschaffen, mit denen sich die Vorgänge im Kernel überwachen lassen; einige in den vergangenen Tagen über die Entwicklerliste der Kernel-Entwickler aufgelaufene Mails deuten zudem darauf hin, dass das Userspace-Tracing ermöglichende Uprobes nach Jahren der Entwicklung vielleicht in Linux 3.4 oder einen seiner Nachfolger einzieht.

Durch die Aufnahme von Uprobes würde der Standardkernel von Haus aus alle wesentliche Tracing-Funktionen mitbringen, um die Vorgänge in einem System während des Betriebs mit Programmen wie Systemtap zu analysieren. Es sind aber noch andere Tracing-Lösungen im Umlauf; einen groben Überblick über diese und einige ihrer Eigenarten liefern die Folien eines Vortrags, den Oracle-Mitarbeiterin Elena Zannoni auf der Linuxcon Europe 2011 gehalten hat. (thl)