Handbuch zur dynamischen Ablaufverfolgung in Solaris

Argumente

Die Argumente für sysinfo-Prüfpunkte lauten:

arg0

Der Wert, um den die statistische Angabe zu erhöhen ist. Bei den meisten Prüfpunkten beträgt der Wert dieses Arguments stets 1, bei einigen kann das Argument andere Werte annehmen. 

arg1

Ein Zeiger auf den aktuellen Wert der zu erhöhenden statistischen Angabe. Dieser Wert ist eine 64-Bit-Größe, die um den Wert in arg0 erhöht wird. Durch Dereferenzierung dieses Zeigers können die Verbraucher die aktuelle Gesamtzahl der zum Prüfpunkt gehörigen statistischen Angabe ermitteln.

arg2

Ein Zeiger auf die Struktur cpu_t, die für die CPU steht, auf der die statistische Angabe erhöht werden soll. Diese Struktur ist in <sys/cpuvar.h> definiert, ist aber Bestandteil der Kernel-Implementierung und sollte als „Private“ betrachtet werden.

Der Wert von arg0 beträgt bei den meisten sysinfo-Prüfpunkten 1. Die Prüfpunkte readch und writech setzen arg0 jedoch auf die Anzahl der gelesenen bzw. geschriebenen Byte. Mit diesem Leistungsmerkmal lässt sich, wie das folgende Beispiel zeigt, die Größe von Lesezugriffen nach Namen der ausführbaren Datei ermitteln:


# dtrace -n readch'{@[execname] = quantize(arg0)}'
dtrace: description 'readch' matched 4 probes
^C
  xclock
           value  ------------- Distribution ------------- count
              16 |                                         0
              32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
              64 |                                         0

  acroread
           value  ------------- Distribution ------------- count
              16 |                                         0
              32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3
              64 |                                         0

  FvwmAuto
           value  ------------- Distribution ------------- count
               2 |                                         0
               4 |@@@@@@@@@@@@@                            13
               8 |@@@@@@@@@@@@@@@@@@@@@                    21
              16 |@@@@@                                    5
              32 |                                         0

  xterm
           value  ------------- Distribution ------------- count
              16 |                                         0
              32 |@@@@@@@@@@@@@@@@@@@@@@@@                 19
              64 |@@@@@@@@@                                7
             128 |@@@@@@                                   5
             256 |                                         0

  fvwm2
           value  ------------- Distribution ------------- count
              -1 |                                         0
               0 |@@@@@@@@@                                186
               1 |                                         0
               2 |                                         0
               4 |@@                                       51
               8 |                                         17
              16 |                                         0
              32 |@@@@@@@@@@@@@@@@@@@@@@@@@@               503
              64 |                                         9
             128 |                                         0

  Xsun
           value  ------------- Distribution ------------- count
              -1 |                                         0
               0 |@@@@@@@@@@@                              269
               1 |                                         0
               2 |                                         0
               4 |                                         2
               8 |@                                        31
              16 |@@@@@                                    128
              32 |@@@@@@@                                  171
              64 |@                                        33
             128 |@@@                                      85
             256 |@                                        24
             512 |                                         8
            1024 |                                         21
            2048 |@                                        26
            4096 |                                         21
            8192 |@@@@                                     94
           16384 |                                         0

Der Provider sysinfo setzt arg2 als einen Zeiger auf cpu_t, eine interne Struktur der Kernel-Implementierung. Die sysinfo-Prüfpunkte werden auf der CPU ausgelöst, auf der die Statistik inkrementiert wird. Mit der Komponente cpu_id der Struktur cpu_t bestimmen Sie die relevante CPU.