diff options
Diffstat (limited to 'tools/perf/Documentation/perf-trace.txt')
| -rw-r--r-- | tools/perf/Documentation/perf-trace.txt | 130 |
1 files changed, 86 insertions, 44 deletions
diff --git a/tools/perf/Documentation/perf-trace.txt b/tools/perf/Documentation/perf-trace.txt index 122ec9dc485..fae38d9a44a 100644 --- a/tools/perf/Documentation/perf-trace.txt +++ b/tools/perf/Documentation/perf-trace.txt @@ -3,68 +3,110 @@ perf-trace(1) NAME ---- -perf-trace - Read perf.data (created by perf record) and display trace output +perf-trace - strace inspired tool SYNOPSIS -------- [verse] -'perf trace' {record <script> | report <script> [args] } +'perf trace' +'perf trace record' DESCRIPTION ----------- -This command reads the input file and displays the trace recorded. +This command will show the events associated with the target, initially +syscalls, but other system events like pagefaults, task lifetime events, +scheduling events, etc. -There are several variants of perf trace: +This is a live mode tool in addition to working with perf.data files like +the other perf tools. Files can be generated using the 'perf record' command +but the session needs to include the raw_syscalls events (-e 'raw_syscalls:*'). +Alernatively, the 'perf trace record' can be used as a shortcut to +automatically include the raw_syscalls events when writing events to a file. - 'perf trace' to see a detailed trace of the workload that was - recorded. +The following options apply to perf trace; options to perf trace record are +found in the perf record man page. - You can also run a set of pre-canned scripts that aggregate and - summarize the raw trace data in various ways (the list of scripts is - available via 'perf trace -l'). The following variants allow you to - record and run those scripts: +OPTIONS +------- - 'perf trace record <script>' to record the events required for 'perf - trace report'. <script> is the name displayed in the output of - 'perf trace --list' i.e. the actual script name minus any language - extension. +-a:: +--all-cpus:: + System-wide collection from all CPUs. - 'perf trace report <script>' to run and display the results of - <script>. <script> is the name displayed in the output of 'perf - trace --list' i.e. the actual script name minus any language - extension. The perf.data output from a previous run of 'perf trace - record <script>' is used and should be present for this command to - succeed. +-e:: +--expr:: + List of events to show, currently only syscall names. + Prefixing with ! shows all syscalls but the ones specified. You may + need to escape it. - See the 'SEE ALSO' section for links to language-specific - information on how to write and run your own trace scripts. +-o:: +--output=:: + Output file name. -OPTIONS -------- --D:: ---dump-raw-trace=:: - Display verbose dump of the trace data. +-p:: +--pid=:: + Record events on existing process ID (comma separated list). + +-t:: +--tid=:: + Record events on existing thread ID (comma separated list). + +-u:: +--uid=:: + Record events in threads owned by uid. Name or number. + +-v:: +--verbose=:: + Verbosity level. + +-i:: +--no-inherit:: + Child tasks do not inherit counters. + +-m:: +--mmap-pages=:: + Number of mmap data pages (must be a power of two) or size + specification with appended unit character - B/K/M/G. The + size is rounded up to have nearest pages power of two value. + +-C:: +--cpu:: +Collect samples only on the list of CPUs provided. Multiple CPUs can be provided as a +comma-separated list with no space: 0,1. Ranges of CPUs are specified with -: 0-2. +In per-thread mode with inheritance mode on (default), Events are captured only when +the thread executes on the designated CPUs. Default is to monitor all CPUs. + +--duration: + Show only events that had a duration greater than N.M ms. + +--sched: + Accrue thread runtime and provide a summary at the end of the session. + +-i +--input + Process events from a given perf data file. + +-T +--time + Print full timestamp rather time relative to first sample. --L:: ---Latency=:: - Show latency attributes (irqs/preemption disabled, etc). +--comm:: + Show process COMM right beside its ID, on by default, disable with --no-comm. --l:: ---list=:: - Display a list of available trace scripts. +-s:: +--summary:: + Show only a summary of syscalls by thread with min, max, and average times + (in msec) and relative stddev. --s ['lang']:: ---script=:: - Process trace data with the given script ([lang]:script[.ext]). - If the string 'lang' is specified in place of a script name, a - list of supported languages will be displayed instead. +-S:: +--with-summary:: + Show all syscalls followed by a summary by thread with min, max, and + average times (in msec) and relative stddev. --g:: ---gen-script=:: - Generate perf-trace.[ext] starter script for given language, - using current perf.data. +--tool_stats:: + Show tool stats such as number of times fd->pathname was discovered thru + hooking the open syscall return + vfs_getname or via reading /proc/pid/fd, etc. SEE ALSO -------- -linkperf:perf-record[1], linkperf:perf-trace-perl[1], -linkperf:perf-trace-python[1] +linkperf:perf-record[1], linkperf:perf-script[1] |
