The tracepoints can be found under
/sys/kernel/debug/tracing/ directory assuming that
debugfs is mounted in the standard place at the
/sys/kernel/debug directory. The
events subdirectory contains all the tracing events that may be specified and, provided the
gfs2 module is loaded, there will be a
gfs2 subdirectory containing further subdirectories, one for each GFS2 event. The contents of the
/sys/kernel/debug/tracing/events/gfs2 directory should look roughly like the following:
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
To enable all the GFS2 tracepoints, enter the following command:
echo -n 1 >/sys/kernel/debug/tracing/events/gfs2/enable
To enable a specific tracepoint, there is an
enable file in each of the individual event subdirectories. The same is true of the
filter file which can be used to set an event filter for each event or set of events. The meaning of the individual events is explained in more detail below.
The output from the tracepoints is available in ASCII or binary format. This appendix does not currently cover the binary interface. The ASCII interface is available in two ways. To list the current content of the ring buffer, you can enter the following command:
This interface is useful in cases where you are using a long-running process for a certain period of time and, after some event, want to look back at the latest captured information in the buffer. An alternative interface,
/sys/kernel/debug/tracing/trace_pipe, can be used when all the output is required. Events are read from this file as they occur; there is no historical information available through this interface. The format of the output is the same from both interfaces and is described for each of the GFS2 events in the later sections of this appendix.
A utility called
is available for reading tracepoint data. For more information on this utility, see the link in Section C.10, “References”
utility can be used in a similar way to the
utility, for example to run a command while gathering trace data from various sources.