Comment installer DTrace?

20

La recherche sur Google suggère que DTrace est disponible sur Linux mais je ne trouve pas d'instructions sur la façon de l'installer.

DTrace est un cadre de traçage dynamique complet. Il est conçu pour fournir des informations opérationnelles qui permettent aux utilisateurs de régler et de dépanner les applications et le système d'exploitation lui-même. Une attention particulière a été portée à son utilisation en toute sécurité dans un environnement de production. Par exemple, il y a un effet de sonde minimal lorsque le traçage est en cours et aucun impact sur les performances associé à une sonde désactivée; ceci est important car il existe des dizaines de milliers de sondes DTrace qui peuvent être activées.

justintime
la source

Réponses:

15

Utilisez git ou téléchargez plusieurs versions de dtrace ici . J'ai trouvé ces instructions d'installation :

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

Sidenote: Un commentaire sur le brainstorming prétend que vous pourriez faire la même chose avec ces 3:

Rinzwind
la source
question intéressante - ce lien indique que dtrace n'est pas disponible pour "debian" (alias ubuntu?) - son plus à jour que votre instruction liée. webcache.googleusercontent.com/…
fossfreedom
Voir le dernier commentaire sur brainstorm ici: brainstorm.ubuntu.com/idea/4971 Pas de deb mais il est utilisable sur Ubuntu.
Rinzwind
ok - j'espère que le PO testera cela - +1 de ma part.
fossfreedom
J'ai également trouvé celui-ci brainstorm.ubuntu.com/idea/11463 ptrace, utrace et systemtap édités comme alternative (ne les ai pas trop essayés;))
Rinzwind
. build / 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: impossible de créer le répertoire '/ usr / lib / dtrace': autorisation refusée pour l'installation: impossible de créer un fichier normal '/ usr / sbin / dtrace': installation refusée: impossible de créer le fichier normal '/usr/lib/dtrace/64/drti.o': aucun fichier ou répertoire de ce type: 110: la recette de la cible 'install' a échoué: *** [installer] Erreur 1
gtzinos
14

1

J'ai trouvé le paquet sytemtap-sdt-dev. Depuis un type de terminal:

sudo apt-get install systemtap-sdt-dev

Ce package fournit dtrace.

Veuillez noter que bien qu'il soit nommé dtracepour une raison, ce n'est pas exactement le même que l'original de Solaris. Vous pouvez probablement faire certaines choses, mais pas toutes.

2

Si cela ne vous dérange pas de compiler, une version plus complète de dtraceest le port de Paul Fox:
ftp://crisp.dyndns-server.com/pub/release/website/dtrace/

C'est assez facile à construire, voir README.

3

Il y a aussi un Oracleport. Mais je ne l'ai pas testé et je ne le recommanderais pas. Apparemment, il ne possède qu'environ 0,1% des sondes du port Paul Fox.

$ dtrace -l | wc -l
394267

Ce qui est ironique, car Oracleacheté Sun, les auteurs originaux de dtracepour Solaris.

4

Notez que Linux-dtrace manque de certaines fonctionnalités de l'espace utilisateur fournies par le Solaris-dtrace (d'origine). Ainsi, certaines utilisations de dtrace, telles que le profilage de Node.js, seront compliquées, voire impossibles, en utilisant soit le clonage, soit un fork soit une immitation de dtrace.

Redsandro
la source
5
En effet, la version dans "systemtap-sdt-dev" ne prend pas en charge l'option "-n"
Erel Segal-Halevi