Commit | Line | Data |
---|---|---|
0bec253c | 1 | perf-report(1) |
c1c2365a | 2 | ============== |
0bec253c IM |
3 | |
4 | NAME | |
5 | ---- | |
23ac9cbe | 6 | perf-report - Read perf.data (created by perf record) and display the profile |
0bec253c IM |
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 | |
b0a28589 | 16 | via perf record. |
0bec253c IM |
17 | |
18 | OPTIONS | |
19 | ------- | |
20 | -i:: | |
21 | --input=:: | |
efad1415 | 22 | Input file name. (default: perf.data unless stdin is a fifo) |
e04fffc3 SB |
23 | |
24 | -v:: | |
25 | --verbose:: | |
26 | Be more verbose. (show symbol address, etc) | |
27 | ||
25903407 ACM |
28 | -d:: |
29 | --dsos=:: | |
30 | Only consider symbols in these dsos. CSV that understands | |
31 | file://filename entries. | |
ca2b900f ZT |
32 | -n:: |
33 | --show-nr-samples:: | |
e3d7e183 | 34 | Show the number of samples for each symbol |
e04fffc3 SB |
35 | |
36 | --showcpuutilization:: | |
37 | Show sample percentage for different cpu modes. | |
38 | ||
ca2b900f ZT |
39 | -T:: |
40 | --threads:: | |
8d513270 | 41 | Show per-thread event counters |
c8e66720 | 42 | -c:: |
cc8b88b1 ACM |
43 | --comms=:: |
44 | Only consider symbols in these comms. CSV that understands | |
45 | file://filename entries. | |
7bec7a91 ACM |
46 | -S:: |
47 | --symbols=:: | |
48 | Only consider these symbols. CSV that understands | |
49 | file://filename entries. | |
0bec253c | 50 | |
fde0eeab NK |
51 | --symbol-filter=:: |
52 | Only show symbols that match (partially) with this filter. | |
53 | ||
e04fffc3 SB |
54 | -U:: |
55 | --hide-unresolved:: | |
56 | Only display entries resolved to a symbol. | |
57 | ||
c351c281 ACM |
58 | -s:: |
59 | --sort=:: | |
9811360e NK |
60 | Sort histogram entries by given key(s) - multiple keys can be specified |
61 | in CSV format. Following sort keys are available: | |
05484298 | 62 | pid, comm, dso, symbol, parent, cpu, srcline, weight, local_weight. |
9811360e NK |
63 | |
64 | Each key has following meaning: | |
65 | ||
66 | - comm: command (name) of the task which can be read via /proc/<pid>/comm | |
67 | - pid: command and tid of the task | |
68 | - dso: name of library or module executed at the time of sample | |
69 | - symbol: name of function executed at the time of sample | |
70 | - parent: name of function matched to the parent regex filter. Unmatched | |
71 | entries are displayed as "[other]". | |
72 | - cpu: cpu number the task ran at the time of sample | |
73 | - srcline: filename and line number executed at the time of sample. The | |
f5d05bce | 74 | DWARF debugging info must be provided. |
9811360e NK |
75 | |
76 | By default, comm, dso and symbol keys are used. | |
77 | (i.e. --sort comm,dso,symbol) | |
78 | ||
79 | If --branch-stack option is used, following sort keys are also | |
80 | available: | |
81 | dso_from, dso_to, symbol_from, symbol_to, mispredict. | |
82 | ||
83 | - dso_from: name of library or module branched from | |
84 | - dso_to: name of library or module branched to | |
85 | - symbol_from: name of function branched from | |
86 | - symbol_to: name of function branched to | |
87 | - mispredict: "N" for predicted branch, "Y" for mispredicted branch | |
f5d05bce AK |
88 | - in_tx: branch in TSX transaction |
89 | - abort: TSX transaction abort. | |
9811360e NK |
90 | |
91 | And default sort keys are changed to comm, dso_from, symbol_from, dso_to | |
92 | and symbol_to, see '--branch-stack'. | |
c351c281 | 93 | |
e04fffc3 SB |
94 | -p:: |
95 | --parent=<regex>:: | |
9811360e NK |
96 | A regex filter to identify parent. The parent is a caller of this |
97 | function and searched through the callchain, thus it requires callchain | |
98 | information recorded. The pattern is in the exteneded regex format and | |
99 | defaults to "\^sys_|^do_page_fault", see '--sort parent'. | |
e04fffc3 SB |
100 | |
101 | -x:: | |
102 | --exclude-other:: | |
103 | Only display entries with parent-match. | |
104 | ||
52d422de | 105 | -w:: |
e04fffc3 | 106 | --column-widths=<width[,width...]>:: |
52d422de ACM |
107 | Force each column width to the provided list, for large terminal |
108 | readability. | |
109 | ||
110 | -t:: | |
111 | --field-separator=:: | |
52d422de | 112 | Use a special separator character and don't pad with spaces, replacing |
e04fffc3 | 113 | all occurrences of this separator in symbol names (and other output) |
52d422de ACM |
114 | with a '.' character, that thus it's the only non valid separator. |
115 | ||
e04fffc3 SB |
116 | -D:: |
117 | --dump-raw-trace:: | |
118 | Dump raw trace in ASCII. | |
119 | ||
99571ab3 | 120 | -g [type,min[,limit],order[,key]]:: |
ec7ba4ea | 121 | --call-graph:: |
6581f6e3 NK |
122 | Display call chains using type, min percent threshold, optional print |
123 | limit and order. | |
ec7ba4ea | 124 | type can be either: |
e04fffc3 | 125 | - flat: single column, linear exposure of call chains. |
ec7ba4ea FW |
126 | - graph: use a graph tree, displaying absolute overhead rates. |
127 | - fractal: like graph, but displays relative rates. Each branch of | |
128 | the tree is considered as a new profiled object. + | |
d797fdc5 SL |
129 | |
130 | order can be either: | |
131 | - callee: callee based call graph. | |
132 | - caller: inverted caller based call graph. | |
133 | ||
99571ab3 AK |
134 | key can be: |
135 | - function: compare on functions | |
136 | - address: compare on individual code addresses | |
137 | ||
138 | Default: fractal,0.5,callee,function. | |
d797fdc5 SL |
139 | |
140 | -G:: | |
141 | --inverted:: | |
142 | alias for inverted caller based call graph. | |
ec7ba4ea | 143 | |
b21484f1 GP |
144 | --ignore-callees=<regex>:: |
145 | Ignore callees of the function(s) matching the given regex. | |
146 | This has the effect of collecting the callers of each such | |
147 | function into one place in the call-graph tree. | |
148 | ||
e04fffc3 SB |
149 | --pretty=<key>:: |
150 | Pretty printing style. key: normal, raw | |
151 | ||
8b9e74eb ACM |
152 | --stdio:: Use the stdio interface. |
153 | ||
154 | --tui:: Use the TUI interface, that is integrated with annotate and allows | |
155 | zooming into DSOs or threads, among other features. Use of --tui | |
156 | requires a tty, if one is not present, as when piping to other | |
157 | commands, the stdio interface is used. | |
158 | ||
c31a9457 PE |
159 | --gtk:: Use the GTK2 interface. |
160 | ||
e04fffc3 SB |
161 | -k:: |
162 | --vmlinux=<file>:: | |
163 | vmlinux pathname | |
164 | ||
b226a5a7 DA |
165 | --kallsyms=<file>:: |
166 | kallsyms pathname | |
167 | ||
e04fffc3 SB |
168 | -m:: |
169 | --modules:: | |
170 | Load module symbols. WARNING: This should only be used with -k and | |
171 | a LIVE kernel. | |
172 | ||
173 | -f:: | |
174 | --force:: | |
175 | Don't complain, do it. | |
176 | ||
ec5761ea DA |
177 | --symfs=<directory>:: |
178 | Look for files with symbols relative to this directory. | |
179 | ||
c8e66720 | 180 | -C:: |
5d67be97 AB |
181 | --cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can |
182 | be provided as a comma-separated list with no space: 0,1. Ranges of | |
183 | CPUs are specified with -: 0-2. Default is to report samples on all | |
184 | CPUs. | |
185 | ||
f69b64f7 AK |
186 | -M:: |
187 | --disassembler-style=:: Set disassembler style for objdump. | |
188 | ||
64c6f0c7 ACM |
189 | --source:: |
190 | Interleave source code with assembly code. Enabled by default, | |
191 | disable with --no-source. | |
192 | ||
193 | --asm-raw:: | |
194 | Show raw instruction encoding of assembly instructions. | |
195 | ||
3f2728bd ACM |
196 | --show-total-period:: Show a column with the sum of periods. |
197 | ||
fbe96f29 SE |
198 | -I:: |
199 | --show-info:: | |
200 | Display extended information about the perf.data file. This adds | |
201 | information which may be very large and thus may clutter the display. | |
202 | It currently includes: cpu and numa topology of the host system. | |
203 | ||
b50311dc RAV |
204 | -b:: |
205 | --branch-stack:: | |
206 | Use the addresses of sampled taken branches instead of the instruction | |
207 | address to build the histograms. To generate meaningful output, the | |
993ac88d SE |
208 | perf.data file must have been obtained using perf record -b or |
209 | perf record --branch-filter xxx where xxx is a branch filter option. | |
210 | perf report is able to auto-detect whether a perf.data file contains | |
211 | branch stacks and it will automatically switch to the branch view mode, | |
212 | unless --no-branch-stack is used. | |
b50311dc | 213 | |
7a4ec938 MB |
214 | --objdump=<path>:: |
215 | Path to objdump binary. | |
216 | ||
01d14f16 NK |
217 | --group:: |
218 | Show event group information together. | |
219 | ||
328ccdac NK |
220 | --demangle:: |
221 | Demangle symbol names to human readable form. It's enabled by default, | |
222 | disable with --no-demangle. | |
223 | ||
064f1981 NK |
224 | --percent-limit:: |
225 | Do not show entries which have an overhead under that percent. | |
226 | (Default: 0). | |
227 | ||
0bec253c IM |
228 | SEE ALSO |
229 | -------- | |
64c6f0c7 | 230 | linkperf:perf-stat[1], linkperf:perf-annotate[1] |