3.10. Latency Tracing Using trace-cmd
trace-cmd
is a front-end tool to ftrace. It can enable the ftrace interactions described earlier without needing to write into the /sys/kernel/debug/tracing/
directory. It can be installed without the special tracing kernel variants, and it does not add any overhead when it is installed.
- To install the
trace-cmd
tool, enter the following command asroot
:~]#
yum install trace-cmd
- To start the utility, type
trace-cmd
at the shell prompt, along with the options you require, using the following syntax:~]#
trace-cmd command
Some examples of commands are:~]#
trace-cmd record -p function myapp
Enable and start recording functions executing within the kernel while myapp runs. It records functions from all CPUS and all tasks, even those not related to myapp.~]#
trace-cmd report
Display the result.~]#
trace-cmd record -p function -l 'sched*' myapp
Record only functions that start withsched
while myapp runs.~]#
trace-cmd start -e irq
Enable all the IRQ events.~]#
trace-cmd start -p wakeup_rt
Start thewakeup_rt
tracer.~]#
trace-cmd start -p preemptirqsoff -d
Start thepreemptirqsoff
tracer but disable function tracing in doing so. Note: the version of trace-cmd in Red Hat Enterprise Linux 7 turns offftrace_enabled
instead of using thefunction-trace
option. You can enable it again withtrace-cmd start -p function
.~]#
trace-cmd start -p nop
Restore the state in which the system was before trace-cmd started modifying it. This is important if you want to use the debugfs file system after using trace-cmd, whether or not the system was restarted in the meantime.
Note
See the trace-cmd(1) man page for a complete list of commands and options. All the individual commands also have their own man pages, trace-cmd-command. For further information about event tracing and function tracer, see Appendix A, Event Tracing and Appendix B, Detailed Description of Ftrace. - In this example, the
trace-cmd
utility will trace a single trace point:~]#
trace-cmd record -e sched_wakeup ls /bin