Handbuch zur dynamischen Ablaufverfolgung in Solaris

Stabilitätsstufen

DTrace stellt zwei Arten von Stabilitätsattributen für Größen wie integrierte Variablen, Funktionen und Prüfpunkte bereit: eine Stabilitätsstufe und eine architektonische Abhängigkeitsklasse. Die DTrace-Stabilitätsstufe gibt an, wie wahrscheinlich es ist, dass eine Schnittstelle oder DTrace-Größe in einer künftigen Version oder einem Patch geändert wird, und unterstützt Sie somit bei der Risikobewertung für Skripten und Tools, die Sie auf der Grundlage von DTrace entwickeln. Die DTrace-Abhängigkeitsklasse gibt Aufschluss darüber, ob eine Schnittstelle auf alle Solaris-Plattformen und Prozessoren oder nur auf eine bestimmte Architektur wie beispielsweise SPARC-Prozessoren zutrifft. Die zwei Attributarten zur Beschreibung von Schnittstellen können unabhängig voneinander variieren.

In der folgenden Liste sind die in DTrace verwendeten Stabilitätswerte in aufsteigender Reihenfolge, also von der niedrigsten zur höchsten Stabilität, aufgeführt. Die stabileren Schnittstellen können von allen D-Programmen und mehrschichtigen Anwendungen verwendet werden. Sun bemüht sich, zu gewährleisten, dass diese auch in künftigen Unterversionen weiterhin funktionieren. An der fehlerfreien Ausführung von Anwendungen, die nur von stabilen (Stable) Schnittstellen abhängen, sollten weder künftige Unterversionen noch Zwischen-Patches etwas ändern. Mit den weniger stabilen Schnittstellen bietet sich die Möglichkeit zum Experimentieren, Erstellen von Prototypen, Abstimmen und Debuggen auf aktuellen Systemen. Sie sollten allerdings in dem Bewusstsein eingesetzt werden, dass sie in künftigen Unterversionen inkompatibel oder gar verworfen oder aber durch Alternativen ersetzt werden könnten.

Die DTrace-Stabilitätswerte helfen Ihnen außerdem, neben der Stabilität der DTrace-Schnittstellen selbst auch die Stabilität der unter Beobachtung stehenden Softwaregrößen zu verstehen. Folglich lässt sich aus den DTrace-Stabilitätswerten auch schließen, wie wahrscheinlich es ist, dass Ihre D-Programme und mehrschichtigen Tools bei einem Upgrade oder einer Änderung des beobachteten Software-Stacks ebenfalls entsprechend geändert werden müssen.

Internal

Diese DTrace vorbehaltene Schnittstelle stellt ein Implementierungsdetail von DTrace dar. Schnittstellen des Typs „Internal“ können sich in Unter- oder Micro-Versionen ändern.

Private

Diese Sun vorbehaltene Schnittstelle wurde zur Verwendung durch andere Sun-Produkte entwickelt und noch nicht für den Gebrauch durch Kunden und ISVs öffentlich dokumentiert. Schnittstellen des Typs „Private“ können sich in Unter- oder Micro-Versionen ändern.

Obsolete

Die Schnittstelle wird in der aktuellen Version unterstützt, aber voraussichtlich in einer künftigen Unterversion entfernt. In der Regel wird die geplante Beendigung der Unterstützung einer Schnittstelle von Sun frühzeitig angekündigt. Bei einem Versuch, eine als „Obsolete“ gekennzeichnete Schnittstelle zu verwenden, gibt der D-Compiler u. U. eine Warnmeldung aus.

External

Die Schnittstelle wird von einem Drittanbieter kontrolliert, der·mit Sun nicht assoziiert ist. Sun kann im Rahmen eines Releases nach eigenem Ermessen je nach Verfügbarkeit vom Drittanbieter aktualisierte und möglicherweise inkompatible Versionen solcher Schnittstellen liefern. Sun gewährleistet in Bezug auf Schnittstellen des Typs „External“ weder eine Quell- noch Binärkompatibilität zwischen zwei beliebigen Versionen. Auf diesen Schnittstellen basierende Anwendungen sowie Patches, die externe Schnittstellen enthalten, funktionieren in künftigen Versionen möglicherweise nicht.

Unstable

Die Schnittstelle wird mit der Absicht bereitgestellt, Entwicklern einen frühzeitigen Zugang zu neuen oder schnell veränderlichen Technologien oder Implementierungsartefakten zu ermöglichen, die von zentraler Bedeutung für die Beobachtung oder das Debuggen des Systemverhaltens sind und für die in Zukunft eine stabilere Lösung geboten wird. Sun gewährleistet für Schnittstellen des Typs „Unstable“ weder Quell- noch Binärkompatibilität zwischen zwei aufeinander folgenden Unterversionen.

Evolving

Die Schnittstelle kann bald „Standard“ oder „Stable“ werden, befindet sich aber derzeit noch im Übergang. Sun bemüht sich, auch während der Fortentwicklung, eine Kompatibilität mit vorigen Versionen zu sichern. Wenn nicht aufwärtskompatible Änderungen erforderlich sind, werden diese in Unter- und Hauptversionen vorgenommen. In Micro-Versionen werden derartige Änderungen so weit wie möglich vermieden. Sollte eine solche Änderung notwendig sein, wird sie in den Versionshinweisen der betreffenden Version dokumentiert und, sofern machbar, stellt Sun Migrationshilfen bereit, die sowohl für Binärkompatibilität als auch eine unterbrechungsfreie D-Programmentwicklung sorgen.

Stable

Die Schnittstelle ist ausgereift und unterliegt der Kontrolle durch Sun. Sun bemüht sich, insbesondere in Unter- oder Micro-Versionen, nicht aufwärtskompatible Änderungen dieser Schnittstellen zu vermeiden. Falls die Unterstützung einer Schnittstelle des Typs „Stable“ beendet werden muss, kündigt Sun dies wenn möglich an, und die Stabilitätsstufe ändert sich in „Obsolete“.

Standard

Die Schnittstelle entspricht einem Industriestandard. Die Dokumentation der Schnittstelle beschreibt den Standard, den die Schnittstelle erfüllt. Standards unterstehen naturgemäß der Kontrolle einer Standardisierungsorganisation. Änderungen an der Interface sind im Einklang mit genehmigten Änderungen des jeweiligen Standards zulässig. Diese Stabilitätsstufe gelten mitunter auch für Schnittstellen, die ohne formalen Standard aus einem Industrieabkommen übernommen wurden. Unterstützung wird nur für die angegebenen Versionen eines Standards geboten; eine Unterstützung für spätere Versionen ist nicht garantiert. Genehmigt die Standardisierungsorganisation eine nicht aufwärtskompatible Änderung einer Schnittstelle des Typs „Standard“, die Sun zu unterstützen entscheidet, kündet Sun eine Strategie für Kompatibilität und Migration an.