Guía de seguimiento dinámico de Solaris

Prefacio

DTrace es una completa estructura de seguimiento del sistema operativo Solaris™. DTrace proporciona una potente infraestructura que permite a los administradores, desarrolladores y personal de servicio responder de forma concisa a las preguntas más diversas sobre el comportamiento del sistema operativo y los programas del usuario. La Guía de seguimiento dinámico de Solaris describe cómo se utiliza DTrace para estudiar, depurar y perfeccionar el comportamiento del sistema. Este manual también incluye una completa referencia para las herramientas de observación de DTrace incorporadas y el lenguaje de programación en D.


Nota –

Esta versión de Solaris es compatible con sistemas que usen arquitecturas de las familias de procesadores SPARC® y x86: UltraSPARC®, SPARC64, AMD64, Pentium y Xeon EM64T. Los sistemas admitidos aparecen en la Lista de compatibilidad de hardware de Solaris 10 en http://www.sun.com/bigadmin/hcl/. Este documento indica las diferencias de implementación entre los tipos de plataforma.

En este documento, el término "x86" hace referencia a sistemas de 64 y 32 bits fabricados usando procesadores compatibles con las familias de productos AMD64 o Intel Xeon/Pentium. Para conocer cuáles son los sistemas admitidos, consulte la Lista de compatibilidad de hardware de Solaris 10.


Quién debe utilizar este manual

Si desea conocer cómo funciona su sistema, DTrace es la herramienta que necesita. DTrace es una completa herramienta de seguimiento dinámico integrada en Solaris. DTrace se puede utilizar para examinar el comportamiento de los programas de usuario, así como del sistema operativo. DTrace lo pueden usar los administradores de sistemas o los desarrolladores de aplicaciones y es adecuado para usarlo con sistemas de producción activos. Con DTrace podrá estudiar el sistema para entender cómo funciona, realizar un seguimiento de los problemas de rendimiento en los distintos niveles del software y localizar la causa de comportamientos inusuales. Como podrá comprobar, DTrace le permite crear sus propios programas personalizados para administrar dinámicamente el sistema y proporcionar respuestas concisas a las preguntas más diversas que le puedan surgir al usar el lenguaje de programación en D de DTrace.

DTrace permite a los usuarios de Solaris llevas a cabo las acciones siguientes:

DTrace permite a los desarrolladores y los administradores de Solaris:

Esta guía le enseñará todo lo que necesita saber acerca del uso de DTrace. Estar familiarizado con lenguajes de programación como C o con un lenguaje de secuencias de comandos como awk(1) o perl(1) le ayudará a entender más rápidamente DTrace y el lenguaje de programación en D, pero no es necesario que sea un experto en ninguna de estas áreas. Si nunca ha escrito un programa o una secuencia de comandos, en Información relacionada encontrará referencias a otros documentos que pueden resultarle útiles.

Organización de este manual

El Capítulo 1Introducción, proporciona una descripción general de la utilidad DTrace completa y sirve de introducción al lenguaje de programación en D. El Capítulo 2Tipos, operadores y expresiones, el Capítulo 3Variables, y el Capítulo 4Estructura del programa D, tratan de forma detallada los puntos esenciales de D y explican la forma de convertir programas de D en instrumentación dinámica. Todos los lectores deben leer en primer lugar este grupo inicial de capítulos.

El Capítulo 5Punteros y matrices, el Capítulo 6Cadenas, el Capítulo 7Estructuras y uniones, y el Capítulo 8Definiciones de tipos y constantes, abarcan las restantes características del lenguaje D, casi todas ellas conocidas ya por los programadores de C, C++ y JavaTM. Los lectores que no estén familiarizados con estos lenguajes, deberán leer estos capítulos; aquellos que tengan más experiencia pueden proceder directamente con los últimos capítulos.

El Capítulo 9Adiciones, y el Capítulo 10Acciones y subrutinas, se habla de las potentes primitivas de DTrace para la adición de datos y el conjunto de acciones incorporadas que se pueden usar para crear experimentos de seguimiento. Todos los lectores deben leer atentamente estos capítulos.

El Capítulo 11Memorias intermedias y almacenamiento en memoria intermedia, describe las políticas de almacenamiento de datos en la memoria intermedia y la forma de configurarlas. Este capítulo deben leerlo los usuarios una vez que se hayan familiarizado con la construcción y ejecución de programas en D.

En el Capítulo 12Formato de salida, se describen las acciones de formato de salida en D, así como la política predeterminada para aplicar formato a los datos de seguimiento. A los lectores que estén familiarizados con la función printf() del lenguaje de programación en C les bastará con hojear este capítulo. Los lectores que no hayan visto anteriormente printf() deberán leerlo atentamente.

En el Capítulo 13Seguimiento especulativo, se habla de la utilidad DTrace para la confirmación especulativa de datos en una memoria intermedia de seguimiento. Este capítulo deben leerlo los usuarios que necesiten usar DTrace en una situación en la que deba realizarse un seguimiento de los datos antes de comprender si son relevantes para la pregunta en cuestión.

El Capítulo 14Utilidad dtrace(1M), proporciona una referencia completa para la utilidad de línea de comandos dtrace, similar a la página del manual en línea correspondiente. Los lectores pueden consultar este capítulo cuando se presenten varias opciones de línea de comandos en cualquier parte del manual. En el Capítulo 15Secuencias de comandos, se indica cómo se emplea la utilidad dtrace para construir guiones de comandos en D ejecutables y procesar los argumentos de línea de comandos. En el Capítulo 16Opciones y optimizables, se indican las opciones que se pueden activar en la línea de comandos o desde el propio programa en D.

El grupo de capítulos comprendido entre Capítulo 17Proveedor dtrace, y Capítulo 32Proveedor fasttrap, trata sobre los distintos proveedores de DTrace que pueden utilizarse para instrumentar los diversos aspectos de un sistema Solaris. Todos los lectores deberían hojear estos capítulos para familiarizarse con los distintos proveedores y, a continuación,volver a leer capítulos concretos según sea necesario.

El Capítulo 33Seguimiento de procesos de usuario, proporciona ejemplos sobre cómo utilizar DTrace para dirigir procesos de usuario. El Capítulo 34Seguimiento definido estáticamente para las aplicaciones de los usuarios, explica cómo los programadores de aplicaciones pueden agregar sondeos y proveedores de DTrace personalizados a aplicaciones de usuario. Los lectores que sean administradores o desarrolladores de programas y deseen usar DTrace para investigar los comportamientos de los procesos del usuario deben leer estos capítulos.

El Capítulo 35Seguridad, y el resto de capítulos tratan sobre temas avanzados como, por ejemplo, la seguridad, las versiones y los atributos de estabilidad de DTrace, y sobre cómo realizar seguimientos con DTrace en el momento del arranque y cuando se hayan producido errores. Estos capítulos están destinados a los usuarios avanzados de DTrace.

Información relacionada

Los siguientes manuales y documentos recomendados están relacionados con las tareas que debe realizar con DTrace:

Puede compartir sus experiencias y secuencias de comandos de DTrace con el resto de la comunidad de DTrace en el sitio Web http://www.sun.com/bigadmin/content/dtrace/.

Documentación, asistencia y formación

El sitio web de Sun proporciona información acerca de los siguientes recursos adicionales:

Convenciones tipográficas

La siguiente tabla describe las convenciones tipográficas utilizadas en este manual.

Tabla P–1 Convenciones tipográficas

Tipos de letra 

Significado 

Ejemplo 

AaBbCc123

Los nombres de los comandos, los archivos, los directorios y los resultados que el equipo muestra en pantalla. 

Edite el archivo .login.

Utilice el comando ls -a para mostrar todos los archivos.

nombre_sistema% tiene correo.

AaBbCc123

Lo que se escribe, en contraposición con la salida del equipo en pantalla 

nombre_sistema% su

Contraseña:

aabbcc123

Marcador de posición: sustituir por un valor o nombre real 

El comando necesario para eliminar un archivo es rm nombrearchivo.

AaBbCc123

Títulos de los manuales, términos nuevos y palabras destacables 

Consulte el capítulo 6 de la Guía del usuario.

Una copia en caché es aquella que se almacena localmente.

No guarde el archivo.

Nota: algunos elementos destacados aparecen en negrita en línea.

Indicadores de los shells en los ejemplos de comandos

La tabla siguiente muestra los indicadores predeterminados del sistema y de superusuario de UNIX® para los shells Bourne, Korn y C.

Tabla P–2 Indicadores de shell

Shell 

Indicador 

Shell C 

nombre_sistema%

Shell C para superusuario 

nombre_sistema#

Shell Bourne y shell Korn 

$

Shell Bourne y shell Korn para superusuario 

#