Pour permettre une personnalisation, DTrace propose à ses clients plusieurs degrés de liberté importants. Pour réduire au maximum la nécessité d'un réglage spécifique, DTrace est mis en œuvre à l'aide de valeurs par défaut standard et de stratégies flexibles par défaut. Cependant, certaines situations peuvent nécessiter le réglage du comportement de DTrace au cas par cas. Ce chapitre décrit les options et paramètres réglables DTrace ainsi que les interfaces disponibles pour les modifier.
DTrace est réglé en définissant ou en activant des options. Les options disponibles sont décrites dans le tableau ci-dessous. Pour certaines options, dtrace(1M) propose une option de ligne de commande correspondante.
Tableau 16–1 Options client DTrace
Nom de l'option |
Valeur |
Alias dtrace(1M) |
Description |
Voir le chapitre |
---|---|---|---|---|
aggrate |
time |
Vitesse de lecture de groupement | ||
aggsize |
size |
Taille du tampon de groupement | ||
bufresize |
auto ou manual |
Stratégie de redimensionnement du tampon | ||
bufsize |
size |
-b |
Taille du tampon principal | |
cleanrate |
time |
Vitesse de nettoyage. À spécifier en nombre par seconde avec le suffixe hz. | ||
cpu |
scalar |
-c |
CPU sur laquelle activer le suivi | |
defaultargs |
— |
Autorise des références à des arguments de macro non spécifiés | ||
destructive |
— |
-w |
Autorise des actions destructrices | |
dynvarsize |
size |
Taille d'espace de variable dynamique | ||
flowindent |
— |
-F |
Indente une entrée de fonction et la préfixe avec -> ; annule l'indentation du retour de fonction et la préfixe avec <- | |
grabanon |
— |
-a |
Revendique un état anonyme | |
jstackframes |
scalar |
Nombre de cadres de la pile jstack() par défaut | ||
jstackstrsize |
scalar |
Taille d'espace de chaîne par défaut pour jstack() | ||
nspec |
scalar |
Nombre de spéculations | ||
quiet |
— |
-q |
Ne fournit que des données explicitement suivies | |
specsize |
size |
|
Taille du tampon de spéculation | |
strsize |
size |
Taille de chaîne | ||
stackframes |
scalar |
Nombre de cadres de la pile | ||
stackindent |
scalar |
Nombre d'espaces à utiliser pour l'indentation de la sortie de stack() et de ustack() | ||
statusrate |
time |
Vitesse de vérification du statut |
|
|
switchrate |
time |
Vitesse de commutation du tampon | ||
ustackframes |
scalar |
Nombre de cadres de la pile utilisateur |
Les valeurs exprimant des tailles peuvent être accompagnées d'un suffixe (facultatif) k, m, g ou t pour indiquer des kiloctets, mégaoctets, gigaoctets et téraoctets, respectivement. Les valeurs exprimant des heures peuvent être accompagnées d'un suffxe (facultatif) ns, us, ms, s ou hz pour indiquer des nanosecondes, microsecondes, millisecondes, secondes et nombre par seconde, respectivement.
Des options peuvent être définies dans un script D à l'aide de #pragma D suivi de la chaîne option et du nom de l'option. Si l'option prend une valeur, son nom doit être suivi d'un signe égal (=) et de la valeur. Les exemples suivants illustrent tous des paramètres d'option valides :
#pragma D option nspec=4 #pragma D option grabanon #pragma D option bufsize=2g #pragma D option switchrate=10hz #pragma D option aggrate=100us #pragma D option bufresize=manual
La commande dtrace(1M) accepte également la définition d'option via la ligne de commande en tant qu'argument pour l'option -x. Exemple :
# dtrace -x nspec=4 -x grabanon -x bufsize=2g \ -x switchrate=10hz -x aggrate=100us -x bufresize=manual |
Si une option non valide est spécifiée, dtrace indique que le nom de l'option n'est pas valide et se ferme :
# dtrace -x wombats=25 dtrace: failed to set option -x wombats: Invalid option name # |
De même, si une valeur d'option n'est pas valide pour l'option concernée, dtrace indique que la valeur n'est pas valide :
# dtrace -x bufsize=100wombats dtrace: failed to set option -x bufsize: Invalid value for specified option # |
Si une option est définie plusieurs fois, les paramètres suivants remplacent les paramètres précédents. Certaines options, comme grabanon, peuvent uniquement être définies. La présence d'une telle option la définit et vous ne pouvez pas l'annuler ultérieurement.
Les options définies pour une activation anonyme seront honorées par le client DTrace revendiquant l'état anonyme. Pour plus d'informations sur l'activation du suivi anonyme, reportez-vous au Chapitre36Suivi anonyme.