La table suivante contient la liste complète des variables en D intégrées. Toutes ces variables sont des variables globales scalaires ; les variables locales de thread ou de clause ou les tableaux associatifs ne sont pas définis en langage D pour le moment.
Tableau 3–1 Variables intégrées de DTrace
Type et nom |
Description |
---|---|
int64_t arg0, ..., arg9 |
Dix premiers arguments d'entrée vers une sonde représentés comme des nombres entiers bruts de 64 bits. Si moins de dix arguments sont transmis à la sonde actuelle, les variables restantes retournent à zéro. |
args[] |
Arguments type de la sonde actuelle, le cas échéant. Le tableau args[] est accessible au moyen d'un index de nombres entiers mais chaque élément est défini pour représenter le type correspondant à l'argument de sonde donné. Par exemple, si args[] est référencé par une sonde d'appel système read(2), args[0] appartient au type int, args[1] au type void * et args[2] au type size_t. |
uintptr_t caller |
Emplacement du compteur du programme du thread actuel juste avant d'entrer dans la sonde actuelle. |
chipid_t chip |
Identificateur de puce de CPU de la puce physique actuelle. Pour plus d'informations, reportez-vous au Chapitre26Fournisseur sched. |
processorid_t cpu |
Identificateur de la CPU actuelle. Pour plus d'informations, reportez-vous au Chapitre26Fournisseur sched. |
cpuinfo_t *curcpu |
Informations sur la CPU actuelle. Pour plus d'informations, reportez-vous au Chapitre26Fournisseur sched. |
lwpsinfo_t *curlwpsinfo |
État du processus léger (LWP) de LWP associé au thread actuel. Cette structure est décrite plus en détails dans la page de manuel proc(4). |
psinfo_t *curpsinfo |
État du processus lié au thread actuel. Cette structure est décrite plus en détails dans la page de manuel proc(4). |
kthread_t *curthread |
Adresse de la structure des données internes du noyau du système d'exploitation du thread actuel, kthread_t. kthread_t est défini dans <sys/thread.h>. Reportez-vous aux Données internes sur Solaris pour plus d'informations sur cette variable et les autres structures de données du système d'exploitation. |
string cwd |
Nom du répertoire de travail actuel du processus associé au thread actuel. |
uint_t epid |
ID de sonde activée (EPID) de la sonde actuelle. Ce nombre entier n'identifie qu'une sonde particulière qui est activée par un prédicat et un ensemble d'actions spécifiques. |
int errno |
Valeur d'erreur retournée par le dernier appel système exécuté par ce thread. |
string execname |
Nom transmis à exec(2) pour exécuter le processus actuel. |
gid_t gid |
ID de groupe réel du processus actuel. |
uint_t id |
ID de sonde de la sonde actuelle. Cet ID constitue l'identificateur unique à l'échelle du système de la sonde tel qu'émis par DTrace et répertorié dans la sortie de dtrace -l. |
uint_t ipl |
Niveau de priorité d'interruption (IPL) sur la CPU actuelle au moment du déclenchement de la sonde. Reportez-vous aux Données internes sur Solaris pour plus d'informations sur les niveaux d'interruption et la gestion des interruptions dans le noyau du système d'exploitation de Solaris. |
lgrp_id_t lgrp |
ID du groupe de latence auquel la CPU actuelle appartient. Pour plus d'informations, reportez-vous au Chapitre26Fournisseur sched. |
pid_t pid |
ID de processus du processus actuel. |
pid_t ppid |
ID de processus parent du processus actuel. |
string probefunc |
Partie du nom de fonction de la description de la sonde actuelle. |
string probemod |
Partie du nom de module de la description de la sonde actuelle. |
string probename |
Partie du nom de la description de la sonde actuelle. |
string probeprov |
Partie du nom du fournisseur de la description de la sonde actuelle. |
psetid_t pset |
ID de l'ensemble de processeurs contenant la CPU actuelle. Pour plus d'informations, reportez-vous au Chapitre26Fournisseur sched. |
string root |
Nom du répertoire root du processus associé au thread actuel. |
uint_t stackdepth |
Profondeur du cadre de la pile du thread actuel au moment du déclenchement de la sonde. |
id_t tid |
ID du thread actuel. Pour les threads liés aux processus utilisateur, cette valeur équivaut au résultat d'un appel vers pthread_self(3C). |
uint64_t timestamp |
Valeur actuelle d'un compteur d'horodatage en nanosecondes. Ce compteur procède à l'incrémentation à partir d'un point arbitraire antérieur et ne doit être utilisé que pour la réalisation de calculs relatifs. |
uid_t uid |
ID de l'utilisateur réel du processus actuel. |
uint64_t uregs[] |
Valeurs d'enregistrement en mode utilisateur de sauvegarde du thread actuel au moment du déclenchement de la sonde. L'utilisation du tableau uregs[] est présentée dans le Chapitre33Suivi des processus utilisateur. |
uint64_t vtimestamp |
Valeur actuelle d'un compteur d'horodatage en nanosecondes, virtualisée par la durée d'exécution du thread actuel sur la CPU moins le temps passé dans les prédicats et actions de DTrace. Ce compteur procède à l'incrémentation à partir d'un point arbitraire antérieur et ne doit être utilisé que pour la réalisation de calculs temporels relatifs. |
uint64_t walltimestamp |
Nombre actuel de nanosecondes depuis 00:00 (heure coordonnée universelle) le 1er janvier 1970. |
Les fonctions intégrées au langage D, comme trace() sont présentées dans le Chapitre10Actions et sous-routines.