Handbuch zur dynamischen Ablaufverfolgung in Solaris

Standardaktion

Eine Klausel kann eine beliebige Anzahl von Aktionen und Variablenmanipulationen enthalten. Wird eine Klausel leer gelassen, so erfolgt die Standardaktion. Die Standardaktion besteht in der Aufzeichnung der ID des aktivierten Prüfpunkts (EPID) im Hauptpuffer. Die EPID bezeichnet eine bestimmte Aktivierung eines bestimmten Prüfpunkts mit einem bestimmten Prädikat und den dazugehörigen Aktionen. Aus der EPID können DTrace-Verbraucher den Prüfpunkt ableiten, der eine Aktion eingeleitet hat. Immer wenn Daten verfolgt werden, müssen diese durch die EPID ergänzt werden, damit sie überhaupt einen Sinn für den Verbraucher ergeben. Deshalb besteht die Standardaktion darin, ausschließlich die EPID zu verfolgen.

Die Nutzung der Standardaktion ermöglicht·eine einfache Verwendung von dtrace(1M). Beispielsweise aktiviert der folgende Befehl alle Prüfpunkte im Timeshare-Scheduling-Modul TS mit der Standardaktion:


# dtrace -m TS

Dieser Befehl kann eine Ausgabe wie in folgendem Beispiel erzeugen:


# dtrace -m TS
dtrace: description 'TS' matched 80 probes
CPU     ID                    FUNCTION:NAME
  0  12077                 ts_trapret:entry
  0  12078                ts_trapret:return
  0  12069                   ts_sleep:entry
  0  12070                  ts_sleep:return
  0  12033                  ts_setrun:entry
  0  12034                 ts_setrun:return
  0  12081                  ts_wakeup:entry
  0  12082                 ts_wakeup:return
  0  12069                   ts_sleep:entry
  0  12070                  ts_sleep:return
  0  12033                  ts_setrun:entry
  0  12034                 ts_setrun:return
  0  12069                   ts_sleep:entry
  0  12070                  ts_sleep:return
  0  12033                  ts_setrun:entry
  0  12034                 ts_setrun:return
  0  12069                   ts_sleep:entry
  0  12070                  ts_sleep:return
  0  12023                  ts_update:entry
  0  12079             ts_update_list:entry
  0  12080            ts_update_list:return
  0  12079             ts_update_list:entry
...