Wie installiere ich DTrace?

20

Googeln schlägt vor, dass DTrace unter Linux verfügbar ist, aber ich kann keine Anweisungen zur Installation finden.

DTrace ist ein umfassendes Framework für die dynamische Ablaufverfolgung. Es soll betriebliche Einblicke geben, mit denen Benutzer Anwendungen und das Betriebssystem selbst optimieren und Fehler beheben können. Es wurde besonderes Augenmerk darauf gelegt, dass die Verwendung in einer Produktionsumgebung sicher ist. Beispiel: Während der Ablaufverfolgung ist der Testeffekt minimal und die Leistung eines deaktivierten Tests wird nicht beeinträchtigt. Dies ist wichtig, da zehntausende DTrace-Tests aktiviert werden können.

gerade rechtzeitig
quelle

Antworten:

15

Verwenden Sie git oder laden Sie hier verschiedene Versionen von dtrace herunter . Ich habe diese Installationsanleitung gefunden :

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

Nebenbemerkung: Ein Kommentar zu Brainstorming behauptet, dass Sie dasselbe mit diesen 3 tun könnten:

Rinzwind
quelle
interessante frage - dieser weblink besagt, dass dtrace nicht für "debian" (aka ubuntu?) verfügbar ist - es ist aktueller als deine verknüpfte anweisung. webcache.googleusercontent.com/…
fossfreedom
Den letzten Kommentar zu Brainstorm finden Sie hier: brainstorm.ubuntu.com/idea/4971 Kein Debit, aber unter Ubuntu verwendbar.
Rinzwind
ok - hoffentlich testet das OP das raus - +1 von mir.
fossfreedom
Ich fand auch dieses ein brainstorm.ubuntu.com/idea/11463 ptrace, utrace und systemtap bearbeitet in als Alternative (habe nicht versucht , diese zu btw;))
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: Verzeichnis '/ usr / lib / dtrace' kann nicht erstellt werden: Berechtigung verweigert Installation: Normale Datei kann nicht erstellt werden '/ usr / sbin / dtrace': Die Installation wurde verweigert. Es kann keine reguläre Datei erstellt werden. '/usr/lib/dtrace/64/drti.o': Kein solches Datei- oder Verzeichnis-Makefile vorhanden. 110: Das Rezept für die Zielinstallation ist fehlgeschlagen. *** [install] Fehler 1
gtzinos
14

1

Ich habe das Paket sytemtap-sdt-dev gefunden. Von einem Terminaltyp:

sudo apt-get install systemtap-sdt-dev

Dieses Paket bietet dtrace.

Bitte beachten Sie, dass der Name zwar dtraceeinen bestimmten Grund hat, aber nicht exakt mit dem Original übereinstimmt Solaris. Sie können wahrscheinlich einige Dinge tun, aber nicht alle.

2

Wenn Sie nichts dagegen haben zu kompilieren, dtraceist der Port von Paul Fox eine umfassendere Version :
ftp://crisp.dyndns-server.com/pub/release/website/dtrace/

Es ist ziemlich einfach zu bauen, siehe README.

3

Es gibt auch einen OracleHafen. Aber ich habe es nicht getestet und würde es nicht empfehlen . Anscheinend hat es nur etwa 0,1 Prozent der Sonden der Paul Fox-Portierung.

$ dtrace -l | wc -l
394267

Was ironisch ist, weil Oraclegekauft Sun, die ursprünglichen Autoren von dtracefür Solaris.

4

Beachten Sie, dass Linux-dtrace einige User-Space-Funktionen fehlen, die vom (ursprünglichen) Solaris-dtrace bereitgestellt werden. Bestimmte Verwendungen von dtrace, wie z. B. die Profilerstellung von Node.js, werden mit Klonen, Fork oder der Imitation von dtrace kompliziert, wenn nicht sogar unmöglich.

Redsandro
quelle
5
Tatsächlich unterstützt die Version in "systemtap-sdt-dev" nicht die Option "-n"
Erel Segal-Halevi