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 warnings or messages. (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 and latency columns. 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 and latency columns. See --percentage for more info.
58 -S::
59 --symbols=::
60 Only consider these symbols. CSV that understands
62 the overhead and latency columns. 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 --parallelism::
72 Only consider these parallelism levels. Parallelism level is the number
74 accepts single number, comma-separated list, and ranges (for example:
75 "1", "7,8", "1,64-128"). This is useful in understanding what a program
76 is doing during sequential/low-parallelism phases as compared to
77 high-parallelism phases. This option will affect the percentage of
78 the overhead and latency columns. See --percentage for more info.
81 --latency::
82 Show latency-centric profile rather than the default
83 CPU-consumption-centric profile
84 (requires perf record --latency flag).
86 -s::
87 --sort=::
88 Sort histogram entries by given key(s) - multiple keys can be specified
95 - comm: command (name) of the task which can be read via /proc/<pid>/comm
96 - pid: command and tid of the task
97 - dso: name of library or module executed at the time of sample
98 - dso_size: size of library or module executed at the time of sample
99 - symbol: name of function executed at the time of sample
100 - symbol_size: size of function executed at the time of sample
101 - parent: name of function matched to the parent regex filter. Unmatched
103 - cpu: cpu number the task ran at the time of sample
104 - socket: processor socket number the task ran at the time of sample
105 - parallelism: number of running threads at the time of sample
106 - srcline: filename and line number executed at the time of sample. The
108 - srcfile: file name of the source file of the samples. Requires dwarf
110 - weight: Event specific weight, e.g. memory latency or transaction
112 - local_weight: Local weight version of the weight above.
113 - cgroup_id: ID derived from cgroup namespace device and inode numbers.
114 - cgroup: cgroup pathname in the cgroupfs.
115 - transaction: Transaction abort flags.
116 - overhead: CPU overhead percentage of sample.
117 - latency: latency (wall-clock) overhead percentage of sample.
119 - overhead_sys: CPU overhead percentage of sample running in system mode
120 - overhead_us: CPU overhead percentage of sample running in user mode
121 - overhead_guest_sys: CPU overhead percentage of sample running in system mode
123 - overhead_guest_us: CPU overhead percentage of sample running in user mode on
125 - sample: Number of sample
126 - period: Raw number of event count of sample
127 - time: Separate the samples by time stamp with the resolution specified by
128 --time-quantum (default 100ms). Specify with overhead and before it.
129 - code_page_size: the code page size of sampled code address (ip)
130 - ins_lat: Instruction latency in core cycles. This is the global instruction
132 - local_ins_lat: Local instruction latency version
133 - p_stage_cyc: On powerpc, this presents the number of cycles spent in a
134 pipeline stage. And currently supported only on powerpc.
135 - addr: (Full) virtual address of the sampled instruction
136 - retire_lat: On X86, this reports pipeline stall of this instruction compared
137 to the previous instruction in cycles. And currently supported only on X86
138 - simd: Flags describing a SIMD operation. "e" for empty Arm SVE predicate. "p" for partial Arm SVE predicate
139 - type: Data type of sample memory access.
140 - typeoff: Offset in the data type of sample memory access.
141 - symoff: Offset in the symbol.
142 - weight1: Average value of event specific weight (1st field of weight_struct).
143 - weight2: Average value of event specific weight (2nd field of weight_struct).
144 - weight3: Average value of event specific weight (3rd field of weight_struct).
147 (i.e. --sort overhead,comm,dso,symbol).
149 If --branch-stack option is used, following sort keys are also
152 - dso_from: name of library or module branched from
153 - dso_to: name of library or module branched to
154 - symbol_from: name of function branched from
155 - symbol_to: name of function branched to
156 - srcline_from: source file and line branched from
157 - srcline_to: source file and line branched to
158 - mispredict: "N" for predicted branch, "Y" for mispredicted branch
159 - in_tx: branch in TSX transaction
160 - abort: TSX transaction abort.
161 - cycles: Cycles in basic block
164 and symbol_to, see '--branch-stack'.
174 If the --mem-mode option is used, the following sort keys are also available
175 (incompatible with --branch-stack):
178 - symbol_daddr: name of data symbol being executed on at the time of sample
179 - dso_daddr: name of library or module containing the data being executed
181 - locked: whether the bus was locked at the time of the sample
182 - tlb: type of tlb access for the data at the time of the sample
183 - mem: type of memory access for the data at the time of the sample
184 - snoop: type of snoop (if any) for the data at the time of the sample
185 - dcacheline: the cacheline the data address is on at the time of the sample
186 - phys_daddr: physical address of data being executed on at the time of sample
187 - data_page_size: the data page size of data being executed on at the time of sample
188 - blocked: reason of blocked load access for the data at the time of the sample
192 see '--mem-mode'.
198 - trace: pretty printed trace output in a single column
199 - trace_fields: fields in tracepoints in separate columns
200 - <field name>: optional event and field name for a specific field
204 field will be shown only for the event has the field. The event name
212 and shows raw field value like hex numbers. The --raw-trace option
218 -F::
219 --fields=::
220 Specify output field - multiple keys can be specified in CSV format.
229 By default, every sort keys not specified in -F will be appended
233 field(s) to the default field order. For example: perf report -F +period,sample.
235 -p::
236 --parent=<regex>::
240 defaults to "\^sys_|^do_page_fault", see '--sort parent'.
242 -x::
243 --exclude-other::
244 Only display entries with parent-match.
246 -w::
247 --column-widths=<width[,width...]>::
251 -t::
252 --field-separator=::
254 all occurrences of this separator in symbol names (and other output)
255 with a '.' character, that thus it's the only non valid separator.
257 -D::
258 --dump-raw-trace::
261 --disable-order::
264 -g::
265 --call-graph=<print_type,threshold[,print_limit],order,sort_key[,branch],value>::
272 - flat: single column, linear exposure of call chains.
273 - graph: use a graph tree, displaying absolute overhead rates. (default)
274 - fractal: like graph, but displays relative rates. Each branch of
276 - folded: call chains are displayed in a line, separated by semicolons
277 - none: disable call chain display.
280 included in the output call graph. Default is 0.5 (%).
282 print_limit is only applied when stdio interface is used. It's to limit
288 - callee: callee based call graph.
289 - caller: inverted caller based call graph.
290 Default is 'caller' when --children is used, otherwise 'callee'.
293 - function: compare on functions (default)
294 - address: compare on individual code addresses
295 - srcline: compare on source filename and line number
298 - branch: include last branch information in callgraph when available.
299 Usually more convenient to use --branch-history for this.
302 - percent: display overhead percent (default)
303 - period: display event period
304 - count: display event count
306 --children::
308 show up in the output. The output will have a new "Children" column
311 default, disable with --no-children.
313 --max-stack::
315 beyond the specified depth will be ignored. This is a trade-off
318 Note that when using the --itrace option the synthesized callchain size
323 -G::
324 --inverted::
327 --ignore-callees=<regex>::
330 function into one place in the call-graph tree.
332 --pretty=<key>::
335 --stdio:: Use the stdio interface.
337 --stdio-color::
338 'always', 'never' or 'auto', allowing configuring color output
340 Use '--stdio-color always' to generate color even when redirecting
341 to a pipe or file. Using just '--stdio-color' is equivalent to
344 --tui:: Use the TUI interface, that is integrated with annotate and allows
345 zooming into DSOs or threads, among other features. Use of --tui
349 --gtk:: Use the GTK2 interface.
351 -k::
352 --vmlinux=<file>::
355 --ignore-vmlinux::
358 --kallsyms=<file>::
361 -m::
362 --modules::
363 Load module symbols. WARNING: This should only be used with -k and
366 -f::
367 --force::
370 --symfs=<directory>::
373 -C::
374 --cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can
375 be provided as a comma-separated list with no space: 0,1. Ranges of
376 CPUs are specified with -: 0-2. Default is to report samples on all
379 -M::
380 --disassembler-style=:: Set disassembler style for objdump.
382 --source::
384 disable with --no-source.
386 --asm-raw::
389 --show-total-period:: Show a column with the sum of periods.
391 -I::
392 --show-info::
397 -b::
398 --branch-stack::
400 address to build the histograms. To generate meaningful output, the
401 perf.data file must have been obtained using perf record -b or
402 perf record --branch-filter xxx where xxx is a branch filter option.
403 perf report is able to auto-detect whether a perf.data file contains
405 unless --no-branch-stack is used.
407 --branch-history::
410 The data collection must have used -b (or -j) and -g.
413 - Predicted: display the average percentage of predicated branches.
415 - Abort: display the number of tsx aborted branches.
416 - Cycles: cycles in basic block.
418 - iterations: display the average number of iterations in callchain list.
420 --addr2line=<path>::
423 --objdump=<path>::
426 --prefix=PREFIX::
427 --prefix-strip=N::
432 --group::
433 Show event group information together. It forces group output also
436 --group-sort-idx::
437 Sort the output by the event at the index n in group. If n is invalid,
441 --demangle::
443 disable with --no-demangle.
445 --demangle-kernel::
448 --mem-mode::
450 to build the histograms. To generate meaningful output, the perf.data
451 file must have been obtained using perf record -d -W and using a
452 special event -e cpu/mem-loads/p or -e cpu/mem-stores/p. See
455 --percent-limit::
460 --call-graph option for details.
462 --percentage::
464 of filtered entries. Filters can be applied by --comms, --dsos, --symbols
465 and/or --parallelism options and Zoom operations on the TUI (thread, dso, etc).
467 "relative" means it's relative to filtered entries only so that the
471 --header::
474 info, perf command line, event list and so on. Currently only
475 --stdio output supports this feature.
477 --header-only::
478 Show only perf.data header (forces --stdio).
480 --time::
481 Only analyze samples within given time window: <start>,<stop>. Times
486 requires the argument to be quoted e.g. --time "1234.567,1234.789 1235,"
489 'a%/n,b%/m,...' or 'a%-b%,c%-%d,...'.
494 perf report --time 10%/2
498 perf report --time 0%-10%
502 perf report --time 10%/1,10%/2
506 perf report --time 0%-10%,30%-40%
508 --switch-on EVENT_NAME::
509 Only consider events after this event is found.
511 This may be interesting to measure a workload only after some initialization
515 --switch-off EVENT_NAME::
518 --show-on-off-events::
519 Show the --switch-on/off events too. This has no effect in 'perf report' now
520 but probably we'll make the default not to show the switch-on/off events
521 on the --group mode and if there is only one event besides the off/on ones,
525 --itrace::
530 To disable decoding entirely, use --no-itrace.
532 --full-source-path::
533 Show the full path for source files for srcline output.
535 --show-ref-call-graph::
539 So user can use "call-graph=no" event modifier to disable callgraph
546 --stitch-lbr::
549 perf record --call-graph lbr.
552 output. But this approach is not foolproof. There can be cases
557 --socket-filter::
558 Only report the samples on the processor socket that match with this filter
560 --samples=N::
564 --raw-trace::
565 When displaying traceevent output, do not use print fmt or plugins.
567 -H::
568 --hierarchy::
569 Enable hierarchical output. In the hierarchy mode, each sort key groups
570 samples based on the criteria and then sub-divide it using the lower
574 In normal output:
576 perf report -s dso,sym
584 In hierarchy output:
586 perf report -s dso,sym --hierarchy
597 --inline::
600 default, disable with --no-inline.
602 --mmaps::
603 Show --tasks output plus mmap information in a format similar to
607 are include 'perf record --data', for instance.
609 --ns::
612 --stats::
614 (like the one at the end of the perf report -D command)
616 --tasks::
620 --percent-type::
622 global-period, local-period, global-hits, local-hits
627 on - the samples period or the number of samples (hits).
629 --time-quantum::
633 --total-cycles::
634 When --total-cycles is specified, it supports sorting for all blocks by
636 blocks. In output, there are some new columns:
638 'Sampled Cycles%' - block sampled cycles aggregation / total sampled cycles
639 'Sampled Cycles' - block sampled cycles aggregation
640 'Avg Cycles%' - block average sampled cycles / sum of total block average
642 'Avg Cycles' - block average sampled cycles
643 'Branch Counter' - block branch counter histogram (with -v showing the number)
645 --skip-empty::
646 Do not print 0 results in the --stat output.
648 include::cpu-and-latency-overheads.txt[]
650 include::callchain-overhead-calculation.txt[]
653 --------
654 linkperf:perf-stat[1], linkperf:perf-annotate[1], linkperf:perf-record[1],
655 linkperf:perf-intel-pt[1]