Les arguments vers les sondes sysinfo se présentent comme suit :
arg0 |
Valeur de laquelle les statistiques sont incrémentées. Cet argument est toujours égal à 1 pour la plupart des sondes. Il peut, toutefois, prendre une autre valeur pour certaines sondes. |
arg1 |
Pointeur vers la valeur courante des statistiques à incrémenter. Cette valeur, d'une quantité de 64–bits, sera incrémentée de la valeur de arg0. Déréférencer ce pointeur permet aux utilisateurs de déterminer la valeur courante des statistiques correspondant à la sonde. |
arg2 |
Pointeur vers la structure cpu_tqui correspond à la CPU sur laquelle les statistiques doivent être incrémentées. Cette structure est définie dans <sys/cpuvar.h>, mais elle fait partie intégrante de l'implémentation du noyau et doit être considérée comme Privée. |
La valeur de arg0 est de 1 pour la plupart des sondes sysinfo. Cependant, les sondes readch et writech définissent arg0 sur le nombre d'octets lus ou écrits, respectivement. Cette fonctionnalité vous permet de déterminer la taille des lectures par nom exécutable, comme illustré dans l'exemple ci-dessous :
# 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 |
Le fournisseur sysinfo définit arg2 en tant que pointeur vers une structure cpu_t (une structure interne vers l'implémentation du noyau). Les sondes sysinfo se déclenchent sur la CPU sur laquelle la statistique est incrémentée. Utilisez le membre cpu_id de la structure cpu_t pour déterminer la CPU qui vous intéresse.