C.2. Tracepoint
I tracepoint sono disponibili nella directory
/sys/kernel/debug/tracing/
se debugfs
è stato montato nella posizione standard in /sys/kernel/debug
. La directory events
contiene tutti gli eventi rilevanti specificati e, in presenza del modulo gfs2
, sarà presente una sottodirectory gfs2
contenente ulteriori directory, una per ogni evento GFS2. I contenuti di /sys/kernel/debug/tracing/events/gfs2
dovrebbero somigliare al seguente:
[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
Per abilitare tutti i tracepoint GFS2 eseguire il seguente comando:
[root@chywoon gfs2]# echo -n 1 >/sys/kernel/debug/tracing/events/gfs2/enable
Per abilitare un tracepoint specifico è disponibile un file
enable
in ogni sottodirectory dell'evento. Situazione simile per il file filter
, il quale può essere utilizzato per impostare un filtro per ogni evento o insieme di eventi. Il significato dei singoli eventi viene affrontato in modo più dettagliato qui di seguito.
L'output dei tracepoint è disponibile in formato ASCII o binario. L'appendice attualmente non riporta le informazioni relative all'interfaccia binaria. L'interfaccia ASCII è disponibile in due modi. Per elencare il contenuto corrente del ring buffer eseguire il seguente comando:
[root@chywoon gfs2]# cat /sys/kernel/debug/tracing/trace
L'interfaccia è utile se si utilizza un processo complesso per un determinato periodo di tempo e, dopo alcuni eventi, desiderate consultare le informazioni fino a quel punto acquisite nel buffer. Una interfaccia alternativa,
/sys/kernel/debug/tracing/trace_pipe
, può essere utilizzata quando è necessario consultare tutto l'output. Gli eventi vengono letti da questo file quando vengono generati; tramite questa interfaccia non sono disponibili le informazioni relative alla cronologia. Il formato dell'output è simile in entrambe le interfacce ed è descritto per ogni evento GFS2 in altre sezioni.
L'utilità
trace-cmd
è disponibile per la lettura dei dati relativi ai tracepoint. Per maggiori informazioni su questa utiliti consultare il link in Sezione C.10, «Riferimenti». trace-cmd
può essere utilizzata in modo simile a strace
, per esempio per l'esecuzione di un comando durante la raccolta delle informazioni desiderate.