| Ingo Molnar | 0bec253 | 2009-05-26 09:17:18 +0200 | [diff] [blame] | 1 | perf-report(1) | 
| Ingo Molnar | c1c2365 | 2009-05-30 12:38:51 +0200 | [diff] [blame] | 2 | ============== | 
| Ingo Molnar | 0bec253 | 2009-05-26 09:17:18 +0200 | [diff] [blame] | 3 |  | 
 | 4 | NAME | 
 | 5 | ---- | 
| Ingo Molnar | 23ac9cb | 2009-05-27 09:33:18 +0200 | [diff] [blame] | 6 | perf-report - Read perf.data (created by perf record) and display the profile | 
| Ingo Molnar | 0bec253 | 2009-05-26 09:17:18 +0200 | [diff] [blame] | 7 |  | 
 | 8 | SYNOPSIS | 
 | 9 | -------- | 
 | 10 | [verse] | 
 | 11 | 'perf report' [-i <file> | --input=file] | 
 | 12 |  | 
 | 13 | DESCRIPTION | 
 | 14 | ----------- | 
 | 15 | This command displays the performance counter profile information recorded | 
| Ingo Molnar | b0a2858 | 2009-06-23 16:39:53 +0200 | [diff] [blame] | 16 | via perf record. | 
| Ingo Molnar | 0bec253 | 2009-05-26 09:17:18 +0200 | [diff] [blame] | 17 |  | 
 | 18 | OPTIONS | 
 | 19 | ------- | 
 | 20 | -i:: | 
 | 21 | --input=:: | 
| Robert Richter | efad141 | 2011-12-07 10:02:54 +0100 | [diff] [blame] | 22 |         Input file name. (default: perf.data unless stdin is a fifo) | 
| Shawn Bohrer | e04fffc | 2010-11-30 19:57:17 -0600 | [diff] [blame] | 23 |  | 
 | 24 | -v:: | 
 | 25 | --verbose:: | 
 | 26 |         Be more verbose. (show symbol address, etc) | 
 | 27 |  | 
| Arnaldo Carvalho de Melo | 2590340 | 2009-06-30 19:01:20 -0300 | [diff] [blame] | 28 | -d:: | 
 | 29 | --dsos=:: | 
 | 30 | 	Only consider symbols in these dsos. CSV that understands | 
 | 31 | 	file://filename entries. | 
| Zeev Tarantov | ca2b900 | 2009-11-09 13:26:13 +0200 | [diff] [blame] | 32 | -n:: | 
 | 33 | --show-nr-samples:: | 
| Arnaldo Carvalho de Melo | e3d7e18 | 2009-07-11 12:18:37 -0300 | [diff] [blame] | 34 | 	Show the number of samples for each symbol | 
| Shawn Bohrer | e04fffc | 2010-11-30 19:57:17 -0600 | [diff] [blame] | 35 |  | 
 | 36 | --showcpuutilization:: | 
 | 37 |         Show sample percentage for different cpu modes. | 
 | 38 |  | 
| Zeev Tarantov | ca2b900 | 2009-11-09 13:26:13 +0200 | [diff] [blame] | 39 | -T:: | 
 | 40 | --threads:: | 
| Brice Goglin | 8d51327 | 2009-08-07 13:55:24 +0200 | [diff] [blame] | 41 | 	Show per-thread event counters | 
| David Ahern | c8e6672 | 2011-11-13 11:30:08 -0700 | [diff] [blame] | 42 | -c:: | 
| Arnaldo Carvalho de Melo | cc8b88b | 2009-06-30 19:01:21 -0300 | [diff] [blame] | 43 | --comms=:: | 
 | 44 | 	Only consider symbols in these comms. CSV that understands | 
 | 45 | 	file://filename entries. | 
| Arnaldo Carvalho de Melo | 7bec7a9 | 2009-06-30 19:01:22 -0300 | [diff] [blame] | 46 | -S:: | 
 | 47 | --symbols=:: | 
 | 48 | 	Only consider these symbols. CSV that understands | 
 | 49 | 	file://filename entries. | 
| Ingo Molnar | 0bec253 | 2009-05-26 09:17:18 +0200 | [diff] [blame] | 50 |  | 
| Namhyung Kim | fde0eea | 2012-03-19 11:53:48 +0900 | [diff] [blame] | 51 | --symbol-filter=:: | 
 | 52 | 	Only show symbols that match (partially) with this filter. | 
 | 53 |  | 
| Shawn Bohrer | e04fffc | 2010-11-30 19:57:17 -0600 | [diff] [blame] | 54 | -U:: | 
 | 55 | --hide-unresolved:: | 
 | 56 |         Only display entries resolved to a symbol. | 
 | 57 |  | 
| Arnaldo Carvalho de Melo | c351c28 | 2009-12-16 13:49:27 -0200 | [diff] [blame] | 58 | -s:: | 
 | 59 | --sort=:: | 
 | 60 | 	Sort by key(s): pid, comm, dso, symbol, parent. | 
 | 61 |  | 
| Shawn Bohrer | e04fffc | 2010-11-30 19:57:17 -0600 | [diff] [blame] | 62 | -p:: | 
 | 63 | --parent=<regex>:: | 
 | 64 |         regex filter to identify parent, see: '--sort parent' | 
 | 65 |  | 
 | 66 | -x:: | 
 | 67 | --exclude-other:: | 
 | 68 |         Only display entries with parent-match. | 
 | 69 |  | 
| Arnaldo Carvalho de Melo | 52d422d | 2009-07-10 22:47:28 -0300 | [diff] [blame] | 70 | -w:: | 
| Shawn Bohrer | e04fffc | 2010-11-30 19:57:17 -0600 | [diff] [blame] | 71 | --column-widths=<width[,width...]>:: | 
| Arnaldo Carvalho de Melo | 52d422d | 2009-07-10 22:47:28 -0300 | [diff] [blame] | 72 | 	Force each column width to the provided list, for large terminal | 
 | 73 | 	readability. | 
 | 74 |  | 
 | 75 | -t:: | 
 | 76 | --field-separator=:: | 
 | 77 |  | 
 | 78 | 	Use a special separator character and don't pad with spaces, replacing | 
| Shawn Bohrer | e04fffc | 2010-11-30 19:57:17 -0600 | [diff] [blame] | 79 | 	all occurrences of this separator in symbol names (and other output) | 
| Arnaldo Carvalho de Melo | 52d422d | 2009-07-10 22:47:28 -0300 | [diff] [blame] | 80 | 	with a '.' character, that thus it's the only non valid separator. | 
 | 81 |  | 
| Shawn Bohrer | e04fffc | 2010-11-30 19:57:17 -0600 | [diff] [blame] | 82 | -D:: | 
 | 83 | --dump-raw-trace:: | 
 | 84 |         Dump raw trace in ASCII. | 
 | 85 |  | 
| Namhyung Kim | 6581f6e | 2011-12-13 00:16:50 +0900 | [diff] [blame] | 86 | -g [type,min[,limit],order]:: | 
| Frederic Weisbecker | ec7ba4e | 2009-08-31 03:32:03 +0200 | [diff] [blame] | 87 | --call-graph:: | 
| Namhyung Kim | 6581f6e | 2011-12-13 00:16:50 +0900 | [diff] [blame] | 88 |         Display call chains using type, min percent threshold, optional print | 
 | 89 | 	limit and order. | 
| Frederic Weisbecker | ec7ba4e | 2009-08-31 03:32:03 +0200 | [diff] [blame] | 90 | 	type can be either: | 
| Shawn Bohrer | e04fffc | 2010-11-30 19:57:17 -0600 | [diff] [blame] | 91 | 	- flat: single column, linear exposure of call chains. | 
| Frederic Weisbecker | ec7ba4e | 2009-08-31 03:32:03 +0200 | [diff] [blame] | 92 | 	- graph: use a graph tree, displaying absolute overhead rates. | 
 | 93 | 	- fractal: like graph, but displays relative rates. Each branch of | 
 | 94 | 		 the tree is considered as a new profiled object. + | 
| Sam Liao | d797fdc | 2011-06-07 23:49:46 +0800 | [diff] [blame] | 95 |  | 
 | 96 | 	order can be either: | 
 | 97 | 	- callee: callee based call graph. | 
 | 98 | 	- caller: inverted caller based call graph. | 
 | 99 |  | 
 | 100 | 	Default: fractal,0.5,callee. | 
 | 101 |  | 
 | 102 | -G:: | 
 | 103 | --inverted:: | 
 | 104 |         alias for inverted caller based call graph. | 
| Frederic Weisbecker | ec7ba4e | 2009-08-31 03:32:03 +0200 | [diff] [blame] | 105 |  | 
| Shawn Bohrer | e04fffc | 2010-11-30 19:57:17 -0600 | [diff] [blame] | 106 | --pretty=<key>:: | 
 | 107 |         Pretty printing style.  key: normal, raw | 
 | 108 |  | 
| Arnaldo Carvalho de Melo | 8b9e74e | 2010-08-21 10:38:16 -0300 | [diff] [blame] | 109 | --stdio:: Use the stdio interface. | 
 | 110 |  | 
 | 111 | --tui:: Use the TUI interface, that is integrated with annotate and allows | 
 | 112 |         zooming into DSOs or threads, among other features. Use of --tui | 
 | 113 | 	requires a tty, if one is not present, as when piping to other | 
 | 114 | 	commands, the stdio interface is used. | 
 | 115 |  | 
| Pekka Enberg | c31a945 | 2012-03-19 15:13:29 -0300 | [diff] [blame] | 116 | --gtk:: Use the GTK2 interface. | 
 | 117 |  | 
| Shawn Bohrer | e04fffc | 2010-11-30 19:57:17 -0600 | [diff] [blame] | 118 | -k:: | 
 | 119 | --vmlinux=<file>:: | 
 | 120 |         vmlinux pathname | 
 | 121 |  | 
| David Ahern | b226a5a | 2010-12-07 19:39:46 -0700 | [diff] [blame] | 122 | --kallsyms=<file>:: | 
 | 123 |         kallsyms pathname | 
 | 124 |  | 
| Shawn Bohrer | e04fffc | 2010-11-30 19:57:17 -0600 | [diff] [blame] | 125 | -m:: | 
 | 126 | --modules:: | 
 | 127 |         Load module symbols. WARNING: This should only be used with -k and | 
 | 128 |         a LIVE kernel. | 
 | 129 |  | 
 | 130 | -f:: | 
 | 131 | --force:: | 
 | 132 |         Don't complain, do it. | 
 | 133 |  | 
| David Ahern | ec5761e | 2010-12-09 13:27:07 -0700 | [diff] [blame] | 134 | --symfs=<directory>:: | 
 | 135 |         Look for files with symbols relative to this directory. | 
 | 136 |  | 
| David Ahern | c8e6672 | 2011-11-13 11:30:08 -0700 | [diff] [blame] | 137 | -C:: | 
| Anton Blanchard | 5d67be9 | 2011-07-04 21:57:50 +1000 | [diff] [blame] | 138 | --cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can | 
 | 139 | 	be provided as a comma-separated list with no space: 0,1. Ranges of | 
 | 140 | 	CPUs are specified with -: 0-2. Default is to report samples on all | 
 | 141 | 	CPUs. | 
 | 142 |  | 
| Andi Kleen | f69b64f | 2011-09-15 14:31:41 -0700 | [diff] [blame] | 143 | -M:: | 
 | 144 | --disassembler-style=:: Set disassembler style for objdump. | 
 | 145 |  | 
| Arnaldo Carvalho de Melo | 64c6f0c | 2011-10-06 12:48:31 -0300 | [diff] [blame] | 146 | --source:: | 
 | 147 | 	Interleave source code with assembly code. Enabled by default, | 
 | 148 | 	disable with --no-source. | 
 | 149 |  | 
 | 150 | --asm-raw:: | 
 | 151 | 	Show raw instruction encoding of assembly instructions. | 
 | 152 |  | 
| Arnaldo Carvalho de Melo | 3f2728b | 2011-10-05 16:10:06 -0300 | [diff] [blame] | 153 | --show-total-period:: Show a column with the sum of periods. | 
 | 154 |  | 
| Stephane Eranian | fbe96f2 | 2011-09-30 15:40:40 +0200 | [diff] [blame] | 155 | -I:: | 
 | 156 | --show-info:: | 
 | 157 | 	Display extended information about the perf.data file. This adds | 
 | 158 | 	information which may be very large and thus may clutter the display. | 
 | 159 | 	It currently includes: cpu and numa topology of the host system. | 
 | 160 |  | 
| Roberto Agostino Vitillo | b50311d | 2012-02-09 23:21:03 +0100 | [diff] [blame] | 161 | -b:: | 
 | 162 | --branch-stack:: | 
 | 163 | 	Use the addresses of sampled taken branches instead of the instruction | 
 | 164 | 	address to build the histograms. To generate meaningful output, the | 
| Stephane Eranian | 993ac88 | 2012-03-08 23:47:47 +0100 | [diff] [blame] | 165 | 	perf.data file must have been obtained using perf record -b or | 
 | 166 | 	perf record --branch-filter xxx where xxx is a branch filter option. | 
 | 167 | 	perf report is able to auto-detect whether a perf.data file contains | 
 | 168 | 	branch stacks and it will automatically switch to the branch view mode, | 
 | 169 | 	unless --no-branch-stack is used. | 
| Roberto Agostino Vitillo | b50311d | 2012-02-09 23:21:03 +0100 | [diff] [blame] | 170 |  | 
| Ingo Molnar | 0bec253 | 2009-05-26 09:17:18 +0200 | [diff] [blame] | 171 | SEE ALSO | 
 | 172 | -------- | 
| Arnaldo Carvalho de Melo | 64c6f0c | 2011-10-06 12:48:31 -0300 | [diff] [blame] | 173 | linkperf:perf-stat[1], linkperf:perf-annotate[1] |