La instrumentación de DTrace se ejecuta en el núcleo del sistema operativo Solaris, por lo que, además de acceder a los argumentos del sondeo y las variables especiales de DTrace, puede acceder también a los símbolos, los tipos y las estructuras de datos del núcleo. Estas funciones permiten a los usuarios avanzados, los administradores, el personal de mantenimiento y los programadores de controladores de DTrace examinar el comportamiento a bajo nivel del núcleo del sistema operativo y los controladores de dispositivos. La lista de lecturas incluida al principio de este manual incluye libros que pueden ayudarle a obtener más información sobre los componentes internos del sistema operativo Solaris.
D utiliza un carácter de comilla inversa (`) como operador de ámbito para acceder a los símbolos definidos en el sistema operativo, pero no en el programa D. Por ejemplo, el núcleo de Solaris contiene una declaración escrita en C de un valor ajustable del sistema llamado kmem_flags para activar las funciones de depuración del asignador de memoria. Consulte Solaris Tunable Parameters Reference Manual para obtener más información sobre kmem_flags. Este ajuste se declara en C en el código fuente del núcleo de la siguiente forma:
int kmem_flags;
Para realizar un seguimiento del valor de esta variable en un programa D, puede escribir la siguiente instrucción del lenguaje D:
trace(`kmem_flags);
DTrace asocia cada símbolo del núcleo al tipo utilizado para éste en el código C correspondiente del sistema operativo, proporcionando un acceso fácil basado en la fuente a las estructuras de datos nativas del sistema operativo. Los nombres de los símbolos del núcleo se incluyen en un espacio de nombre distinto al de los identificadores de funciones y variables del lenguaje D, por lo que no tiene que preocuparse de que estos nombres entren en conflicto con las variables de D.
Ya ha completado el recorrido general por DTrace y conoce gran parte de los bloques de creación básicos de Trace necesarios para crear programas D de mayor tamaño y complejidad. En los siguientes capítulos se describe el conjunto completo de reglas de D y se demuestra cómo DTrace puede facilitar las mediciones de rendimiento y los análisis funcionales del sistema complejos. A continuación, aprenderá a utilizar DTrace para asociar el comportamiento de la aplicación de usuario al comportamiento del sistema, lo que le permitirá analizar toda la pila de software.
Esto es sólo el principio.