Chapter 16 DTrace Stability Features

Developers are provided with early access to new technologies, as well as observability tools that enable them peer into the internal implementation details of user and kernel software. Unfortunately, new technologies and internal implementation details are prone to changes because interfaces and implementations evolve and mature when software is upgraded or patched.

Application and interface stability levels are documented using a set of labels to help set user expectations for the kinds of changes that might occur in different types of future releases. No individual stability attribute appropriately describes the arbitrary set of entities and services that can be accessed from a D program. Therefore, DTrace and the D compiler include features to dynamically compute and describe the stability levels of the D programs that you create.

This chapter discusses the DTrace features for determining program stability to help you design stable D programs. You can use these DTrace stability features to inform you of the stability attributes of your D programs or to produce compile-time errors when your program has undesirable interface dependencies.