Handbuch zur dynamischen Ablaufverfolgung in Solaris

Auswahl der Prüfpunktstellen

Mit DTrace können Entwickler statische Prüfpunktstellen in Anwendungscode einbetten. Das gilt sowohl für vollständige Anwendungen als auch für gemeinsam genutzte Bibliotheken. Diese Prüfpunkte können in Entwicklung oder Produktion überall dort aktiviert werden, wo die Anwendung oder Bibliothek läuft. Bei der Definition von Prüfpunkten sollten Sie darauf achten, dass der Kreis Ihrer DTrace-Benutzer die semantische Bedeutung der Prüfpunkte problemlos versteht. So ließen sich beispielsweise für einen Webserver die Prüfpunkte query-receive und query-respond definieren, die sich auf die Anforderung eines Clients an den Webserver und die entsprechende Reaktion des Webservers beziehen. Diese Beispielprüfpunkte sind für die meisten DTrace-Benutzer eindeutig verständlich und beziehen sich nicht auf tief verborgene Implementierungsdetails, sondern auf Abstraktionen auf der höchsten Ebene der Anwendung. DTrace-Benutzer können diese Prüfpunkte zur Betrachtung der zeitlichen Verteilung von Anforderungen nutzen. Wenn der Prüfpunkt query-receive die URL-Anforderungszeichenketten als Argument wiedergibt, können DTrace-Benutzer ermitteln, welche Anforderungen die höchste Festplatten-E/A verursacht haben, indem sie diesen Prüfpunkt mit dem io-Provider verbinden.

Darüber hinaus ist bei der Wahl von Prüfpunktnamen und -stellen die Stabilität der beschriebenen Abstraktionen zu beachten. Bleibt dieser Prüfpunkt in künftigen Versionen der Anwendung auch dann erhalten, wenn sich die Implementierung ändert? Ist der Prüfpunkt auf allen Systemarchitekturen sinnvoll oder bezieht er sich nur auf einen bestimmten Befehlssatz? In diesem Kapitel erfahren Sie im Detail, wie diese Entscheidungen die Definition der statischen Ablaufverfolgung beeinflussen.