Solaris 动态跟踪指南

稳定性级别

DTrace 为内置变量、函数和探测器等实体提供了两类稳定性属性:稳定性级别和体系结构相关性类。其中,DTrace 稳定性级别通过指示在将来的发行版或修补程序中更改接口或 DTrace 实体的可能性,帮助您在基于 DTrace 开发脚本和工具时进行风险评估。DTrace 相关性类则向您指示某接口是否为所有 Solaris 平台和处理器公用,或该接口是否仅与特定的体系结构(如 SPARC 处理器)关联。用于描述接口的这两类属性可以独立变化。

下表按稳定性从低到高的顺序显示了 DTrace 使用的稳定性值。由于 Sun 将尽力确保在将来的次发行版中继续使用这些接口,因此可供所有 D 程序和分层应用程序使用的接口将更稳定。在将来的次发行版中,仅依赖稳定接口的应用程序将继续可靠地正常工作,并且不会被临时的修补程序破坏。使用稳定性较低的接口,可在当前系统上进行实验、设计原型、调节和调试,但是,使用时应认识到这些接口可能会出现不兼容的情况,甚至在将来的次发行版中可能被删除或替换。

另外,DTrace 稳定性值还有助于您了解所观察的软件实体的稳定性,以及 DTrace 接口本身的稳定性。因此,在升级或更改所观察的软件栈时,通过 DTrace 稳定性值,还可指示 D 程序和分层工具需要进行相应更改的可能性。

内部

该接口为 DTrace 专用,代表 DTrace 的实现详细信息。在次发行版或微发行版中,内部接口可能会有所变化。

专用

该接口为 Sun 专用,代表为供其他 Sun 产品(尚未公开发布以供用户和 ISV 使用的产品)使用而开发的接口。在次发行版或微发行版中,专用接口可能会有所变化。

过时

当前发行版支持该接口,但计划在将来的次发行版中将其删除。停止接口支持之前,Sun 将会首先尝试提供通知,然后再停止相应接口。如果您试图使用已过时的接口,D 编译器可能会生成警告消息。

外部

该接口受 Sun 以外的实体控制。根据 Sun 的自行判断,Sun 可将此类接 口的更新版本和可能不兼容的版本作为任何发行版的一部分提供,这主要受其在控制实体中的可用性限制。Sun 没有就任何两个发行版之间的外部接口的源或二进制兼容性进行任何声明。在将来的发行版中,基于这些接口的应用程序(包括包含外部接口的修补程序)可能无法运行。

不稳定

提供该接口的目的是为了使开发者能够预先体验新兴的、快速变化的技术,或预先体验对于观察或调试系统行为而言非常关键的实现产物,以便将来可采用一种更稳定的解决方案。Sun 没有就次发行版之间的不稳定接口的源或二进制兼容性进行任何声明。

发展中

该接口最终可能会成为标准接口或稳定接口,但现在仍处于转换状态。Sun 将会竭尽全力确保其在演变过程中与以前的发行版保持兼容。如果必须进行非向上兼容更改,这些更改将会在次发行版和主发行版完成。如有可能,应尽量避免在微发行版中进行这些更改。如果必须进行此类更改,应在受影响的发行版的发行说明中予以记录,并且 Sun 将在可行的情况下,为二进制兼容性和后续的 D 程序开发提供迁移帮助。

稳定

该接口是一个受 Sun 控制的成熟接口。Sun 将尽力避免对这类接口进行非向上兼容更改,尤其是在次发行版或微发行版中。如果必须停止对稳定接口的支持,Sun 将会尝试提供通知并将稳定性级别更改为“过时”。

标准

该接口符合行业标准。与该接口对应的文档将对该接口所符合的标准进行描述。这些标准通常由标准开发组织进行控制,可以依据对标准已批准的更改对接口进行更改。该稳定性级别还适用于已采用(但缺少行业约定的正式标准)的接口。仅对指定版本的标准提供支持,并不保证对更高版本提供支持。如果标准开发组织同意对 Sun 决定支持的标准接口进行非向上兼容更改,Sun 将公布一个兼容性和迁移策略。