viernes tecnicos dtrace
TRANSCRIPT
- 1.
- Jos Juan Mora Prez
- http://es.opensolaris.org
USE IMPROVE EVANGELIZE OpenSolaris DTrace 2. Bienvenidos a lascharlas de la comunidadOpenSolaris Hispano http://es.opensolaris.org/ViernesTec/ 3. DTrace 4.
- Qu es DTrace?
- Lenguaje D
- Agregaciones
- dtrace(1M)
- Providers
- Integrar Dtrace en las aplicaciones
- Dtrace GUI - chime
DTrace 5. Qu es DTrace?
- Es una herramienta de instrumentacin desarrollada por Sun en el 2005 y disponible en Solaris 10.
- Instrumentacin industrial:es el grupo de elementos que sirven para medir, convertir, transmitir, controlar o registrar variables de un proceso con el fin de optimizar los recursos utilizados en ste. ( es.wikipedia.org)
- Est orientada tanto para desarrolladores como para administradores.
- Nos permite analizar el comportamiento de nuestro sistema en caliente sin generar una perdida de rendimiento.
- Podemos utilizarDTraceen nuestros sistemas de produccin con la seguridad de que no afectar al rendimiento.
- No consiste en estdisticas del sistema al estilo dekstat
6. Qu es DTrace? 7. Lenguaje D
- Es una mezcla entre C y awk
- No dispone de instrucciones para el control de flujo.
- Los programas son compilados con el comandodtrace , de una forma parecida a como se hace en Java, una vez probado que no contiene errores es enviado aKernelpara que lo ejecute Dtrace.
- La estructura bsica de un programa en D es:
- Descripcin de la sonda
- / predicado /
- {
- Acciones;
- }
8. Lenguaje D
- Sondas (probes) y proveedores (providers)
- Debemos especificar al menos la descripcin de una sonda
- provider:module:function:name
- Provider , es el mdulo de Dtrace que publica una sonda.
- Module , las distintas sondas de un provider pueden estar organizadas en mdulos.
- Function , es la funcin sobre la que actuar la sonda.
- Name , es una descripcin de qu hace la sonda.
9. Lenguaje D
- La nica forma de controlar el flujo de un programa en D es mediante lospredicados .
- Son expresiones encerradas en // y se evaluan como verdaderas o falsas.
- Ejemplo:
- / pid == 78 / El PID es igual a 78
- / execname == "bash"/ El nombre del programa sea bash
- / x