DTrace (Sun Microsystems)
From Wikipedia, the free encyclopedia
| DTrace | ||
|---|---|---|
|
| ||
| Información general | ||
| Tipo de programa | Tracing | |
| Desarrollador | Sun Microsystems | |
| Lanzamiento inicial | Enero de 2005 | |
| Licencia | Common Development and Distribution License | |
| Enlaces | ||
DTrace es un framework de rastreo y monitoreo abarcativo y dinámico creado por Sun Microsystems para diagnosticar problemas de kernel y aplicaciones en sistemas de producción en tiempo real. Originalmente desarrollado para Solaris, ha sido desde entonces lanzado bajo la licencia CDDL y ha sido portado a otros sistemas operativos tipo Unix.
DTrace puede ser utilizado para obtener una mirada global de un sistema que esté activo, brindando información tal como cantidad de memoria, tiempo de procesador, o recursos de red o del sistema de archivos que estén usando los procesos activos. También puede proveer información mucho más detallada, como el registro de los argumentos con los que una función específica está siendo llamada o una lista de los procesos que están accediendo a un archivo determinado.
DTrace está diseñado para proveer vistazos operacionales que le permitan a los usuarios afinar y resolver problemas de aplicaciones y del sistema operativo en sí.
Los programas de rastreo (también conocidos como script) son escritos utilizando lenguaje D no confundir con lenguaje de programación D. Este lenguaje es un subconjunto del lenguaje C, con funciones y variables de rastreo añadidas. Los programas en D son similares en estructura a los programas en AWK; consisten en una lista de una o más pruebas (puntos de instrumentación) y cada prueba está asociada con una acción. Si se cumple la condición para la prueba, se ejecuta la acción asociada (la prueba se "dispara"). Una prueba típica puede dispararse cuando un cierto archivo es abierto, un proceso es iniciado, o una cierta línea de código es ejecutada. Una prueba que se dispara puede analizar la situación de tiempo de ejecución accediendo al conjunto de llamadas y variables de contexto y evaluando expresiones; puede imprimir o registrar alguna información, guardarla en una base de datos o modificar variables de contexto. La lectura y escritura de variables de contexto permite a las pruebas pasarse información entre ellas, permitiéndoles analizar cooperativamente la correlación de distintos eventos.
Consideraciones especiales han sido tenidas en cuenta para hacer a DTrace seguro de usar en un entorno de producción. Por ejemplo, existe un mínimo efecto de prueba cuando el rastreo se está llevando a cabo, y no hay ningún impacto de rendimiento asociado a alguna prueba desactivada; esto es importante porque puede haber decenas de miles de pruebas de DTrace que pueden estar activas. También pueden crearse nuevas pruebas de manera dinámica.