Lines Matching +full:output +full:- +full:only
1 perf-report(1)
5 ----
6 perf-report - Read perf.data (created by perf record) and display the profile
9 --------
11 'perf report' [-i <file> | --input=file]
14 -----------
19 -------
20 -i::
21 --input=::
24 -v::
25 --verbose::
28 -q::
29 --quiet::
30 Do not show any message. (Suppress -v)
32 -n::
33 --show-nr-samples::
36 --show-cpu-utilization::
39 -T::
40 --threads::
41 Show per-thread event counters. The input data file should be recorded
42 with -s option.
43 -c::
44 --comms=::
45 Only consider symbols in these comms. CSV that understands
47 the overhead column. See --percentage for more info.
48 --pid=::
49 Only show events for given process ID (comma separated list).
51 --tid=::
52 Only show events for given thread ID (comma separated list).
53 -d::
54 --dsos=::
55 Only consider symbols in these dsos. CSV that understands
57 the overhead column. See --percentage for more info.
58 -S::
59 --symbols=::
60 Only consider these symbols. CSV that understands
62 the overhead column. See --percentage for more info.
64 --symbol-filter=::
65 Only show symbols that match (partially) with this filter.
67 -U::
68 --hide-unresolved::
69 Only display entries resolved to a symbol.
71 -s::
72 --sort=::
73 Sort histogram entries by given key(s) - multiple keys can be specified
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
83 - dso_size: size of library or module executed at the time of sample
84 - symbol: name of function executed at the time of sample
85 - symbol_size: size of function executed at the time of sample
86 - parent: name of function matched to the parent regex filter. Unmatched
88 - cpu: cpu number the task ran at the time of sample
89 - socket: processor socket number the task ran at the time of sample
90 - srcline: filename and line number executed at the time of sample. The
92 - srcfile: file name of the source file of the samples. Requires dwarf
94 - weight: Event specific weight, e.g. memory latency or transaction
96 - local_weight: Local weight version of the weight above.
97 - cgroup_id: ID derived from cgroup namespace device and inode numbers.
98 - cgroup: cgroup pathname in the cgroupfs.
99 - transaction: Transaction abort flags.
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
105 - overhead_guest_us: Overhead percentage of sample running in user mode on
107 - sample: Number of sample
108 - period: Raw number of event count of sample
109 - time: Separate the samples by time stamp with the resolution specified by
110 --time-quantum (default 100ms). Specify with overhead and before it.
111 - code_page_size: the code page size of sampled code address (ip)
112 - ins_lat: Instruction latency in core cycles. This is the global instruction
114 - local_ins_lat: Local instruction latency version
115 - p_stage_cyc: On powerpc, this presents the number of cycles spent in a
116 pipeline stage. And currently supported only on powerpc.
117 - addr: (Full) virtual address of the sampled instruction
120 (i.e. --sort comm,dso,symbol)
122 If --branch-stack option is used, following sort keys are also
125 - dso_from: name of library or module branched from
126 - dso_to: name of library or module branched to
127 - symbol_from: name of function branched from
128 - symbol_to: name of function branched to
129 - srcline_from: source file and line branched from
130 - srcline_to: source file and line branched to
131 - mispredict: "N" for predicted branch, "Y" for mispredicted branch
132 - in_tx: branch in TSX transaction
133 - abort: TSX transaction abort.
134 - cycles: Cycles in basic block
137 and symbol_to, see '--branch-stack'.
147 If the --mem-mode option is used, the following sort keys are also available
148 (incompatible with --branch-stack):
151 - symbol_daddr: name of data symbol being executed on at the time of sample
152 - dso_daddr: name of library or module containing the data being executed
154 - locked: whether the bus was locked at the time of the sample
155 - tlb: type of tlb access for the data at the time of the sample
156 - mem: type of memory access for the data at the time of the sample
157 - snoop: type of snoop (if any) for the data at the time of the sample
158 - dcacheline: the cacheline the data address is on at the time of the sample
159 - phys_daddr: physical address of data being executed on at the time of sample
160 - data_page_size: the data page size of data being executed on at the time of sample
161 - blocked: reason of blocked load access for the data at the time of the sample
165 see '--mem-mode'.
171 - trace: pretty printed trace output in a single column
172 - trace_fields: fields in tracepoints in separate columns
173 - <field name>: optional event and field name for a specific field
177 field will be shown only for the event has the field. The event name
185 and shows raw field value like hex numbers. The --raw-trace option
191 -F::
192 --fields=::
193 Specify output field - multiple keys can be specified in CSV format.
198 By default, every sort keys not specified in -F will be appended
202 field(s) to the default field order. For example: perf report -F +period,sample.
204 -p::
205 --parent=<regex>::
209 defaults to "\^sys_|^do_page_fault", see '--sort parent'.
211 -x::
212 --exclude-other::
213 Only display entries with parent-match.
215 -w::
216 --column-widths=<width[,width...]>::
220 -t::
221 --field-separator=::
223 all occurrences of this separator in symbol names (and other output)
224 with a '.' character, that thus it's the only non valid separator.
226 -D::
227 --dump-raw-trace::
230 --disable-order::
233 -g::
234 --call-graph=<print_type,threshold[,print_limit],order,sort_key[,branch],value>::
241 - flat: single column, linear exposure of call chains.
242 - graph: use a graph tree, displaying absolute overhead rates. (default)
243 - fractal: like graph, but displays relative rates. Each branch of
245 - folded: call chains are displayed in a line, separated by semicolons
246 - none: disable call chain display.
249 included in the output call graph. Default is 0.5 (%).
251 print_limit is only applied when stdio interface is used. It's to limit
257 - callee: callee based call graph.
258 - caller: inverted caller based call graph.
259 Default is 'caller' when --children is used, otherwise 'callee'.
262 - function: compare on functions (default)
263 - address: compare on individual code addresses
264 - srcline: compare on source filename and line number
267 - branch: include last branch information in callgraph when available.
268 Usually more convenient to use --branch-history for this.
271 - percent: display overhead percent (default)
272 - period: display event period
273 - count: display event count
275 --children::
277 show up in the output. The output will have a new "Children" column
280 default, disable with --no-children.
282 --max-stack::
284 beyond the specified depth will be ignored. This is a trade-off
287 Note that when using the --itrace option the synthesized callchain size
292 -G::
293 --inverted::
296 --ignore-callees=<regex>::
299 function into one place in the call-graph tree.
301 --pretty=<key>::
304 --stdio:: Use the stdio interface.
306 --stdio-color::
307 'always', 'never' or 'auto', allowing configuring color output
309 Use '--stdio-color always' to generate color even when redirecting
310 to a pipe or file. Using just '--stdio-color' is equivalent to
313 --tui:: Use the TUI interface, that is integrated with annotate and allows
314 zooming into DSOs or threads, among other features. Use of --tui
318 --gtk:: Use the GTK2 interface.
320 -k::
321 --vmlinux=<file>::
324 --ignore-vmlinux::
327 --kallsyms=<file>::
330 -m::
331 --modules::
332 Load module symbols. WARNING: This should only be used with -k and
335 -f::
336 --force::
339 --symfs=<directory>::
342 -C::
343 --cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can
344 be provided as a comma-separated list with no space: 0,1. Ranges of
345 CPUs are specified with -: 0-2. Default is to report samples on all
348 -M::
349 --disassembler-style=:: Set disassembler style for objdump.
351 --source::
353 disable with --no-source.
355 --asm-raw::
358 --show-total-period:: Show a column with the sum of periods.
360 -I::
361 --show-info::
366 -b::
367 --branch-stack::
369 address to build the histograms. To generate meaningful output, the
370 perf.data file must have been obtained using perf record -b or
371 perf record --branch-filter xxx where xxx is a branch filter option.
372 perf report is able to auto-detect whether a perf.data file contains
374 unless --no-branch-stack is used.
376 --branch-history::
379 The data collection must have used -b (or -j) and -g.
381 --objdump=<path>::
384 --prefix=PREFIX::
385 --prefix-strip=N::
390 --group::
391 Show event group information together. It forces group output also
394 --group-sort-idx::
395 Sort the output by the event at the index n in group. If n is invalid,
399 --demangle::
401 disable with --no-demangle.
403 --demangle-kernel::
406 --mem-mode::
408 to build the histograms. To generate meaningful output, the perf.data
409 file must have been obtained using perf record -d -W and using a
410 special event -e cpu/mem-loads/p or -e cpu/mem-stores/p. See
413 --percent-limit::
418 --call-graph option for details.
420 --percentage::
422 Filters can be applied by --comms, --dsos and/or --symbols options and
425 "relative" means it's relative to filtered entries only so that the
429 --header::
432 info, perf command line, event list and so on. Currently only
433 --stdio output supports this feature.
435 --header-only::
436 Show only perf.data header (forces --stdio).
438 --time::
439 Only analyze samples within given time window: <start>,<stop>. Times
444 requires the argument to be quoted e.g. --time "1234.567,1234.789 1235,"
447 'a%/n,b%/m,...' or 'a%-b%,c%-%d,...'.
452 perf report --time 10%/2
456 perf report --time 0%-10%
460 perf report --time 10%/1,10%/2
464 perf report --time 0%-10%,30%-40%
466 --switch-on EVENT_NAME::
467 Only consider events after this event is found.
469 This may be interesting to measure a workload only after some initialization
473 --switch-off EVENT_NAME::
476 --show-on-off-events::
477 Show the --switch-on/off events too. This has no effect in 'perf report' now
478 but probably we'll make the default not to show the switch-on/off events
479 on the --group mode and if there is only one event besides the off/on ones,
483 --itrace::
488 To disable decoding entirely, use --no-itrace.
490 --full-source-path::
491 Show the full path for source files for srcline output.
493 --show-ref-call-graph::
497 So user can use "call-graph=no" event modifier to disable callgraph
504 --stitch-lbr::
507 perf record --call-graph lbr.
510 output. But this approach is not full proof. There can be cases
515 --socket-filter::
516 Only report the samples on the processor socket that match with this filter
518 --samples=N::
522 --raw-trace::
523 When displaying traceevent output, do not use print fmt or plugins.
525 --hierarchy::
526 Enable hierarchical output.
528 --inline::
531 default, disable with --no-inline.
533 --mmaps::
534 Show --tasks output plus mmap information in a format similar to
538 are include 'perf record --data', for instance.
540 --ns::
543 --stats::
545 (like the one at the end of the perf report -D command)
547 --tasks::
551 --percent-type::
553 global-period, local-period, global-hits, local-hits
558 on - the samples period or the number of samples (hits).
560 --time-quantum::
564 --total-cycles::
565 When --total-cycles is specified, it supports sorting for all blocks by
567 blocks. In output, there are some new columns:
569 'Sampled Cycles%' - block sampled cycles aggregation / total sampled cycles
570 'Sampled Cycles' - block sampled cycles aggregation
571 'Avg Cycles%' - block average sampled cycles / sum of total block average
573 'Avg Cycles' - block average sampled cycles
575 --skip-empty::
576 Do not print 0 results in the --stat output.
578 include::callchain-overhead-calculation.txt[]
581 --------
582 linkperf:perf-stat[1], linkperf:perf-annotate[1], linkperf:perf-record[1],
583 linkperf:perf-intel-pt[1]