Guía de seguimiento dinámico de Solaris

Atributos de la interfaz

DTrace describe las interfaces utilizando tres atributos, que constan de dos niveles de estabilidad y una clase de dependencia. La convención establece que los atributos de la interfaz se escriben en el orden siguiente, separados por barras:

nombre-estabilidad /  datos-estabilidad / dependencia-clase

La estabilidad del nombre de una interfaz describe el nivel de estabilidad asociado con su nombre, tal y como aparece en el programa D o en la línea de comandos de dtrace(1M). Por ejemplo la variable D execname es un nombre Stable: Sun garantiza que este identificador seguirá admitiéndose sus programas de D, de acuerdo con las reglas descritas anteriormente para las interfaces Stable.

La estabilidad de datos de una interfaz es diferente a la estabilidad asociada al nombre de la interfaz. Este nivel de estabilidad describe el compromiso de Sun de mantener los formatos de datos utilizados por la interfaz y cualquier semántica de datos asociada. Por ejemplo, la variable D pid es una interfaz Stable: los ID de proceso son un concepto estable en Solaris, y Sun garantiza que la variable pid será del tipo pid_t con la semántica establecida en el ID de proceso que corresponde al subproceso que activó un sondeo determinado, de acuerdo con las reglas de las interfaces Stable.

La clase de dependencia de una interfaz es diferente de su estabilidad de nombre y datos, y describe si la interfaz es específica de la plataforma o del microprocesador que se encuentra en funcionamiento en ese momento.

DTrace y el compilador D realizan un seguimiento de los atributos de estabilidad de todas las entidades de la interfaz DTrace, incluyendo proveedores, descripciones de sondeos, variables y funciones D, tipos e instrucciones de programas, tal y como veremos en breve. Tenga en cuenta que los tres valores pueden variar de forma independiente. Por ejemplo, la variable D curthread tiene atributos Stable/Private/Common: el nombre de variable es Stable y Common a todas las plataformas Solaris, pero esta variable proporciona acceso a un formato de datos Private, que es un artefacto de la implementación del núcleo de Solaris. La mayoría de variables D se proporcionan con atributos Stable/Stable/Common, dado que son las variables que define el usuario.