Chapter 19. Tracing latencies with trace-cmd
The trace-cmd utility is a front end to the ftrace utility. By using trace-cmd, you can enable ftrace actions, without the need to write to the /sys/kernel/debug/tracing/ directory. trace-cmd does not add any overhead on its installation.
Prerequisites
- You have administrator privileges.
19.1. Installing trace-cmd Copy linkLink copied to clipboard!
The trace-cmd utility provides a front-end to the ftrace utility.
Prerequisites
- You have administrator privileges.
Procedure
Install the
trace-cmdutility.# yum install trace-cmd
19.2. Running trace-cmd Copy linkLink copied to clipboard!
You can use the trace-cmd utility to access all ftrace functionalities.
Prerequisites
- You have administrator privileges.
Procedure
Enter
trace-cmd commandwhere
commandis anftraceoption.NoteSee the
trace-cmd(1)man page for a complete list of commands and options. Most of the individual commands also have their own man pages,trace-cmd-command.
19.3. trace-cmd examples Copy linkLink copied to clipboard!
The command examples show how to trace kernel functions by using the trace-cmd utility.
Examples
Enable and start recording functions executing within the kernel while myapp runs.
# trace-cmd record -p function myappThis records functions from all CPUs and all tasks, even those not related to myapp.
Display the result.
# trace-cmd reportRecord only functions that start with sched while myapp runs.
# trace-cmd record -p function -l 'sched*' myappEnable all the IRQ events.
# trace-cmd start -e irqStart the
wakeup_rttracer.# trace-cmd start -p wakeup_rtStart the
preemptirqsofftracer, while disabling function tracing.# trace-cmd start -p preemptirqsoff -dNoteThe version of
trace-cmdin RHEL 8 turns offftrace_enabledinstead of using thefunction-traceoption. You can enableftraceagain withtrace-cmd start -pfunction.Restore the state in which the system was before
trace-cmdstarted modifying it.# trace-cmd start -p nopThis is important if you want to use the
debugfsfile system after usingtrace-cmd, whether or not the system was restarted in the meantime.Trace a single trace point.
# trace-cmd record -e sched_wakeup ls /binStop tracing.
# trace-cmd record stop