123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- perf-ftrace(1)
- ==============
- NAME
- ----
- perf-ftrace - simple wrapper for kernel's ftrace functionality
- SYNOPSIS
- --------
- [verse]
- 'perf ftrace' {trace|latency} <command>
- DESCRIPTION
- -----------
- The 'perf ftrace' command provides a collection of subcommands which use
- kernel's ftrace infrastructure.
- 'perf ftrace trace' is a simple wrapper of the ftrace. It only supports
- single thread tracing currently and just reads trace_pipe in text and then
- write it to stdout.
- 'perf ftrace latency' calculates execution latency of a given function
- (optionally with BPF) and display it as a histogram.
- The following options apply to perf ftrace.
- COMMON OPTIONS
- --------------
- -p::
- --pid=::
- Trace on existing process id (comma separated list).
- --tid=::
- Trace on existing thread id (comma separated list).
- -a::
- --all-cpus::
- Force system-wide collection. Scripts run without a <command>
- normally use -a by default, while scripts run with a <command>
- normally don't - this option allows the latter to be run in
- system-wide mode.
- -C::
- --cpu=::
- Only trace for the list of CPUs provided. Multiple CPUs can
- be provided as a comma separated list with no space like: 0,1.
- Ranges of CPUs are specified with -: 0-2.
- Default is to trace on all online CPUs.
- -v::
- --verbose::
- Increase the verbosity level.
- OPTIONS for 'perf ftrace trace'
- -------------------------------
- -t::
- --tracer=::
- Tracer to use when neither -G nor -F option is not
- specified: function_graph or function.
- -F::
- --funcs::
- List available functions to trace. It accepts a pattern to
- only list interested functions.
- -D::
- --delay::
- Time (ms) to wait before starting tracing after program start.
- -m::
- --buffer-size::
- Set the size of per-cpu tracing buffer, <size> is expected to
- be a number with appended unit character - B/K/M/G.
- --inherit::
- Trace children processes spawned by our target.
- -T::
- --trace-funcs=::
- Select function tracer and set function filter on the given
- function (or a glob pattern). Multiple functions can be given
- by using this option more than once. The function argument also
- can be a glob pattern. It will be passed to 'set_ftrace_filter'
- in tracefs.
- -N::
- --notrace-funcs=::
- Select function tracer and do not trace functions given by the
- argument. Like -T option, this can be used more than once to
- specify multiple functions (or glob patterns). It will be
- passed to 'set_ftrace_notrace' in tracefs.
- --func-opts::
- List of options allowed to set:
- call-graph - Display kernel stack trace for function tracer.
- irq-info - Display irq context info for function tracer.
- -G::
- --graph-funcs=::
- Select function_graph tracer and set graph filter on the given
- function (or a glob pattern). This is useful to trace for
- functions executed from the given function. This can be used more
- than once to specify multiple functions. It will be passed to
- 'set_graph_function' in tracefs.
- -g::
- --nograph-funcs=::
- Select function_graph tracer and set graph notrace filter on the
- given function (or a glob pattern). Like -G option, this is useful
- for the function_graph tracer only and disables tracing for function
- executed from the given function. This can be used more than once to
- specify multiple functions. It will be passed to 'set_graph_notrace'
- in tracefs.
- --graph-opts::
- List of options allowed to set:
- nosleep-time - Measure on-CPU time only for function_graph tracer.
- noirqs - Ignore functions that happen inside interrupt.
- verbose - Show process names, PIDs, timestamps, etc.
- thresh=<n> - Setup trace duration threshold in microseconds.
- depth=<n> - Set max depth for function graph tracer to follow.
- OPTIONS for 'perf ftrace latency'
- ---------------------------------
- -T::
- --trace-funcs=::
- Set the function name to get the histogram. Unlike perf ftrace trace,
- it only allows single function to calculate the histogram.
- -b::
- --use-bpf::
- Use BPF to measure function latency instead of using the ftrace (it
- uses function_graph tracer internally).
- -n::
- --use-nsec::
- Use nano-second instead of micro-second as a base unit of the histogram.
- SEE ALSO
- --------
- linkperf:perf-record[1], linkperf:perf-trace[1]
|