Solaris 動的トレースガイド

安定性レベル

DTrace は、組み込み変数、関数、プローブなどの構成要素に対して、2 種類の安定性属性を提供しています。 1 つは「安定性レベル」、もう 1 つはアーキテクチャの「依存クラス」です。DTrace の安定性レベルは、インタフェースや DTrace 構成要素が将来のリリースやパッチで変更される可能性を表しています。この情報は、DTrace ベースのスクリプトやツールを開発するときのリスク評価に役立ちます。DTrace の依存クラスは、あるインタフェースが、すべての Solaris プラットフォームおよびプロセッサに共通のインタフェースであるのか、あるいは特定のアーキテクチャ専用 (たとえば SPARC 専用) のインタフェースであるのかを示します。インタフェースの情報を提供するこの 2 種類の属性は、相互に依存することがありません。

以下では、DTrace で使用する安定性の値を、安定性の低いものから順に一覧します。比較的安定性の高いインタフェースは、すべての D プログラム、すべての階層化アプリケーションで使用できます。Sun では、これらのインタフェースが、将来のマイナーリリースでも引き続き動作するように開発を進めています。「安定」インタフェースだけに依存するアプリケーションは、将来のマイナーリリースでも正しく機能し、暫定パッチを適用しても問題は発生しません。比較的安定性の低いインタフェースは、現在のシステムでの計測、プロトタイピング、チューニング、およびデバッグには対応していますが、将来のマイナーリリースで、互換性の問題が発生したり、落とされたり、別のインタフェースに置き換えられたりする可能性があります。そのため、これらを使用するときは、注意が必要です。

DTrace の安定性の値は、DTrace インタフェースの安定性だけでなく、監視対象のソフトウェア構成要素の安定性を把握する上でも役立ちます。したがって、監視対象のソフトウェアスタックをアップグレードしたり変更したりするときに、D プログラムや階層化ツールの変更が必要になる可能性についても、DTrace の安定性の値から判断できます。

内部 (Internal)

DTrace 専用のインタフェースです。DTrace の実装の詳細を示します。「内部」インタフェースは、マイナーリリースやマイクロリリースで変更される可能性があります。

非公開 (Private)

Sun 専用のインタフェースです。Sun のほかの製品のために開発されたインタフェースで、まだ顧客や ISV 向けに正式に文書化されていません。「非公開」インタフェースは、マイナーリリースやマイクロリリースで変更される可能性があります。

廃止 (Obsolete)

現在のリリースではサポートされているが、将来的に削除される予定の (特にマイナーリリースで削除される可能性が高い) インタフェースです。Sun では、インタフェースのサポートを打ち切る場合には、なるべく事前に通知するようにしています。「廃止」インタフェースを使用しようとすると、D コンパイラから警告メッセージが出力されることがあります。

外部 (External)

このインタフェースは Sun 以外によって管理されています。Sun は、これらのインタフェースの更新版 (ただし以前のものと互換性がない可能性がある) を管理元から入手できる場合には、独自の裁量で、これをリリースの一部に追加して配布できます。異なるリリース間での「外部」インタフェースのソースまたはバイナリ互換性については、Sun は一切関与しません。これらのインタフェースに基づくアプリケーション (「外部」インタフェースが含まれているパッチも含む) は、将来のリリースでは動作しない可能性があります。

変更の可能性あり (Unstable)

新しい (頻繁に変更される) テクノロジや、システム動作の監視やデバッグに必要な実装アーティファクトへの、開発者向けアーリーアクセス用に提供されているインタフェースです。将来的により安定したソリューションが提供される予定です。「変更の可能性あり」インタフェースのマイナーリリース間でのソースまたはバイナリ互換性については、Sun は一切関与しません。

発展中 (Evolving)

将来的に「標準」インタフェースまたは「安定」インタフェースになる可能性があるが、まだ過渡期にあるインタフェースです。Sun は、発展後も以前のリリースと互換性が保たれるよう、適切な努力をします。上位互換性のない変更が必要な場合は、マイナーリリースとメジャーリリースで行われます。こうした変更は、マイクロリリースではできるかぎり回避されます。こうした変更の必要が生じた場合、影響を受けるリリースのリリースノートにその旨が文書化されます。可能なかぎり、Sun は、バイナリ互換性の実現と D プログラム開発続行のために、移行支援ツールを提供します。

安定 (Stable)

Sun の管理下にある完成したインタフェースです。Sun は、これらのインタフェースに対する上位互換性のない変更をできるかぎり回避します。特に、マイナーリリースとマイクロリリースでの変更を回避します。「安定」インタフェースのサポートを打ち切る場合、Sun はその旨を通知し、安定性レベルを「廃止」に変更します。

標準 (Standard)

業界標準に準拠したインタフェースです。このインタフェースの文書には、準拠する標準の説明が記載されています。標準は、通常、標準開発団体によって管理されています。この標準の変更が認可された場合、それに沿って「標準」インタフェースが変更されることがあります。この安定性レベルは、業界の慣例により、正規標準なしで採用されたインタフェースにも当てはまります。指定されたバージョンの標準のみがサポート対象になります。以降のバージョンがサポートされるかどうかは保証されていません。「標準」インタフェースについて、上位互換性のない変更が標準開発団体によって認可され、この変更をサポートすることを Sun が決定した場合には、Sun は互換性と移行方法を通知します。