Neuerungen im Betriebssystem Solaris 10

DTrace - Funktion zum dynamischen Tracing

DTrace ist in Solaris 10 ein Leistungsmerkmal von zentraler Bedeutung. DTrace wurde mit Software Express 11/03 eingeführt und in Software Express 5/04 sowie Software Express 11/04 verbessert.

DTrace ist eine umfassende Funktion für das dynamische Tracing, das Solaris-Benutzern, -Administratoren sowie -Entwicklern neue Einblicke in den Kernel und die Benutzerprozesse eröffnet.

Mit DTrace lassen sich der Betriebssystem-Kernel und Benutzerprozesse dynamisch instrumentieren, so dass von Ihnen festgelegte Daten an gewünschten Prüfpunkten aufgezeichnet werden. Dies bietet Ihnen einen ganz neuen Einblick in Ihr System. Bei den Prüfpunkten handelt es sich um kleine programmierbare Sensoren, die über das ganze Solaris-System verteilt sind. In dieser Version sind mehr als 30.000 solcher Prüfpunkte vorhanden. Dabei kann jedem Prüfpunkt ein benutzerdefiniertes, in der neuen Skriptsprache D geschriebenes Programm zugewiesen werden. Über zugewiesene Programme können Sie anhand von ANSI C-Typen und -Ausdrücken auf Systemdaten zugreifen, problemlos Stack-Traces erfassen, Zeitstempel aufzeichnen, Histogramme erstellen und vieles mehr.

Die gesamte Instrumentierung von DTrace ist vollständig dynamisch und kann auf Produktionssystemen eingesetzt werden. Wenn DTrace inaktiv ist, treten keinerlei Leistungsverluste auf. Die Auswirkungen des Tracing auf die Leistung ist einzig und allein auf die Prüfpunkte und die von Ihnen aktivierten Aktionen begrenzt. Außerdem ist DTrace sicher: Sie können das laufende System nicht beschädigen, denn der DTrace-Struktur liegen umfassende Sicherheits- und Fehlerprüfungen zugrunde. Dank dieser Leistungsmerkmale können Sie DTrace beruhigt immer dann auf einem laufenden System einsetzen, wenn ein Problem analysiert werden muss.

Eine Einführung in die Arbeit mit DTrace finden Sie im Handbuch Handbuch zur dynamischen Ablaufverfolgung in Solaris und verschiedenen Man Pages, z. B. dtrace(1M). Das Handbuch umfasst eine vollständige Leistungsmerkmalreferenz sowie Beispiele für den Einstieg. Sie können auch am DTrace-Forum auf BigAdmin teilnehmen (siehe http://www.sun.com/bigadmin/content/dtrace), um Näheres über DTrace zu erfahren, Beispielprogramme herunterzuladen oder auch Fragen zu stellen.

Im Release Solaris Express 5/04 wurde für x86-Systeme das Tracing von Benutzerprozessen mithilfe des Providers pid verfügbar gemacht. Diese Funktion stand auf SPARC-Plattformen seit Einführung der Funktion DTrace im Release Solaris Express 11/03 zur Verfügung.

Der pid-Provider ermöglicht das Tracing beliebiger Anweisungen in beliebigen Prozessen, und dies entweder auf der Ein-/Ausgabeebene eines Funktionsaufrufs oder mithilfe von Offsets in beliebigen Funktionen. Ausführliche Angaben hierzu finden Sie in Kapitel 27, “pid Provider,” und in Kapitel 32, “User Process Tracing,” des Dokuments Handbuch zur dynamischen Ablaufverfolgung in Solaris.

In Software Express 11/04 können Sie mit dem Dienstprogramm plockstat (1M), Synchronisationsprimitive auf Benutzerebene beobachten, wie beispielsweise lockstat (1M) im Kernel. Der DTrace plockstat-Anbieter ist die zugrunde liegende Instrumentierungsmethodologie für plockstat(1M). Dtrace plockstat kann zum Erweitern der Daten verwendet werden, die mit dem Dienstprogramm plockstat aufgezeichnet werden. Weitere Informationen entnehmen Sie bitte der Manpage plockstat(1M).