Manuel de suivi dynamique Solaris

Préface

DTrace est un logiciel de suivi dynamique complet dédié au système d'exploitation Solaris™. DTrace offre une puissante infrastructure permettant aux administrateurs, développeurs et techniciens de maintenance de répondre de manière concise aux questions arbitraires relatives au comportement du système d'exploitation et des programmes utilisateur. Le Guide de suivi dynamique de Solaris décrit la procédure d'utilisation de DTrace pour observer, déboguer et optimiser le comportement du système. Ce manuel est également un support de référence complet quant aux outils d'observabilité intégrés de Tracer et le langage de programmation D.


Remarque –

Cette version de Solaris prend en charge les systèmes utilisant les architectures de processeur SPARC® et x86 : UltraSPARC®, SPARC64, AMD64, Pentium et Xeon EM64T. Les systèmes pris en charge sont répertoriés dans la liste de compatibilité matérielle de Solaris 10 disponible à l'adresse http://www.sun.com/bigadmin/hcl. Ce document présente les différences d'implémentation en fonction des divers types de plates-formes.

Dans ce document, x86 fait référence aux systèmes 64 bits et 32 bits composés de processeurs compatibles avec les familles de produits AMD64 ou Intel Xeon/Pentium. Pour connaître les systèmes pris en charge, reportez-vous à la liste de compatibilité matérielle de Solaris 10.


Utilisateurs de ce manuel

Si vous avez toujours souhaité comprendre le comportement de votre système, DTrace est l'outil qu'il vous faut. DTrace est un outil de suivi dynamique et complet intégré à Solaris. Il vous permet d'étudier le comportement des programmes utilisateur et d'examiner le comportement du système d'exploitation. DTrace peut être utilisé par les administrateurs système et les développeurs d'applications, ainsi que dans les environnements de production directe. DTrace vous permet d'explorer votre système, d'en comprendre le fonctionnement, de suivre les problèmes de performance dans les couches du logiciel ou de localiser la cause d'un comportement anormal. Vous constaterez que DTrace vous permet de créer vos propres programmes personnalisés pour instrumenter le système de manière dynamique et fournir des réponses concises et immédiates aux questions arbitraires que vous pouvez formuler à l'aide du langage de programmation D de DTrace.

DTrace permet à tous les utilisateurs de Solaris d'exécuter les actions suivantes :

DTrace permet aux développeurs et aux administrateurs d'exécuter les actions suivantes :

Ce guide vous apprendra tout ce que vous devez savoir sur l'utilisation de DTrace. Une connaissance de base d'un langage de programmation comme C ou d'un langage de script comme awk(1) ou perl(1) vous permettra d'acquérir plus rapidement la maîtrise de DTrace et du langage de programmation D, mais il n'est pas nécessaire d'être un expert dans ces domaines de compétence. Si vous n'avez jamais rédigé de programme ou de script dans l'un des langages précédemment cités, la section Informations connexes vous indique d'autres documents qui pourront vous être utiles.

Organisation de ce document

Le Chapitre1Introduction présente succinctement aux lecteurs le logiciel DTrace et le langage de programmation D. Le Chapitre2Types, opérateurs et expressions, le Chapitre3Variables et le Chapitre4Structure de programme D présentent ensuite de façon plus approfondie les bases du langage D, ainsi que la méthode de conversion des programmes D en instrumentations dynamiques. Tous les lecteurs doivent commencer par lire ce premier groupe de chapitres.

Le Chapitre5Pointeurs et ensembles, le Chapitre6Chaînes de caractères, le Chapitre7Structs et Unions et le Chapitre8Définitions des types et des constantes présentent le reste des fonctions du langage D ; la plupart d'entre elles seront déjà connues des programmeurs en langage C, C++ et JavaTM. Les lecteurs qui ne connaissent pas ces langages doivent lire ces chapitres alors que les programmeurs plus expérimentés peuvent passer directement aux chapitres ultérieurs.

Le Chapitre9Groupements et le Chapitre10Actions et sous-routines présentent la puissante primitive de DTrace qui permet de grouper des données et l'ensemble des actions intégrées pouvant être utilisées pour créer des expériences de suivi. Tous les lecteurs doivent lire attentivement ces chapitres.

Le Chapitre11Tampons et mise en tampon décrit les stratégies de mise en mémoire tampon des données de DTrace et la procédure de configuration correspondante. Les utilisateurs doivent lire ce chapitre une fois qu'ils ont compris la construction et le fonctionnement des programmes en D.

Le Chapitre12Format de sortie décrit les actions de formatage de la sortie en D et la stratégie par défaut de formatage des données de suivi. Les lecteurs qui connaissent la fonction printf() du langage C peuvent survoler ce chapitre. Les lecteurs qui n'ont jamais rencontré printf() précédemment doivent lire ce chapitre avec beaucoup d'attention.

Le Chapitre13Suivi spéculatif présente l'outil DTrace pour valider de manière spéculative les données vers un tampon de suivi. Ce chapitre doit être lu par les utilisateurs qui souhaitent utiliser DTrace dans une situation dans laquelle il est nécessaire d'assurer le suivi des données avant de savoir si elles répondent à la question.

Le Chapitre14Utilitaire dtrace(1M) apporte une description compléte de l'utilitaire de ligne de commande dtrace, d'une façon similaire à la page du manuel en ligne correspondante. Les lecteurs peuvent souhaiter se reporter à ce chapitre, plusieurs options de ligne de commande étant présentées dans le manuel. Le Chapitre15Scripts explique comment utiliser l'utilitaire dtrace pour construire des scripts en D exécutables et traiter les arguments de ligne de commande correspondants. Le Chapitre16Options et paramètres réglables présente les options pouvant être optimisées sur la ligne de commande ou directement dans un programme en D.

Le groupe de chapitres du Chapitre17Fournisseur dtrace et se terminant au Chapitre32Fournisseur fasttrap présente les divers fournisseurs de DTrace pouvant être utilisés pour instrumenter divers aspects du système Solaris. Tous les lecteurs devraient survoler ces chapitres pour se familiariser avec les divers fournisseurs, puis revenir lire plus en détails certains chapitres, au besoin.

Le Chapitre33Suivi des processus utilisateur propose des exemples d'utilisation de DTrace pour instrumenter des processus utilisateur. Le Chapitre34Suivi défini statiquement pour les applications utilisateur explique comment les programmeurs d'applications peuvent ajouter des fournisseurs et des sondes DTrace personnalisés aux applications utilisateur. Les développeurs ou les administrateurs de programmes utilisateur qui souhaitent utiliser DTrace pour étudier le comportement des processus utilisateur doivent lire ces chapitres.

Le Chapitre35Sécurité et les chapitres restants traitent des rubriques avancées sur la sécurité, le versionnage et les attributs de stabilité de DTrace, ainsi que de la manière d'exécuter un suivi pendant l'initialisation et un "post-mortem" avec DTrace. Ces chapitres sont dédiés à des utilisateurs expérimentés de DTrace.

Informations connexes

Les manuels et documents suivants sont liés aux tâches que vous devez exécuter avec DTrace. Nous vous conseillons de vous y référer également :

Vous pouvez partager votre expérience et vos scripts DTrace avec la communauté DTrace sur Internet à l'adresse http://www.sun.com/bigadmin/content/dtrace/.

Documentation, support et formation

Le site Web Sun fournit des informations sur les ressources supplémentaires suivantes :

Conventions typographiques

Le tableau ci-dessous décrit les conventions typographiques utilisées dans ce manuel.

Tableau P–1 Conventions typographiques

Type de caractères 

Signification 

Exemple 

AaBbCc123

Noms des commandes, fichiers et répertoires, ainsi que messages système. 

Modifiez votre fichier .login.

Utilisez ls -a pour afficher la liste de tous les fichiers.

nom_machine% Vous avez reçu du courrier.

AaBbCc123

Ce que vous entrez, par opposition à ce qui s'affiche à l'écran. 

nom_machine% su

Mot de passe :

aabbcc123

Paramètre fictif : à remplacer par un nom ou une valeur réel(le). 

La commande permettant de supprimer un fichier est rm nom_fichier.

AaBbCc123

Titres de manuel, nouveaux termes et termes importants. 

Reportez-vous au chapitre 6 du Guide de l'utilisateur.

Un cache est une copie des éléments stockés localement.

N'enregistrez pas le fichier.

Remarque : En ligne, certains éléments mis en valeur s'affichent en gras.

Invites de shell dans les exemples de commandes

Le tableau suivant présente les invites système et les invites de superutilisateur UNIX® par défaut des C shell, Bourne shell et Korn shell.

Tableau P–2 Invites de shell

Shell 

Invite 

C shell 

nom_machine%

C shell pour superutilisateur 

nom_machine#

Bourne shell et Korn shell 

$

Bourne shell et Korn shell pour superutilisateur 

#