]>
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 | ||
27fafab5 NK |
28 | -q:: |
29 | --quiet:: | |
30 | Do not show any message. (Suppress -v) | |
31 | ||
ca2b900f ZT |
32 | -n:: |
33 | --show-nr-samples:: | |
e3d7e183 | 34 | Show the number of samples for each symbol |
e04fffc3 | 35 | |
b272a59d | 36 | --show-cpu-utilization:: |
e04fffc3 SB |
37 | Show sample percentage for different cpu modes. |
38 | ||
ca2b900f ZT |
39 | -T:: |
40 | --threads:: | |
1f91d5fd NK |
41 | Show per-thread event counters. The input data file should be recorded |
42 | with -s option. | |
c8e66720 | 43 | -c:: |
cc8b88b1 ACM |
44 | --comms=:: |
45 | Only consider symbols in these comms. CSV that understands | |
f2148330 NK |
46 | file://filename entries. This option will affect the percentage of |
47 | the overhead column. See --percentage for more info. | |
e03eaa40 DA |
48 | --pid=:: |
49 | Only show events for given process ID (comma separated list). | |
50 | ||
51 | --tid=:: | |
52 | Only show events for given thread ID (comma separated list). | |
f2148330 NK |
53 | -d:: |
54 | --dsos=:: | |
55 | Only consider symbols in these dsos. CSV that understands | |
56 | file://filename entries. This option will affect the percentage of | |
57 | the overhead column. See --percentage for more info. | |
7bec7a91 ACM |
58 | -S:: |
59 | --symbols=:: | |
60 | Only consider these symbols. CSV that understands | |
f2148330 NK |
61 | file://filename entries. This option will affect the percentage of |
62 | the overhead column. See --percentage for more info. | |
0bec253c | 63 | |
fde0eeab NK |
64 | --symbol-filter=:: |
65 | Only show symbols that match (partially) with this filter. | |
66 | ||
e04fffc3 SB |
67 | -U:: |
68 | --hide-unresolved:: | |
69 | Only display entries resolved to a symbol. | |
70 | ||
c351c281 ACM |
71 | -s:: |
72 | --sort=:: | |
9811360e NK |
73 | Sort histogram entries by given key(s) - multiple keys can be specified |
74 | in CSV format. Following sort keys are available: | |
d890a98c HB |
75 | pid, comm, dso, symbol, parent, cpu, socket, srcline, weight, |
76 | local_weight, cgroup_id. | |
9811360e NK |
77 | |
78 | Each key has following meaning: | |
79 | ||
80 | - comm: command (name) of the task which can be read via /proc/<pid>/comm | |
81 | - pid: command and tid of the task | |
82 | - dso: name of library or module executed at the time of sample | |
b74d12d5 | 83 | - dso_size: size of library or module executed at the time of sample |
9811360e | 84 | - symbol: name of function executed at the time of sample |
7768f8da | 85 | - symbol_size: size of function executed at the time of sample |
9811360e NK |
86 | - parent: name of function matched to the parent regex filter. Unmatched |
87 | entries are displayed as "[other]". | |
88 | - cpu: cpu number the task ran at the time of sample | |
2e7ea3ab | 89 | - socket: processor socket number the task ran at the time of sample |
9811360e | 90 | - srcline: filename and line number executed at the time of sample. The |
f5d05bce | 91 | DWARF debugging info must be provided. |
734ac47e | 92 | - srcfile: file name of the source file of the samples. Requires dwarf |
31191a85 | 93 | information. |
475eeab9 AK |
94 | - weight: Event specific weight, e.g. memory latency or transaction |
95 | abort cost. This is the global weight. | |
96 | - local_weight: Local weight version of the weight above. | |
d890a98c | 97 | - cgroup_id: ID derived from cgroup namespace device and inode numbers. |
b629f3e9 | 98 | - cgroup: cgroup pathname in the cgroupfs. |
475eeab9 | 99 | - transaction: Transaction abort flags. |
a2ce067e NK |
100 | - overhead: Overhead percentage of sample |
101 | - overhead_sys: Overhead percentage of sample running in system mode | |
102 | - overhead_us: Overhead percentage of sample running in user mode | |
103 | - overhead_guest_sys: Overhead percentage of sample running in system mode | |
104 | on guest machine | |
105 | - overhead_guest_us: Overhead percentage of sample running in user mode on | |
106 | guest machine | |
107 | - sample: Number of sample | |
108 | - period: Raw number of event count of sample | |
3723908d AK |
109 | - time: Separate the samples by time stamp with the resolution specified by |
110 | --time-quantum (default 100ms). Specify with overhead and before it. | |
9811360e NK |
111 | |
112 | By default, comm, dso and symbol keys are used. | |
113 | (i.e. --sort comm,dso,symbol) | |
114 | ||
115 | If --branch-stack option is used, following sort keys are also | |
116 | available: | |
9811360e NK |
117 | |
118 | - dso_from: name of library or module branched from | |
119 | - dso_to: name of library or module branched to | |
120 | - symbol_from: name of function branched from | |
121 | - symbol_to: name of function branched to | |
508be0df AK |
122 | - srcline_from: source file and line branched from |
123 | - srcline_to: source file and line branched to | |
9811360e | 124 | - mispredict: "N" for predicted branch, "Y" for mispredicted branch |
f5d05bce AK |
125 | - in_tx: branch in TSX transaction |
126 | - abort: TSX transaction abort. | |
0e332f03 | 127 | - cycles: Cycles in basic block |
9811360e NK |
128 | |
129 | And default sort keys are changed to comm, dso_from, symbol_from, dso_to | |
130 | and symbol_to, see '--branch-stack'. | |
c351c281 | 131 | |
239ca3e7 JY |
132 | When the sort key symbol is specified, columns "IPC" and "IPC Coverage" |
133 | are enabled automatically. Column "IPC" reports the average IPC per function | |
134 | and column "IPC coverage" reports the percentage of instructions with | |
135 | sampled IPC in this function. IPC means Instruction Per Cycle. If it's low, | |
136 | it indicates there may be a performance bottleneck when the function is | |
137 | executed, such as a memory access bottleneck. If a function has high overhead | |
138 | and low IPC, it's worth further analyzing it to optimize its performance. | |
139 | ||
c6f5f6b6 NK |
140 | If the --mem-mode option is used, the following sort keys are also available |
141 | (incompatible with --branch-stack): | |
142 | symbol_daddr, dso_daddr, locked, tlb, mem, snoop, dcacheline. | |
143 | ||
144 | - symbol_daddr: name of data symbol being executed on at the time of sample | |
145 | - dso_daddr: name of library or module containing the data being executed | |
146 | on at the time of the sample | |
147 | - locked: whether the bus was locked at the time of the sample | |
148 | - tlb: type of tlb access for the data at the time of the sample | |
149 | - mem: type of memory access for the data at the time of the sample | |
150 | - snoop: type of snoop (if any) for the data at the time of the sample | |
151 | - dcacheline: the cacheline the data address is on at the time of the sample | |
8780fb25 | 152 | - phys_daddr: physical address of data being executed on at the time of sample |
c6f5f6b6 NK |
153 | |
154 | And the default sort keys are changed to local_weight, mem, sym, dso, | |
155 | symbol_daddr, dso_daddr, snoop, tlb, locked, see '--mem-mode'. | |
156 | ||
4c96bee0 NK |
157 | If the data file has tracepoint event(s), following (dynamic) sort keys |
158 | are also available: | |
159 | trace, trace_fields, [<event>.]<field>[/raw] | |
160 | ||
161 | - trace: pretty printed trace output in a single column | |
162 | - trace_fields: fields in tracepoints in separate columns | |
163 | - <field name>: optional event and field name for a specific field | |
164 | ||
165 | The last form consists of event and field names. If event name is | |
166 | omitted, it searches all events for matching field name. The matched | |
167 | field will be shown only for the event has the field. The event name | |
168 | supports substring match so user doesn't need to specify full subsystem | |
169 | and event name everytime. For example, 'sched:sched_switch' event can | |
170 | be shortened to 'switch' as long as it's not ambiguous. Also event can | |
171 | be specified by its index (starting from 1) preceded by the '%'. | |
172 | So '%1' is the first event, '%2' is the second, and so on. | |
173 | ||
174 | The field name can have '/raw' suffix which disables pretty printing | |
175 | and shows raw field value like hex numbers. The --raw-trace option | |
176 | has the same effect for all dynamic sort keys. | |
177 | ||
178 | The default sort keys are changed to 'trace' if all events in the data | |
179 | file are tracepoint. | |
180 | ||
a7d945bc NK |
181 | -F:: |
182 | --fields=:: | |
183 | Specify output field - multiple keys can be specified in CSV format. | |
184 | Following fields are available: | |
793aaaab | 185 | overhead, overhead_sys, overhead_us, overhead_children, sample and period. |
a7d945bc NK |
186 | Also it can contain any sort key(s). |
187 | ||
188 | By default, every sort keys not specified in -F will be appended | |
189 | automatically. | |
190 | ||
d35fa1e7 CD |
191 | If the keys starts with a prefix '+', then it will append the specified |
192 | field(s) to the default field order. For example: perf report -F +period,sample. | |
193 | ||
e04fffc3 SB |
194 | -p:: |
195 | --parent=<regex>:: | |
9811360e NK |
196 | A regex filter to identify parent. The parent is a caller of this |
197 | function and searched through the callchain, thus it requires callchain | |
1291927a | 198 | information recorded. The pattern is in the extended regex format and |
9811360e | 199 | defaults to "\^sys_|^do_page_fault", see '--sort parent'. |
e04fffc3 SB |
200 | |
201 | -x:: | |
202 | --exclude-other:: | |
203 | Only display entries with parent-match. | |
204 | ||
52d422de | 205 | -w:: |
e04fffc3 | 206 | --column-widths=<width[,width...]>:: |
52d422de | 207 | Force each column width to the provided list, for large terminal |
cf59002f | 208 | readability. 0 means no limit (default behavior). |
52d422de ACM |
209 | |
210 | -t:: | |
211 | --field-separator=:: | |
52d422de | 212 | Use a special separator character and don't pad with spaces, replacing |
e04fffc3 | 213 | all occurrences of this separator in symbol names (and other output) |
52d422de ACM |
214 | with a '.' character, that thus it's the only non valid separator. |
215 | ||
e04fffc3 SB |
216 | -D:: |
217 | --dump-raw-trace:: | |
218 | Dump raw trace in ASCII. | |
219 | ||
76a26549 | 220 | -g:: |
f2af0086 | 221 | --call-graph=<print_type,threshold[,print_limit],order,sort_key[,branch],value>:: |
76a26549 | 222 | Display call chains using type, min percent threshold, print limit, |
1291927a KP |
223 | call order, sort key, optional branch and value. Note that ordering |
224 | is not fixed so any parameter can be given in an arbitrary order. | |
f2af0086 | 225 | One exception is the print_limit which should be preceded by threshold. |
76a26549 NK |
226 | |
227 | print_type can be either: | |
e04fffc3 | 228 | - flat: single column, linear exposure of call chains. |
76a26549 | 229 | - graph: use a graph tree, displaying absolute overhead rates. (default) |
ec7ba4ea | 230 | - fractal: like graph, but displays relative rates. Each branch of |
76a26549 | 231 | the tree is considered as a new profiled object. |
26e77924 | 232 | - folded: call chains are displayed in a line, separated by semicolons |
76a26549 NK |
233 | - none: disable call chain display. |
234 | ||
235 | threshold is a percentage value which specifies a minimum percent to be | |
236 | included in the output call graph. Default is 0.5 (%). | |
237 | ||
238 | print_limit is only applied when stdio interface is used. It's to limit | |
239 | number of call graph entries in a single hist entry. Note that it needs | |
240 | to be given after threshold (but not necessarily consecutive). | |
241 | Default is 0 (unlimited). | |
d797fdc5 SL |
242 | |
243 | order can be either: | |
244 | - callee: callee based call graph. | |
245 | - caller: inverted caller based call graph. | |
76a26549 | 246 | Default is 'caller' when --children is used, otherwise 'callee'. |
d797fdc5 | 247 | |
76a26549 NK |
248 | sort_key can be: |
249 | - function: compare on functions (default) | |
99571ab3 | 250 | - address: compare on individual code addresses |
5dfa210e | 251 | - srcline: compare on source filename and line number |
99571ab3 | 252 | |
8b7bad58 | 253 | branch can be: |
76a26549 NK |
254 | - branch: include last branch information in callgraph when available. |
255 | Usually more convenient to use --branch-history for this. | |
d797fdc5 | 256 | |
f2af0086 | 257 | value can be: |
1a7ea328 | 258 | - percent: display overhead percent (default) |
f2af0086 NK |
259 | - period: display event period |
260 | - count: display event count | |
261 | ||
793aaaab NK |
262 | --children:: |
263 | Accumulate callchain of children to parent entry so that then can | |
264 | show up in the output. The output will have a new "Children" column | |
265 | and will be sorted on the data. It requires callchains are recorded. | |
108a7c10 YB |
266 | See the `overhead calculation' section for more details. Enabled by |
267 | default, disable with --no-children. | |
793aaaab | 268 | |
91e95617 WL |
269 | --max-stack:: |
270 | Set the stack depth limit when parsing the callchain, anything | |
271 | beyond the specified depth will be ignored. This is a trade-off | |
272 | between information loss and faster processing especially for | |
273 | workloads that can have a very long callchain stack. | |
40862a7b AH |
274 | Note that when using the --itrace option the synthesized callchain size |
275 | will override this value if the synthesized callchain size is bigger. | |
91e95617 | 276 | |
fe176085 | 277 | Default: 127 |
91e95617 | 278 | |
d797fdc5 SL |
279 | -G:: |
280 | --inverted:: | |
281 | alias for inverted caller based call graph. | |
ec7ba4ea | 282 | |
b21484f1 GP |
283 | --ignore-callees=<regex>:: |
284 | Ignore callees of the function(s) matching the given regex. | |
285 | This has the effect of collecting the callers of each such | |
286 | function into one place in the call-graph tree. | |
287 | ||
e04fffc3 SB |
288 | --pretty=<key>:: |
289 | Pretty printing style. key: normal, raw | |
290 | ||
8b9e74eb ACM |
291 | --stdio:: Use the stdio interface. |
292 | ||
175b968b ACM |
293 | --stdio-color:: |
294 | 'always', 'never' or 'auto', allowing configuring color output | |
295 | via the command line, in addition to via "color.ui" .perfconfig. | |
296 | Use '--stdio-color always' to generate color even when redirecting | |
297 | to a pipe or file. Using just '--stdio-color' is equivalent to | |
298 | using 'always'. | |
299 | ||
8b9e74eb ACM |
300 | --tui:: Use the TUI interface, that is integrated with annotate and allows |
301 | zooming into DSOs or threads, among other features. Use of --tui | |
302 | requires a tty, if one is not present, as when piping to other | |
303 | commands, the stdio interface is used. | |
304 | ||
c31a9457 PE |
305 | --gtk:: Use the GTK2 interface. |
306 | ||
e04fffc3 SB |
307 | -k:: |
308 | --vmlinux=<file>:: | |
309 | vmlinux pathname | |
310 | ||
91340c51 ACM |
311 | --ignore-vmlinux:: |
312 | Ignore vmlinux files. | |
313 | ||
b226a5a7 DA |
314 | --kallsyms=<file>:: |
315 | kallsyms pathname | |
316 | ||
e04fffc3 SB |
317 | -m:: |
318 | --modules:: | |
319 | Load module symbols. WARNING: This should only be used with -k and | |
320 | a LIVE kernel. | |
321 | ||
322 | -f:: | |
323 | --force:: | |
e0be62cc | 324 | Don't do ownership validation. |
e04fffc3 | 325 | |
ec5761ea DA |
326 | --symfs=<directory>:: |
327 | Look for files with symbols relative to this directory. | |
328 | ||
c8e66720 | 329 | -C:: |
5d67be97 AB |
330 | --cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can |
331 | be provided as a comma-separated list with no space: 0,1. Ranges of | |
332 | CPUs are specified with -: 0-2. Default is to report samples on all | |
333 | CPUs. | |
334 | ||
f69b64f7 AK |
335 | -M:: |
336 | --disassembler-style=:: Set disassembler style for objdump. | |
337 | ||
64c6f0c7 ACM |
338 | --source:: |
339 | Interleave source code with assembly code. Enabled by default, | |
340 | disable with --no-source. | |
341 | ||
342 | --asm-raw:: | |
343 | Show raw instruction encoding of assembly instructions. | |
344 | ||
3f2728bd ACM |
345 | --show-total-period:: Show a column with the sum of periods. |
346 | ||
fbe96f29 SE |
347 | -I:: |
348 | --show-info:: | |
349 | Display extended information about the perf.data file. This adds | |
350 | information which may be very large and thus may clutter the display. | |
351 | It currently includes: cpu and numa topology of the host system. | |
352 | ||
b50311dc RAV |
353 | -b:: |
354 | --branch-stack:: | |
355 | Use the addresses of sampled taken branches instead of the instruction | |
356 | address to build the histograms. To generate meaningful output, the | |
993ac88d SE |
357 | perf.data file must have been obtained using perf record -b or |
358 | perf record --branch-filter xxx where xxx is a branch filter option. | |
359 | perf report is able to auto-detect whether a perf.data file contains | |
360 | branch stacks and it will automatically switch to the branch view mode, | |
361 | unless --no-branch-stack is used. | |
b50311dc | 362 | |
fa94c36c AK |
363 | --branch-history:: |
364 | Add the addresses of sampled taken branches to the callstack. | |
365 | This allows to examine the path the program took to each sample. | |
366 | The data collection must have used -b (or -j) and -g. | |
367 | ||
7a4ec938 MB |
368 | --objdump=<path>:: |
369 | Path to objdump binary. | |
370 | ||
3b0b16bf AK |
371 | --prefix=PREFIX:: |
372 | --prefix-strip=N:: | |
373 | Remove first N entries from source file path names in executables | |
374 | and add PREFIX. This allows to display source code compiled on systems | |
375 | with different file system layout. | |
376 | ||
01d14f16 | 377 | --group:: |
ad52b8cb JO |
378 | Show event group information together. It forces group output also |
379 | if there are no groups defined in data file. | |
01d14f16 | 380 | |
429a5f9d JY |
381 | --group-sort-idx:: |
382 | Sort the output by the event at the index n in group. If n is invalid, | |
383 | sort by the first event. It can support multiple groups with different | |
384 | amount of events. WARNING: This should be used on grouped events. | |
385 | ||
328ccdac NK |
386 | --demangle:: |
387 | Demangle symbol names to human readable form. It's enabled by default, | |
388 | disable with --no-demangle. | |
389 | ||
763122ad AK |
390 | --demangle-kernel:: |
391 | Demangle kernel symbol names to human readable form (for C++ kernels). | |
392 | ||
75e906c9 DZ |
393 | --mem-mode:: |
394 | Use the data addresses of samples in addition to instruction addresses | |
395 | to build the histograms. To generate meaningful output, the perf.data | |
396 | file must have been obtained using perf record -d -W and using a | |
fc2f5237 | 397 | special event -e cpu/mem-loads/p or -e cpu/mem-stores/p. See |
75e906c9 DZ |
398 | 'perf mem' for simpler access. |
399 | ||
064f1981 NK |
400 | --percent-limit:: |
401 | Do not show entries which have an overhead under that percent. | |
1ba2fc6d NK |
402 | (Default: 0). Note that this option also sets the percent limit (threshold) |
403 | of callchains. However the default value of callchain threshold is | |
404 | different than the default value of hist entries. Please see the | |
405 | --call-graph option for details. | |
064f1981 | 406 | |
f2148330 NK |
407 | --percentage:: |
408 | Determine how to display the overhead percentage of filtered entries. | |
409 | Filters can be applied by --comms, --dsos and/or --symbols options and | |
410 | Zoom operations on the TUI (thread, dso, etc). | |
411 | ||
412 | "relative" means it's relative to filtered entries only so that the | |
413 | sum of shown entries will be always 100%. "absolute" means it retains | |
414 | the original value before and after the filter is applied. | |
415 | ||
5cfe2c82 JO |
416 | --header:: |
417 | Show header information in the perf.data file. This includes | |
418 | various information like hostname, OS and perf version, cpu/mem | |
419 | info, perf command line, event list and so on. Currently only | |
420 | --stdio output supports this feature. | |
421 | ||
422 | --header-only:: | |
423 | Show only perf.data header (forces --stdio). | |
424 | ||
46690a80 DA |
425 | --time:: |
426 | Only analyze samples within given time window: <start>,<stop>. Times | |
0ccc69ba | 427 | have the format seconds.nanoseconds. If start is not given (i.e. time |
46690a80 | 428 | string is ',x.y') then analysis starts at the beginning of the file. If |
0ccc69ba | 429 | stop time is not given (i.e. time string is 'x.y,') then analysis goes |
a77a05e2 AH |
430 | to end of file. Multiple ranges can be separated by spaces, which |
431 | requires the argument to be quoted e.g. --time "1234.567,1234.789 1235," | |
46690a80 | 432 | |
0ccc69ba | 433 | Also support time percent with multiple time ranges. Time string is |
0a3cc3ae | 434 | 'a%/n,b%/m,...' or 'a%-b%,c%-%d,...'. |
5b969bc7 JY |
435 | |
436 | For example: | |
437 | Select the second 10% time slice: | |
438 | ||
439 | perf report --time 10%/2 | |
440 | ||
441 | Select from 0% to 10% time slice: | |
442 | ||
443 | perf report --time 0%-10% | |
444 | ||
445 | Select the first and second 10% time slices: | |
446 | ||
447 | perf report --time 10%/1,10%/2 | |
448 | ||
449 | Select from 0% to 10% and 30% to 40% slices: | |
450 | ||
451 | perf report --time 0%-10%,30%-40% | |
452 | ||
ef4b1a53 ACM |
453 | --switch-on EVENT_NAME:: |
454 | Only consider events after this event is found. | |
455 | ||
456 | This may be interesting to measure a workload only after some initialization | |
457 | phase is over, i.e. insert a perf probe at that point and then using this | |
458 | option with that probe. | |
459 | ||
460 | --switch-off EVENT_NAME:: | |
461 | Stop considering events after this event is found. | |
462 | ||
463 | --show-on-off-events:: | |
464 | Show the --switch-on/off events too. This has no effect in 'perf report' now | |
465 | but probably we'll make the default not to show the switch-on/off events | |
466 | on the --group mode and if there is only one event besides the off/on ones, | |
467 | go straight to the histogram browser, just like 'perf report' with no events | |
468 | explicitely specified does. | |
469 | ||
520a2ebc AH |
470 | --itrace:: |
471 | Options for decoding instruction tracing data. The options are: | |
472 | ||
60b88d87 | 473 | include::itrace.txt[] |
520a2ebc AH |
474 | |
475 | To disable decoding entirely, use --no-itrace. | |
476 | ||
a9710ba0 AK |
477 | --full-source-path:: |
478 | Show the full path for source files for srcline output. | |
64a7e61f | 479 | |
9e207ddf KL |
480 | --show-ref-call-graph:: |
481 | When multiple events are sampled, it may not be needed to collect | |
482 | callgraphs for all of them. The sample sites are usually nearby, | |
483 | and it's enough to collect the callgraphs on a reference event. | |
484 | So user can use "call-graph=no" event modifier to disable callgraph | |
485 | for other events to reduce the overhead. | |
486 | However, perf report cannot show callgraphs for the event which | |
487 | disable the callgraph. | |
488 | This option extends the perf report to show reference callgraphs, | |
489 | which collected by reference event, in no callgraph event. | |
490 | ||
b1d1429b KL |
491 | --stitch-lbr:: |
492 | Show callgraph with stitched LBRs, which may have more complete | |
493 | callgraph. The perf.data file must have been obtained using | |
494 | perf record --call-graph lbr. | |
495 | Disabled by default. In common cases with call stack overflows, | |
496 | it can recreate better call stacks than the default lbr call stack | |
497 | output. But this approach is not full proof. There can be cases | |
498 | where it creates incorrect call stacks from incorrect matches. | |
499 | The known limitations include exception handing such as | |
500 | setjmp/longjmp will have calls/returns not match. | |
501 | ||
21394d94 KL |
502 | --socket-filter:: |
503 | Only report the samples on the processor socket that match with this filter | |
504 | ||
4968ac8f AK |
505 | --samples=N:: |
506 | Save N individual samples for each histogram entry to show context in perf | |
507 | report tui browser. | |
508 | ||
053a3989 NK |
509 | --raw-trace:: |
510 | When displaying traceevent output, do not use print fmt or plugins. | |
511 | ||
4251446d NK |
512 | --hierarchy:: |
513 | Enable hierarchical output. | |
514 | ||
f3a60646 JY |
515 | --inline:: |
516 | If a callgraph address belongs to an inlined function, the inline stack | |
d8a88dd2 MW |
517 | will be printed. Each entry is function name or file/line. Enabled by |
518 | default, disable with --no-inline. | |
f3a60646 | 519 | |
6439d7d1 ACM |
520 | --mmaps:: |
521 | Show --tasks output plus mmap information in a format similar to | |
522 | /proc/<PID>/maps. | |
523 | ||
524 | Please note that not all mmaps are stored, options affecting which ones | |
525 | are include 'perf record --data', for instance. | |
526 | ||
52bab886 AK |
527 | --ns:: |
528 | Show time stamps in nanoseconds. | |
529 | ||
a4a4d0a7 JO |
530 | --stats:: |
531 | Display overall events statistics without any further processing. | |
532 | (like the one at the end of the perf report -D command) | |
533 | ||
930f8b34 JO |
534 | --tasks:: |
535 | Display monitored tasks stored in perf data. Displaying pid/tid/ppid | |
536 | plus the command string aligned to distinguish parent and child tasks. | |
537 | ||
e6902d1b JO |
538 | --percent-type:: |
539 | Set annotation percent type from following choices: | |
540 | global-period, local-period, global-hits, local-hits | |
541 | ||
542 | The local/global keywords set if the percentage is computed | |
543 | in the scope of the function (local) or the whole data (global). | |
544 | The period/hits keywords set the base the percentage is computed | |
545 | on - the samples period or the number of samples (hits). | |
546 | ||
2a1292cb AK |
547 | --time-quantum:: |
548 | Configure time quantum for time sort key. Default 100ms. | |
549 | Accepts s, us, ms, ns units. | |
550 | ||
6f7164fa JY |
551 | --total-cycles:: |
552 | When --total-cycles is specified, it supports sorting for all blocks by | |
553 | 'Sampled Cycles%'. This is useful to concentrate on the globally hottest | |
554 | blocks. In output, there are some new columns: | |
555 | ||
556 | 'Sampled Cycles%' - block sampled cycles aggregation / total sampled cycles | |
557 | 'Sampled Cycles' - block sampled cycles aggregation | |
558 | 'Avg Cycles%' - block average sampled cycles / sum of total block average | |
559 | sampled cycles | |
560 | 'Avg Cycles' - block average sampled cycles | |
561 | ||
64a7e61f AH |
562 | include::callchain-overhead-calculation.txt[] |
563 | ||
0bec253c IM |
564 | SEE ALSO |
565 | -------- | |
870d325b AH |
566 | linkperf:perf-stat[1], linkperf:perf-annotate[1], linkperf:perf-record[1], |
567 | linkperf:perf-intel-pt[1] |