9.2. Tracepoints
Les points de traçage se trouvent dans le répertoire /sys/kernel/debug/tracing/
, à condition que debugfs
soit monté à l'emplacement standard du répertoire /sys/kernel/debug
. Le sous-répertoire events
contient tous les événements de traçage qui peuvent être spécifiés et, à condition que le module gfs2
soit chargé, il y aura un sous-répertoire gfs2
contenant d'autres sous-répertoires, un pour chaque événement GFS2. Le contenu du répertoire /sys/kernel/debug/tracing/events/gfs2
devrait ressembler à peu près à ce qui suit :
[root@chywoon gfs2]# ls
enable gfs2_bmap gfs2_glock_queue gfs2_log_flush
filter gfs2_demote_rq gfs2_glock_state_change gfs2_pin
gfs2_block_alloc gfs2_glock_put gfs2_log_blocks gfs2_promote
Pour activer tous les tracepoints GFS2, entrez la commande suivante :
[root@chywoon gfs2]# echo -n 1 >/sys/kernel/debug/tracing/events/gfs2/enable
Pour activer un point de contrôle spécifique, il existe un fichier enable
dans chacun des sous-répertoires d'événements individuels. Il en va de même pour le fichier filter
qui peut être utilisé pour définir un filtre d'événement pour chaque événement ou ensemble d'événements. La signification des différents événements est expliquée plus en détail ci-dessous.
La sortie des tracepoints est disponible en format ASCII ou binaire. Cette annexe ne couvre pas actuellement l'interface binaire. L'interface ASCII est disponible de deux manières. Pour obtenir la liste du contenu actuel du tampon circulaire, vous pouvez entrer la commande suivante :
[root@chywoon gfs2]# cat /sys/kernel/debug/tracing/trace
Cette interface est utile lorsque vous utilisez un processus de longue durée pendant un certain temps et que, après un événement, vous souhaitez consulter les dernières informations capturées dans la mémoire tampon. Une autre interface, /sys/kernel/debug/tracing/trace_pipe
, peut être utilisée lorsque toutes les données de sortie sont nécessaires. Les événements sont lus dans ce fichier au fur et à mesure qu'ils se produisent ; aucune information historique n'est disponible via cette interface. Le format de sortie est le même pour les deux interfaces et est décrit pour chacun des événements GFS2 dans les sections suivantes de cette annexe.
Un utilitaire appelé trace-cmd
est disponible pour lire les données des points de contrôle. Pour plus d'informations sur cet utilitaire, voir http://lwn.net/Articles/341902/. L'utilitaire trace-cmd
peut être utilisé de la même manière que l'utilitaire strace
, par exemple pour exécuter une commande tout en recueillant des données de traçage à partir de diverses sources.