L'instrumentation DTrace s'exécute à l'intérieur du noyau du système d'exploitation Solaris. En plus d'accéder à des variables DTrace spéciales et à des arguments de sonde, vous pouvez donc également accéder à des structures de données du noyau, des symboles et des types. Ces capacités permettent à des utilisateurs, administrateurs, techniciens et développeurs pilotes DTrace d'étudier le fonctionnement à faible niveau du noyau du système d'exploitation et des pilotes de périphériques. La liste de lecture figurant au début de ce manuel comporte des livres pouvant vous aider à en savoir plus sur le fonctionnement interne du système d'exploitation.
D utilise le caractère d'apostrophe inversée (`) en tant qu'opérateur d'étendue spéciale pour accéder à des symboles définis dans le système d'exploitation et non dans votre programme D. Par exemple, le noyau de Solaris contient une déclaration en C du réglage système kmem_flags pour activer les fonctions de débogage du programme d'allocation de mémoire. Reportez-vous au manuel Solaris Tunable Parameters Reference Manual pour plus d'informations sur kmem_flags. Ce réglage est déclaré en C dans le code source du noyau, comme suit :
int kmem_flags;
Pour effectuer le suivi de la valeur de cette variable dans un programme D, vous pouvez écrire l'instruction D :
trace(`kmem_flags);
DTrace associe chaque symbole de noyau au type utilisé dans le code C du système d'exploitation correspondant, fournissant un accès source facile aux structures de données de système d'exploitation. Les noms des symboles de noyau sont conservés dans un espace de nom séparé de la variable D et des identificateurs de fonction. Vous n'avez donc jamais besoin de vous soucier des noms en conflit avec vos variables D.
Vous avez maintenant terminé la présentation de DTrace et vous connaissez à présent un grand nombre des blocs de construction DTrace nécessaires à la création de programmes D de plus grande envergure et d'une plus grande complexité. Les chapitres suivants décrivent l'ensemble des règles à connaître en D et montrent comment DTrace peut effectuer des mesures de performance complexes et faciliter l'analyse fonctionnelle du système. Plus tard, vous apprendrez à utiliser DTrace pour établir le lien entre le fonctionnement de l'application utilisateur et celui du système, vous donnant ainsi la possibilité d'analyser votre pile logicielle dans son intégralité.
Ce n'est que le début !