Provider Versioning
Unlike interfaces offered by the D compiler, interfaces offered by DTrace providers
(that is, probes and probe arguments) are not affected by or associated
with the D programming interface or the previously described version binding options.
The available provider interfaces are established as part of loading your compiled
instrumentation into the DTrace software in the operating system kernel and vary
depending on your instruction set architecture, operating platform, processor, the software installed
on your Solaris system, and your current security privileges. The D compiler
and DTrace runtime examine the probes described in your D program clauses
and report appropriate error messages when probes requested by your D program
are not available. These features are orthogonal to the D programming interface
version because DTrace providers do not export interfaces that can conflict with
definitions in your D programs; that is, you can only enable probes
in D, you cannot define them, and probe names are kept in
a separate namespace from other D program identifiers.
DTrace providers are delivered with a particular release of Solaris and are
described in the corresponding version of the Solaris Dynamic Tracing Guide. The
chapter of this guide corresponding to each provider will also describe any
relevant changes to or new features offered by a given provider. You
can use the dtrace -l option to explore the set of providers
and probes available on your Solaris system. Providers label their interfaces using
the DTrace stability attributes, and you can use the DTrace stability reporting
features (see Chapter 39, Stability) to determine whether the provider interfaces used by your
D program are likely to change or be offered in future Solaris
releases.