[Ocfs2-devel] [PATCH 0/2] ocfs2: add trace event support for ocfs2

Wengang Wang wen.gang.wang at oracle.com
Wed Sep 16 15:19:44 PDT 2009


following patches add trace event support for ocfs2.
for tracepoint, see Documentation/trace/tracepoints.txt
for trace events, see Documentation/trace/events.txt

the first patch add file include/trace/events/ocfs2.h to kernel tree. it is used
to store trace declarations. it's contents are self-explained.
NOTE that each ocfs2 header file should be above "#include <linux/tracepoint.h>"

the second one is an example which adds trace event to ocfs2_file_aio_read().
NOTE that CREATE_TRACE_POINTS must be defined before including trace/event/ocfs2.h
when trace event is used.

enable/disable the trace event:
1) debugfs is need to be mount for using trace event.
	mount -t debugfs debugfs /sys/kernel/debug(or somewhere else)
2) enable/disable some specific event,
	echo '1'/'0'>/sys/kernel/debug/tracing/events/ocfs2/ocfs2_file_aio_read/enable
3) to see the trace log,
	cat /sys/kernel/debug/tracing/trace

an output example is:
[root at cool ocfs2_file_aio_read]# cat /sys/kernel/debug/tracing/trace
# tracer: nop                                      
#                                                  
#           TASK-PID    CPU#    TIMESTAMP  FUNCTION
#              | |       |          |         |    
             cat-2587  [001]   708.929889: ocfs2_file_aio_read: 0xf544bed8 0xf544bf5c 1 0

             cat-2587  [000]   708.944128: ocfs2_file_aio_read: 0xf544bed8 0xf544bf5c 1 43

examples of using filter.
1) if pid is 0, do the trace:
	echo "common_pid == 0" >/sys/kernel/debug/tracing/events/ocfs2/ocfs2_file_aio_read/filter
2) if group id not 0, do the trace:
	echo "common_tgid != 0" >filter

for filter expression, so far, see http://article.gmane.org/gmane.linux.kernel/887690?




More information about the Ocfs2-devel mailing list