DTrace Mathias Velten Sun Campus Ambassador
2 Was ist DTrace? Tools Wann benutze ich DTrace? Ressourcen Agenda
3 OpenSolaris ZettaByte Filesystem Dynamic Tracing (DTrace) Solaris Container Image Packaging System Predictive Self-Healing Binär-/Quellkompatibilität garantiert Was ist DTrace? Ein Teil von Opensolaris
4 Eingeführt mit Solaris 10 Mächtige Infrastruktur zur System- und Anwendungsüberwachung Dazu gehört > Ein Tool ('dtrace') > “D”, eine interpretierte Skriptsprache für DTrace > Framework Was ist DTrace?
5 Der gesamte Softwarestack kann überwacht werden Was ist DTrace?
6 Probe > Point of instrumentation > Aufgebaut nach Namespace-Schema – Provider:Module:Function:Name > Provider – Normalerweise der Name des Kernelmoduls, das für die Aktivierung der Probe zuständig ist > Module – Name des Kernel Moduls/ der User Lib, auf die sich die Probe bezieht > Function – Name der Funktion innerhalb des Programms, in der sich die Probe befindet > Name – Name der Probe > Beispiel: “fbt:zfs:arc_read:entry” Was ist DTrace? Begriffe
7 Action > Ausgeführt wenn die Probe “feuert” Predicates > Actions werden nur ausgeführt, wenn bestimmte Bedingungen erfüllt sind > Beispiel: syscall::write:entry /pid == 12345/ { } Was ist DTrace? Begriffe (Forts.)
8 Dynamisch > Wenn keine probe aktiviert ist, erzeugt Dtrace keine Last Vereinheitlichte Überwachung > Überwacht sowohl User- als auch Kernelprozesse Kernel -Überwachung > Kernel-Subsysteme wir Virtual Memory, Scheduler,... können überwacht werden Datenitegrität > Fehler werden immer gemeldet Was ist DTrace? Features
9 Beliebige Actions Predicates > Actions werden durch Bedingungen beschränkt Skriptsprache zur Benutzung > Sehr ähnlich zu C > ANSI C Operatoren werden unterstützt > Zugriff auf Kernel-Variablen und -Datentypen Benutzerdefinierte Varialen Aggregation von Daten Was ist DTrace? Features
10 Ermöglicht: > Aktivieren von Probes > #dtrace -n BEGIN > Ausführen von D-Scripts > # dtrace -s myscript.d > Anzeigen der Eigenschaften des Dtrace Frameworks auf dem aktuell laufenden System > #dtrace -l Command line “dtrace” tool Tools
11 Command line “dtrace” tool demo demo Tools
12 Kann installiert werden für Sun Studio, NetBeans IDE Support von D-Scripts Liefert Chime mit, ein grafisches tool zur Visualisierung von Dtrace Aggregationen NetBeans DTrace GUI plugin Tools
13 NetBeans DTrace GUI plugin demo Tools
14 When to use DTrace Überwachen von Kernel-Subsystemen > Dateisysteme > Netzwerk > Zones > etc. System- und Anwendungstuning System monitoring
15 When to use DTrace Server-side > Ruby > Java > PHP > Perl > Python Client-side > Java-script Web-development Tools > Apache > Glassfish > MySQL > PostgreSQL
16 When to use DTrace Debugging Profiling > Memory leaks > Lost CPU cycles > Funktionsaufrufe > etc. Software development
17 DTrace community page > Solaris dynamic tracing guide > NetBeans DTrace GUI plugin > DTrace_GUI_Plugin_0_4.html DTrace_GUI_Plugin_0_4.html D-Light > tion/tutorials/d_light_tutorial/index.html tion/tutorials/d_light_tutorial/index.html Next Steps Resources
Vielen Dank DTrace ● Mathias Velten ● Sun Campus Ambassador