¿Cómo instalo DTrace?

20

Google sugiere que DTrace está disponible en Linux, pero no puedo encontrar instrucciones sobre cómo instalarlo.

DTrace es un marco completo de rastreo dinámico. Está diseñado para proporcionar información operativa que permita a los usuarios ajustar y solucionar problemas de las aplicaciones y el sistema operativo en sí. Se ha tenido especial consideración para que sea seguro su uso en un entorno de producción. Por ejemplo, hay un efecto de sonda mínimo cuando el rastreo está en marcha y no hay impacto en el rendimiento asociado con ninguna sonda deshabilitada; Esto es importante ya que hay decenas de miles de sondas DTrace que se pueden habilitar.

justo a tiempo
fuente

Respuestas:

15

Use git o descargue varias versiones de dtrace aquí . Encontré estas instrucciones de instalación :

git clone "https://github.com/dtrace4linux/linux.git" dtrace
cd dtrace
tools/get-deps.pl
make all 
make install
sudo make load

Nota al margen: un comentario sobre una lluvia de ideas afirma que podrías hacer lo mismo con estos 3:

Rinzwind
fuente
pregunta interesante: este enlace web dice que dtrace no está disponible para "debian" (también conocido como ubuntu?), está más actualizado que su instrucción vinculada. webcache.googleusercontent.com/…
fossfreedom
Vea el último comentario sobre lluvia de ideas aquí: brainstorm.ubuntu.com/idea/4971 Sin deb pero es utilizable en Ubuntu.
Rinzwind
ok - espero que el OP lo pruebe - +1 de mi parte.
fossfreedom
También encontré este brainstorm.ubuntu.com/idea/11463 ptrace, utrace y systemtap editado como una alternativa (no probé esto también por cierto;))
Rinzwind
. construir / config.sh; \ mkdir -p "" / usr / lib / dtrace / $ CPU_BITS; \ rm -f "" /usr/lib/dtrace/types.d; \ mkdir -p "" / usr / sbin /; \ install -m 4755 -o root build / dtrace "" / usr / sbin / dtrace; \ install -m 644 -o root build / drti.o "" /usr/lib/dtrace/$CPU_BITS/drti.o mkdir: no se puede crear el directorio '/ usr / lib / dtrace': permiso denegado instalación: no se puede crear un archivo normal '/ usr / sbin / dtrace': permiso denegado instalación: no se puede crear el archivo normal '/usr/lib/dtrace/64/drti.o': No existe ese archivo o directorio makefile: 110: la receta para la 'instalación' objetivo falló: *** [instalar] Error 1
gtzinos
14

1

Encontré el paquete sytemtap-sdt-dev. Desde un tipo de terminal:

sudo apt-get install systemtap-sdt-dev

Este paquete proporciona dtrace .

Tenga en cuenta que aunque se llama dtracepor una razón, no es exactamente igual al original de Solaris. Probablemente puedas hacer algunas cosas, pero no todas.

2

Si no le importa compilar, una versión más completa de características dtracees el puerto de Paul Fox:
ftp://crisp.dyndns-server.com/pub/release/website/dtrace/

Es bastante fácil de construir, vea README.

3

También hay un Oraclepuerto. Pero no lo he probado y no lo recomendaría . Aparentemente, solo tiene alrededor del 0,1 por ciento de las sondas del puerto Paul Fox.

$ dtrace -l | wc -l
394267

Lo cual es irónico, porque Oraclecomprado Sun, los autores originales de dtracedeSolaris .

4 4

Tenga en cuenta que Linux-dtrace carece de alguna funcionalidad de espacio de usuario que proporciona Solaris-dtrace (original). Por lo tanto, ciertos usos de dtrace, como la creación de perfiles de Node.js, serán complicados, si no imposibles, usando clone, fork o imitación de dtrace.

Redsandro
fuente
55
De hecho, la versión en "systemtap-sdt-dev" no admite la opción "-n"
Erel Segal-Halevi