SystemTap
En informática, SystemTap ( SystemTap consiste en software libre y de código abierto e incluye contribuciones de Red Hat, IBM, Intel, Hitachi, Oracle y otros miembros de la comunidad.[1] HistoriaSystemTap debutó en 2005 en Red Hat Enterprise Linux 4 Update 2 como una vista previa de la tecnología.[2] Después de cuatro años de desarrollo, SystemTap 1.0 se lanzó en 2009.[3] A 2011, SystemTap es totalmente compatible con todas las distribuciones de Linux, incluyendo RHEL/CentOS 5[4] desde la actualización 2, SLES 10,[5] Fedora, Debian y Ubuntu. Se agregaron puntos de rastreo en el CPython VM y JVM en SystemTap 1.2.[6] UsoLos archivos de SystemTap se escriben en el lenguaje de SystemTap[7] (se guardan como archivos Los scripts generalmente se enfocan en eventos (como iniciar o finalizar un script), puntos de sondeo compilados como los "puntos de rastreo" de Linux, o la ejecución de funciones o sentencias en el kernel o espacio de usuario. Algunos scripts de "modo de gurú" también pueden tener código C incrustado, que puede ejecutarse con la opción de línea de comandos A partir de la versión 1.7 de SystemTap, el software implementa el nuevo grupo stapsys y el nivel de privilegio correspondiente.[10] Ejemplos simplesLa siguiente secuencia de comandos muestra todas las aplicaciones que configuran las opciones de socket TCP en el sistema, qué opciones se están configurando y si la opción se configuró con éxito o no: # Show sockets setting options
# Return enabled or disabled based on value of optval
function getstatus(optval)
{
if ( optval == 1 )
return "enabling"
else
return "disabling"
}
probe begin
{
print ("\nChecking for apps setting socket options\n")
}
# Set a socket option
probe tcp.setsockopt
{
status = getstatus(user_int($optval))
printf (" App '%s' (PID %d) is %s socket option %s... ", execname(), pid(), status, optstr)
}
# Check setting the socket option worked
probe tcp.setsockopt.return
{
if ( ret == 0 )
printf ("success")
else
printf ("failed")
printf ("\n")
}
probe end
{
print ("\nClosing down\n")
}
Muchos otros ejemplos se envían con SystemTap.[11] También hay ejemplos reales del uso de SystemTap en la página de War Stories.[12] Importación de scripts desde otras tecnologías de rastreo.SystemTap puede adjuntarse a los marcadores de DTrace cuando se compilan en una aplicación utilizando macros del archivo de encabezado Véase también
Referencias
Enlaces externos
|