perf-report(1) ============== NAME ---- perf-report - Read perf.data (created by perf record) and display the profile SYNOPSIS -------- [verse] 'perf report' [-i <file> | --input=file] DESCRIPTION ----------- This command displays the performance counter profile information recorded via perf record. OPTIONS ------- -i:: --input=:: Input file name. (default: perf.data unless stdin is a fifo) -v:: --verbose:: Be more verbose. (show symbol address, etc) -d:: --dsos=:: Only consider symbols in these dsos. CSV that understands file://filename entries. -n:: --show-nr-samples:: Show the number of samples for each symbol --showcpuutilization:: Show sample percentage for different cpu modes. -T:: --threads:: Show per-thread event counters -c:: --comms=:: Only consider symbols in these comms. CSV that understands file://filename entries. -S:: --symbols=:: Only consider these symbols. CSV that understands file://filename entries. --symbol-filter=:: Only show symbols that match (partially) with this filter. -U:: --hide-unresolved:: Only display entries resolved to a symbol. -s:: --sort=:: Sort by key(s): pid, comm, dso, symbol, parent. -p:: --parent=<regex>:: regex filter to identify parent, see: '--sort parent' -x:: --exclude-other:: Only display entries with parent-match. -w:: --column-widths=<width[,width...]>:: Force each column width to the provided list, for large terminal readability. -t:: --field-separator=:: Use a special separator character and don't pad with spaces, replacing all occurrences of this separator in symbol names (and other output) with a '.' character, that thus it's the only non valid separator. -D:: --dump-raw-trace:: Dump raw trace in ASCII. -g [type,min[,limit],order]:: --call-graph:: Display call chains using type, min percent threshold, optional print limit and order. type can be either: - flat: single column, linear exposure of call chains. - graph: use a graph tree, displaying absolute overhead rates. - fractal: like graph, but displays relative rates. Each branch of the tree is considered as a new profiled object. + order can be either: - callee: callee based call graph. - caller: inverted caller based call graph. Default: fractal,0.5,callee. -G:: --inverted:: alias for inverted caller based call graph. --pretty=<key>:: Pretty printing style. key: normal, raw --stdio:: Use the stdio interface. --tui:: Use the TUI interface, that is integrated with annotate and allows zooming into DSOs or threads, among other features. Use of --tui requires a tty, if one is not present, as when piping to other commands, the stdio interface is used. --gtk:: Use the GTK2 interface. -k:: --vmlinux=<file>:: vmlinux pathname --kallsyms=<file>:: kallsyms pathname -m:: --modules:: Load module symbols. WARNING: This should only be used with -k and a LIVE kernel. -f:: --force:: Don't complain, do it. --symfs=<directory>:: Look for files with symbols relative to this directory. -C:: --cpu:: Only report samples for 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. Default is to report samples on all CPUs. -M:: --disassembler-style=:: Set disassembler style for objdump. --source:: Interleave source code with assembly code. Enabled by default, disable with --no-source. --asm-raw:: Show raw instruction encoding of assembly instructions. --show-total-period:: Show a column with the sum of periods. -I:: --show-info:: Display extended information about the perf.data file. This adds information which may be very large and thus may clutter the display. It currently includes: cpu and numa topology of the host system. -b:: --branch-stack:: Use the addresses of sampled taken branches instead of the instruction address to build the histograms. To generate meaningful output, the perf.data file must have been obtained using perf record -b or perf record --branch-filter xxx where xxx is a branch filter option. perf report is able to auto-detect whether a perf.data file contains branch stacks and it will automatically switch to the branch view mode, unless --no-branch-stack is used. SEE ALSO -------- linkperf:perf-stat[1], linkperf:perf-annotate[1]