162306a36Sopenharmony_ciperf-report(1)
262306a36Sopenharmony_ci==============
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciNAME
562306a36Sopenharmony_ci----
662306a36Sopenharmony_ciperf-report - Read perf.data (created by perf record) and display the profile
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciSYNOPSIS
962306a36Sopenharmony_ci--------
1062306a36Sopenharmony_ci[verse]
1162306a36Sopenharmony_ci'perf report' [-i <file> | --input=file]
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciDESCRIPTION
1462306a36Sopenharmony_ci-----------
1562306a36Sopenharmony_ciThis command displays the performance counter profile information recorded
1662306a36Sopenharmony_civia perf record.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciOPTIONS
1962306a36Sopenharmony_ci-------
2062306a36Sopenharmony_ci-i::
2162306a36Sopenharmony_ci--input=::
2262306a36Sopenharmony_ci        Input file name. (default: perf.data unless stdin is a fifo)
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci-v::
2562306a36Sopenharmony_ci--verbose::
2662306a36Sopenharmony_ci        Be more verbose. (show symbol address, etc)
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci-q::
2962306a36Sopenharmony_ci--quiet::
3062306a36Sopenharmony_ci	Do not show any warnings or messages.  (Suppress -v)
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci-n::
3362306a36Sopenharmony_ci--show-nr-samples::
3462306a36Sopenharmony_ci	Show the number of samples for each symbol
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci--show-cpu-utilization::
3762306a36Sopenharmony_ci        Show sample percentage for different cpu modes.
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci-T::
4062306a36Sopenharmony_ci--threads::
4162306a36Sopenharmony_ci	Show per-thread event counters.  The input data file should be recorded
4262306a36Sopenharmony_ci	with -s option.
4362306a36Sopenharmony_ci-c::
4462306a36Sopenharmony_ci--comms=::
4562306a36Sopenharmony_ci	Only consider symbols in these comms. CSV that understands
4662306a36Sopenharmony_ci	file://filename entries.  This option will affect the percentage of
4762306a36Sopenharmony_ci	the overhead column.  See --percentage for more info.
4862306a36Sopenharmony_ci--pid=::
4962306a36Sopenharmony_ci        Only show events for given process ID (comma separated list).
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci--tid=::
5262306a36Sopenharmony_ci        Only show events for given thread ID (comma separated list).
5362306a36Sopenharmony_ci-d::
5462306a36Sopenharmony_ci--dsos=::
5562306a36Sopenharmony_ci	Only consider symbols in these dsos. CSV that understands
5662306a36Sopenharmony_ci	file://filename entries.  This option will affect the percentage of
5762306a36Sopenharmony_ci	the overhead column.  See --percentage for more info.
5862306a36Sopenharmony_ci-S::
5962306a36Sopenharmony_ci--symbols=::
6062306a36Sopenharmony_ci	Only consider these symbols. CSV that understands
6162306a36Sopenharmony_ci	file://filename entries.  This option will affect the percentage of
6262306a36Sopenharmony_ci	the overhead column.  See --percentage for more info.
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci--symbol-filter=::
6562306a36Sopenharmony_ci	Only show symbols that match (partially) with this filter.
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci-U::
6862306a36Sopenharmony_ci--hide-unresolved::
6962306a36Sopenharmony_ci        Only display entries resolved to a symbol.
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci-s::
7262306a36Sopenharmony_ci--sort=::
7362306a36Sopenharmony_ci	Sort histogram entries by given key(s) - multiple keys can be specified
7462306a36Sopenharmony_ci	in CSV format.  Following sort keys are available:
7562306a36Sopenharmony_ci	pid, comm, dso, symbol, parent, cpu, socket, srcline, weight,
7662306a36Sopenharmony_ci	local_weight, cgroup_id, addr.
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci	Each key has following meaning:
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci	- comm: command (name) of the task which can be read via /proc/<pid>/comm
8162306a36Sopenharmony_ci	- pid: command and tid of the task
8262306a36Sopenharmony_ci	- dso: name of library or module executed at the time of sample
8362306a36Sopenharmony_ci	- dso_size: size of library or module executed at the time of sample
8462306a36Sopenharmony_ci	- symbol: name of function executed at the time of sample
8562306a36Sopenharmony_ci	- symbol_size: size of function executed at the time of sample
8662306a36Sopenharmony_ci	- parent: name of function matched to the parent regex filter. Unmatched
8762306a36Sopenharmony_ci	entries are displayed as "[other]".
8862306a36Sopenharmony_ci	- cpu: cpu number the task ran at the time of sample
8962306a36Sopenharmony_ci	- socket: processor socket number the task ran at the time of sample
9062306a36Sopenharmony_ci	- srcline: filename and line number executed at the time of sample.  The
9162306a36Sopenharmony_ci	DWARF debugging info must be provided.
9262306a36Sopenharmony_ci	- srcfile: file name of the source file of the samples. Requires dwarf
9362306a36Sopenharmony_ci	information.
9462306a36Sopenharmony_ci	- weight: Event specific weight, e.g. memory latency or transaction
9562306a36Sopenharmony_ci	abort cost. This is the global weight.
9662306a36Sopenharmony_ci	- local_weight: Local weight version of the weight above.
9762306a36Sopenharmony_ci	- cgroup_id: ID derived from cgroup namespace device and inode numbers.
9862306a36Sopenharmony_ci	- cgroup: cgroup pathname in the cgroupfs.
9962306a36Sopenharmony_ci	- transaction: Transaction abort flags.
10062306a36Sopenharmony_ci	- overhead: Overhead percentage of sample
10162306a36Sopenharmony_ci	- overhead_sys: Overhead percentage of sample running in system mode
10262306a36Sopenharmony_ci	- overhead_us: Overhead percentage of sample running in user mode
10362306a36Sopenharmony_ci	- overhead_guest_sys: Overhead percentage of sample running in system mode
10462306a36Sopenharmony_ci	on guest machine
10562306a36Sopenharmony_ci	- overhead_guest_us: Overhead percentage of sample running in user mode on
10662306a36Sopenharmony_ci	guest machine
10762306a36Sopenharmony_ci	- sample: Number of sample
10862306a36Sopenharmony_ci	- period: Raw number of event count of sample
10962306a36Sopenharmony_ci	- time: Separate the samples by time stamp with the resolution specified by
11062306a36Sopenharmony_ci	--time-quantum (default 100ms). Specify with overhead and before it.
11162306a36Sopenharmony_ci	- code_page_size: the code page size of sampled code address (ip)
11262306a36Sopenharmony_ci	- ins_lat: Instruction latency in core cycles. This is the global instruction
11362306a36Sopenharmony_ci	  latency
11462306a36Sopenharmony_ci	- local_ins_lat: Local instruction latency version
11562306a36Sopenharmony_ci	- p_stage_cyc: On powerpc, this presents the number of cycles spent in a
11662306a36Sopenharmony_ci	  pipeline stage. And currently supported only on powerpc.
11762306a36Sopenharmony_ci	- addr: (Full) virtual address of the sampled instruction
11862306a36Sopenharmony_ci	- retire_lat: On X86, this reports pipeline stall of this instruction compared
11962306a36Sopenharmony_ci	  to the previous instruction in cycles. And currently supported only on X86
12062306a36Sopenharmony_ci	- simd: Flags describing a SIMD operation. "e" for empty Arm SVE predicate. "p" for partial Arm SVE predicate
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci	By default, comm, dso and symbol keys are used.
12362306a36Sopenharmony_ci	(i.e. --sort comm,dso,symbol)
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci	If --branch-stack option is used, following sort keys are also
12662306a36Sopenharmony_ci	available:
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci	- dso_from: name of library or module branched from
12962306a36Sopenharmony_ci	- dso_to: name of library or module branched to
13062306a36Sopenharmony_ci	- symbol_from: name of function branched from
13162306a36Sopenharmony_ci	- symbol_to: name of function branched to
13262306a36Sopenharmony_ci	- srcline_from: source file and line branched from
13362306a36Sopenharmony_ci	- srcline_to: source file and line branched to
13462306a36Sopenharmony_ci	- mispredict: "N" for predicted branch, "Y" for mispredicted branch
13562306a36Sopenharmony_ci	- in_tx: branch in TSX transaction
13662306a36Sopenharmony_ci	- abort: TSX transaction abort.
13762306a36Sopenharmony_ci	- cycles: Cycles in basic block
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci	And default sort keys are changed to comm, dso_from, symbol_from, dso_to
14062306a36Sopenharmony_ci	and symbol_to, see '--branch-stack'.
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci	When the sort key symbol is specified, columns "IPC" and "IPC Coverage"
14362306a36Sopenharmony_ci	are enabled automatically. Column "IPC" reports the average IPC per function
14462306a36Sopenharmony_ci	and column "IPC coverage" reports the percentage of instructions with
14562306a36Sopenharmony_ci	sampled IPC in this function. IPC means Instruction Per Cycle. If it's low,
14662306a36Sopenharmony_ci	it indicates there may be a performance bottleneck when the function is
14762306a36Sopenharmony_ci	executed, such as a memory access bottleneck. If a function has high overhead
14862306a36Sopenharmony_ci	and low IPC, it's worth further analyzing it to optimize its performance.
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci	If the --mem-mode option is used, the following sort keys are also available
15162306a36Sopenharmony_ci	(incompatible with --branch-stack):
15262306a36Sopenharmony_ci	symbol_daddr, dso_daddr, locked, tlb, mem, snoop, dcacheline, blocked.
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci	- symbol_daddr: name of data symbol being executed on at the time of sample
15562306a36Sopenharmony_ci	- dso_daddr: name of library or module containing the data being executed
15662306a36Sopenharmony_ci	on at the time of the sample
15762306a36Sopenharmony_ci	- locked: whether the bus was locked at the time of the sample
15862306a36Sopenharmony_ci	- tlb: type of tlb access for the data at the time of the sample
15962306a36Sopenharmony_ci	- mem: type of memory access for the data at the time of the sample
16062306a36Sopenharmony_ci	- snoop: type of snoop (if any) for the data at the time of the sample
16162306a36Sopenharmony_ci	- dcacheline: the cacheline the data address is on at the time of the sample
16262306a36Sopenharmony_ci	- phys_daddr: physical address of data being executed on at the time of sample
16362306a36Sopenharmony_ci	- data_page_size: the data page size of data being executed on at the time of sample
16462306a36Sopenharmony_ci	- blocked: reason of blocked load access for the data at the time of the sample
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ci	And the default sort keys are changed to local_weight, mem, sym, dso,
16762306a36Sopenharmony_ci	symbol_daddr, dso_daddr, snoop, tlb, locked, blocked, local_ins_lat,
16862306a36Sopenharmony_ci	see '--mem-mode'.
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ci	If the data file has tracepoint event(s), following (dynamic) sort keys
17162306a36Sopenharmony_ci	are also available:
17262306a36Sopenharmony_ci	trace, trace_fields, [<event>.]<field>[/raw]
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ci	- trace: pretty printed trace output in a single column
17562306a36Sopenharmony_ci	- trace_fields: fields in tracepoints in separate columns
17662306a36Sopenharmony_ci	- <field name>: optional event and field name for a specific field
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ci	The last form consists of event and field names.  If event name is
17962306a36Sopenharmony_ci	omitted, it searches all events for matching field name.  The matched
18062306a36Sopenharmony_ci	field will be shown only for the event has the field.  The event name
18162306a36Sopenharmony_ci	supports substring match so user doesn't need to specify full subsystem
18262306a36Sopenharmony_ci	and event name everytime.  For example, 'sched:sched_switch' event can
18362306a36Sopenharmony_ci	be shortened to 'switch' as long as it's not ambiguous.  Also event can
18462306a36Sopenharmony_ci	be specified by its index (starting from 1) preceded by the '%'.
18562306a36Sopenharmony_ci	So '%1' is the first event, '%2' is the second, and so on.
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ci	The field name can have '/raw' suffix which disables pretty printing
18862306a36Sopenharmony_ci	and shows raw field value like hex numbers.  The --raw-trace option
18962306a36Sopenharmony_ci	has the same effect for all dynamic sort keys.
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ci	The default sort keys are changed to 'trace' if all events in the data
19262306a36Sopenharmony_ci	file are tracepoint.
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci-F::
19562306a36Sopenharmony_ci--fields=::
19662306a36Sopenharmony_ci	Specify output field - multiple keys can be specified in CSV format.
19762306a36Sopenharmony_ci	Following fields are available:
19862306a36Sopenharmony_ci	overhead, overhead_sys, overhead_us, overhead_children, sample and period.
19962306a36Sopenharmony_ci	Also it can contain any sort key(s).
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ci	By default, every sort keys not specified in -F will be appended
20262306a36Sopenharmony_ci	automatically.
20362306a36Sopenharmony_ci
20462306a36Sopenharmony_ci	If the keys starts with a prefix '+', then it will append the specified
20562306a36Sopenharmony_ci        field(s) to the default field order. For example: perf report -F +period,sample.
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ci-p::
20862306a36Sopenharmony_ci--parent=<regex>::
20962306a36Sopenharmony_ci        A regex filter to identify parent. The parent is a caller of this
21062306a36Sopenharmony_ci	function and searched through the callchain, thus it requires callchain
21162306a36Sopenharmony_ci	information recorded. The pattern is in the extended regex format and
21262306a36Sopenharmony_ci	defaults to "\^sys_|^do_page_fault", see '--sort parent'.
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ci-x::
21562306a36Sopenharmony_ci--exclude-other::
21662306a36Sopenharmony_ci        Only display entries with parent-match.
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ci-w::
21962306a36Sopenharmony_ci--column-widths=<width[,width...]>::
22062306a36Sopenharmony_ci	Force each column width to the provided list, for large terminal
22162306a36Sopenharmony_ci	readability.  0 means no limit (default behavior).
22262306a36Sopenharmony_ci
22362306a36Sopenharmony_ci-t::
22462306a36Sopenharmony_ci--field-separator=::
22562306a36Sopenharmony_ci	Use a special separator character and don't pad with spaces, replacing
22662306a36Sopenharmony_ci	all occurrences of this separator in symbol names (and other output)
22762306a36Sopenharmony_ci	with a '.' character, that thus it's the only non valid separator.
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci-D::
23062306a36Sopenharmony_ci--dump-raw-trace::
23162306a36Sopenharmony_ci        Dump raw trace in ASCII.
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ci--disable-order::
23462306a36Sopenharmony_ci	Disable raw trace ordering.
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_ci-g::
23762306a36Sopenharmony_ci--call-graph=<print_type,threshold[,print_limit],order,sort_key[,branch],value>::
23862306a36Sopenharmony_ci        Display call chains using type, min percent threshold, print limit,
23962306a36Sopenharmony_ci	call order, sort key, optional branch and value.  Note that ordering
24062306a36Sopenharmony_ci	is not fixed so any parameter can be given in an arbitrary order.
24162306a36Sopenharmony_ci	One exception is the print_limit which should be preceded by threshold.
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ci	print_type can be either:
24462306a36Sopenharmony_ci	- flat: single column, linear exposure of call chains.
24562306a36Sopenharmony_ci	- graph: use a graph tree, displaying absolute overhead rates. (default)
24662306a36Sopenharmony_ci	- fractal: like graph, but displays relative rates. Each branch of
24762306a36Sopenharmony_ci		 the tree is considered as a new profiled object.
24862306a36Sopenharmony_ci	- folded: call chains are displayed in a line, separated by semicolons
24962306a36Sopenharmony_ci	- none: disable call chain display.
25062306a36Sopenharmony_ci
25162306a36Sopenharmony_ci	threshold is a percentage value which specifies a minimum percent to be
25262306a36Sopenharmony_ci	included in the output call graph.  Default is 0.5 (%).
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ci	print_limit is only applied when stdio interface is used.  It's to limit
25562306a36Sopenharmony_ci	number of call graph entries in a single hist entry.  Note that it needs
25662306a36Sopenharmony_ci	to be given after threshold (but not necessarily consecutive).
25762306a36Sopenharmony_ci	Default is 0 (unlimited).
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ci	order can be either:
26062306a36Sopenharmony_ci	- callee: callee based call graph.
26162306a36Sopenharmony_ci	- caller: inverted caller based call graph.
26262306a36Sopenharmony_ci	Default is 'caller' when --children is used, otherwise 'callee'.
26362306a36Sopenharmony_ci
26462306a36Sopenharmony_ci	sort_key can be:
26562306a36Sopenharmony_ci	- function: compare on functions (default)
26662306a36Sopenharmony_ci	- address: compare on individual code addresses
26762306a36Sopenharmony_ci	- srcline: compare on source filename and line number
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_ci	branch can be:
27062306a36Sopenharmony_ci	- branch: include last branch information in callgraph when available.
27162306a36Sopenharmony_ci	          Usually more convenient to use --branch-history for this.
27262306a36Sopenharmony_ci
27362306a36Sopenharmony_ci	value can be:
27462306a36Sopenharmony_ci	- percent: display overhead percent (default)
27562306a36Sopenharmony_ci	- period: display event period
27662306a36Sopenharmony_ci	- count: display event count
27762306a36Sopenharmony_ci
27862306a36Sopenharmony_ci--children::
27962306a36Sopenharmony_ci	Accumulate callchain of children to parent entry so that then can
28062306a36Sopenharmony_ci	show up in the output.  The output will have a new "Children" column
28162306a36Sopenharmony_ci	and will be sorted on the data.  It requires callchains are recorded.
28262306a36Sopenharmony_ci	See the `overhead calculation' section for more details. Enabled by
28362306a36Sopenharmony_ci	default, disable with --no-children.
28462306a36Sopenharmony_ci
28562306a36Sopenharmony_ci--max-stack::
28662306a36Sopenharmony_ci	Set the stack depth limit when parsing the callchain, anything
28762306a36Sopenharmony_ci	beyond the specified depth will be ignored. This is a trade-off
28862306a36Sopenharmony_ci	between information loss and faster processing especially for
28962306a36Sopenharmony_ci	workloads that can have a very long callchain stack.
29062306a36Sopenharmony_ci	Note that when using the --itrace option the synthesized callchain size
29162306a36Sopenharmony_ci	will override this value if the synthesized callchain size is bigger.
29262306a36Sopenharmony_ci
29362306a36Sopenharmony_ci	Default: 127
29462306a36Sopenharmony_ci
29562306a36Sopenharmony_ci-G::
29662306a36Sopenharmony_ci--inverted::
29762306a36Sopenharmony_ci        alias for inverted caller based call graph.
29862306a36Sopenharmony_ci
29962306a36Sopenharmony_ci--ignore-callees=<regex>::
30062306a36Sopenharmony_ci        Ignore callees of the function(s) matching the given regex.
30162306a36Sopenharmony_ci        This has the effect of collecting the callers of each such
30262306a36Sopenharmony_ci        function into one place in the call-graph tree.
30362306a36Sopenharmony_ci
30462306a36Sopenharmony_ci--pretty=<key>::
30562306a36Sopenharmony_ci        Pretty printing style.  key: normal, raw
30662306a36Sopenharmony_ci
30762306a36Sopenharmony_ci--stdio:: Use the stdio interface.
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_ci--stdio-color::
31062306a36Sopenharmony_ci	'always', 'never' or 'auto', allowing configuring color output
31162306a36Sopenharmony_ci	via the command line, in addition to via "color.ui" .perfconfig.
31262306a36Sopenharmony_ci	Use '--stdio-color always' to generate color even when redirecting
31362306a36Sopenharmony_ci	to a pipe or file. Using just '--stdio-color' is equivalent to
31462306a36Sopenharmony_ci	using 'always'.
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ci--tui:: Use the TUI interface, that is integrated with annotate and allows
31762306a36Sopenharmony_ci        zooming into DSOs or threads, among other features. Use of --tui
31862306a36Sopenharmony_ci	requires a tty, if one is not present, as when piping to other
31962306a36Sopenharmony_ci	commands, the stdio interface is used.
32062306a36Sopenharmony_ci
32162306a36Sopenharmony_ci--gtk:: Use the GTK2 interface.
32262306a36Sopenharmony_ci
32362306a36Sopenharmony_ci-k::
32462306a36Sopenharmony_ci--vmlinux=<file>::
32562306a36Sopenharmony_ci        vmlinux pathname
32662306a36Sopenharmony_ci
32762306a36Sopenharmony_ci--ignore-vmlinux::
32862306a36Sopenharmony_ci	Ignore vmlinux files.
32962306a36Sopenharmony_ci
33062306a36Sopenharmony_ci--kallsyms=<file>::
33162306a36Sopenharmony_ci        kallsyms pathname
33262306a36Sopenharmony_ci
33362306a36Sopenharmony_ci-m::
33462306a36Sopenharmony_ci--modules::
33562306a36Sopenharmony_ci        Load module symbols. WARNING: This should only be used with -k and
33662306a36Sopenharmony_ci        a LIVE kernel.
33762306a36Sopenharmony_ci
33862306a36Sopenharmony_ci-f::
33962306a36Sopenharmony_ci--force::
34062306a36Sopenharmony_ci        Don't do ownership validation.
34162306a36Sopenharmony_ci
34262306a36Sopenharmony_ci--symfs=<directory>::
34362306a36Sopenharmony_ci        Look for files with symbols relative to this directory.
34462306a36Sopenharmony_ci
34562306a36Sopenharmony_ci-C::
34662306a36Sopenharmony_ci--cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can
34762306a36Sopenharmony_ci	be provided as a comma-separated list with no space: 0,1. Ranges of
34862306a36Sopenharmony_ci	CPUs are specified with -: 0-2. Default is to report samples on all
34962306a36Sopenharmony_ci	CPUs.
35062306a36Sopenharmony_ci
35162306a36Sopenharmony_ci-M::
35262306a36Sopenharmony_ci--disassembler-style=:: Set disassembler style for objdump.
35362306a36Sopenharmony_ci
35462306a36Sopenharmony_ci--source::
35562306a36Sopenharmony_ci	Interleave source code with assembly code. Enabled by default,
35662306a36Sopenharmony_ci	disable with --no-source.
35762306a36Sopenharmony_ci
35862306a36Sopenharmony_ci--asm-raw::
35962306a36Sopenharmony_ci	Show raw instruction encoding of assembly instructions.
36062306a36Sopenharmony_ci
36162306a36Sopenharmony_ci--show-total-period:: Show a column with the sum of periods.
36262306a36Sopenharmony_ci
36362306a36Sopenharmony_ci-I::
36462306a36Sopenharmony_ci--show-info::
36562306a36Sopenharmony_ci	Display extended information about the perf.data file. This adds
36662306a36Sopenharmony_ci	information which may be very large and thus may clutter the display.
36762306a36Sopenharmony_ci	It currently includes: cpu and numa topology of the host system.
36862306a36Sopenharmony_ci
36962306a36Sopenharmony_ci-b::
37062306a36Sopenharmony_ci--branch-stack::
37162306a36Sopenharmony_ci	Use the addresses of sampled taken branches instead of the instruction
37262306a36Sopenharmony_ci	address to build the histograms. To generate meaningful output, the
37362306a36Sopenharmony_ci	perf.data file must have been obtained using perf record -b or
37462306a36Sopenharmony_ci	perf record --branch-filter xxx where xxx is a branch filter option.
37562306a36Sopenharmony_ci	perf report is able to auto-detect whether a perf.data file contains
37662306a36Sopenharmony_ci	branch stacks and it will automatically switch to the branch view mode,
37762306a36Sopenharmony_ci	unless --no-branch-stack is used.
37862306a36Sopenharmony_ci
37962306a36Sopenharmony_ci--branch-history::
38062306a36Sopenharmony_ci	Add the addresses of sampled taken branches to the callstack.
38162306a36Sopenharmony_ci	This allows to examine the path the program took to each sample.
38262306a36Sopenharmony_ci	The data collection must have used -b (or -j) and -g.
38362306a36Sopenharmony_ci
38462306a36Sopenharmony_ci--addr2line=<path>::
38562306a36Sopenharmony_ci        Path to addr2line binary.
38662306a36Sopenharmony_ci
38762306a36Sopenharmony_ci--objdump=<path>::
38862306a36Sopenharmony_ci        Path to objdump binary.
38962306a36Sopenharmony_ci
39062306a36Sopenharmony_ci--prefix=PREFIX::
39162306a36Sopenharmony_ci--prefix-strip=N::
39262306a36Sopenharmony_ci	Remove first N entries from source file path names in executables
39362306a36Sopenharmony_ci	and add PREFIX. This allows to display source code compiled on systems
39462306a36Sopenharmony_ci	with different file system layout.
39562306a36Sopenharmony_ci
39662306a36Sopenharmony_ci--group::
39762306a36Sopenharmony_ci	Show event group information together. It forces group output also
39862306a36Sopenharmony_ci	if there are no groups defined in data file.
39962306a36Sopenharmony_ci
40062306a36Sopenharmony_ci--group-sort-idx::
40162306a36Sopenharmony_ci	Sort the output by the event at the index n in group. If n is invalid,
40262306a36Sopenharmony_ci	sort by the first event. It can support multiple groups with different
40362306a36Sopenharmony_ci	amount of events. WARNING: This should be used on grouped events.
40462306a36Sopenharmony_ci
40562306a36Sopenharmony_ci--demangle::
40662306a36Sopenharmony_ci	Demangle symbol names to human readable form. It's enabled by default,
40762306a36Sopenharmony_ci	disable with --no-demangle.
40862306a36Sopenharmony_ci
40962306a36Sopenharmony_ci--demangle-kernel::
41062306a36Sopenharmony_ci	Demangle kernel symbol names to human readable form (for C++ kernels).
41162306a36Sopenharmony_ci
41262306a36Sopenharmony_ci--mem-mode::
41362306a36Sopenharmony_ci	Use the data addresses of samples in addition to instruction addresses
41462306a36Sopenharmony_ci	to build the histograms.  To generate meaningful output, the perf.data
41562306a36Sopenharmony_ci	file must have been obtained using perf record -d -W and using a
41662306a36Sopenharmony_ci	special event -e cpu/mem-loads/p or -e cpu/mem-stores/p. See
41762306a36Sopenharmony_ci	'perf mem' for simpler access.
41862306a36Sopenharmony_ci
41962306a36Sopenharmony_ci--percent-limit::
42062306a36Sopenharmony_ci	Do not show entries which have an overhead under that percent.
42162306a36Sopenharmony_ci	(Default: 0).  Note that this option also sets the percent limit (threshold)
42262306a36Sopenharmony_ci	of callchains.  However the default value of callchain threshold is
42362306a36Sopenharmony_ci	different than the default value of hist entries.  Please see the
42462306a36Sopenharmony_ci	--call-graph option for details.
42562306a36Sopenharmony_ci
42662306a36Sopenharmony_ci--percentage::
42762306a36Sopenharmony_ci	Determine how to display the overhead percentage of filtered entries.
42862306a36Sopenharmony_ci	Filters can be applied by --comms, --dsos and/or --symbols options and
42962306a36Sopenharmony_ci	Zoom operations on the TUI (thread, dso, etc).
43062306a36Sopenharmony_ci
43162306a36Sopenharmony_ci	"relative" means it's relative to filtered entries only so that the
43262306a36Sopenharmony_ci	sum of shown entries will be always 100%.  "absolute" means it retains
43362306a36Sopenharmony_ci	the original value before and after the filter is applied.
43462306a36Sopenharmony_ci
43562306a36Sopenharmony_ci--header::
43662306a36Sopenharmony_ci	Show header information in the perf.data file.  This includes
43762306a36Sopenharmony_ci	various information like hostname, OS and perf version, cpu/mem
43862306a36Sopenharmony_ci	info, perf command line, event list and so on.  Currently only
43962306a36Sopenharmony_ci	--stdio output supports this feature.
44062306a36Sopenharmony_ci
44162306a36Sopenharmony_ci--header-only::
44262306a36Sopenharmony_ci	Show only perf.data header (forces --stdio).
44362306a36Sopenharmony_ci
44462306a36Sopenharmony_ci--time::
44562306a36Sopenharmony_ci	Only analyze samples within given time window: <start>,<stop>. Times
44662306a36Sopenharmony_ci	have the format seconds.nanoseconds. If start is not given (i.e. time
44762306a36Sopenharmony_ci	string is ',x.y') then analysis starts at the beginning of the file. If
44862306a36Sopenharmony_ci	stop time is not given (i.e. time string is 'x.y,') then analysis goes
44962306a36Sopenharmony_ci	to end of file. Multiple ranges can be separated by spaces, which
45062306a36Sopenharmony_ci	requires the argument to be quoted e.g. --time "1234.567,1234.789 1235,"
45162306a36Sopenharmony_ci
45262306a36Sopenharmony_ci	Also support time percent with multiple time ranges. Time string is
45362306a36Sopenharmony_ci	'a%/n,b%/m,...' or 'a%-b%,c%-%d,...'.
45462306a36Sopenharmony_ci
45562306a36Sopenharmony_ci	For example:
45662306a36Sopenharmony_ci	Select the second 10% time slice:
45762306a36Sopenharmony_ci
45862306a36Sopenharmony_ci	  perf report --time 10%/2
45962306a36Sopenharmony_ci
46062306a36Sopenharmony_ci	Select from 0% to 10% time slice:
46162306a36Sopenharmony_ci
46262306a36Sopenharmony_ci	  perf report --time 0%-10%
46362306a36Sopenharmony_ci
46462306a36Sopenharmony_ci	Select the first and second 10% time slices:
46562306a36Sopenharmony_ci
46662306a36Sopenharmony_ci	  perf report --time 10%/1,10%/2
46762306a36Sopenharmony_ci
46862306a36Sopenharmony_ci	Select from 0% to 10% and 30% to 40% slices:
46962306a36Sopenharmony_ci
47062306a36Sopenharmony_ci	  perf report --time 0%-10%,30%-40%
47162306a36Sopenharmony_ci
47262306a36Sopenharmony_ci--switch-on EVENT_NAME::
47362306a36Sopenharmony_ci	Only consider events after this event is found.
47462306a36Sopenharmony_ci
47562306a36Sopenharmony_ci	This may be interesting to measure a workload only after some initialization
47662306a36Sopenharmony_ci	phase is over, i.e. insert a perf probe at that point and then using this
47762306a36Sopenharmony_ci	option with that probe.
47862306a36Sopenharmony_ci
47962306a36Sopenharmony_ci--switch-off EVENT_NAME::
48062306a36Sopenharmony_ci	Stop considering events after this event is found.
48162306a36Sopenharmony_ci
48262306a36Sopenharmony_ci--show-on-off-events::
48362306a36Sopenharmony_ci	Show the --switch-on/off events too. This has no effect in 'perf report' now
48462306a36Sopenharmony_ci	but probably we'll make the default not to show the switch-on/off events
48562306a36Sopenharmony_ci        on the --group mode and if there is only one event besides the off/on ones,
48662306a36Sopenharmony_ci	go straight to the histogram browser, just like 'perf report' with no events
48762306a36Sopenharmony_ci	explicitly specified does.
48862306a36Sopenharmony_ci
48962306a36Sopenharmony_ci--itrace::
49062306a36Sopenharmony_ci	Options for decoding instruction tracing data. The options are:
49162306a36Sopenharmony_ci
49262306a36Sopenharmony_ciinclude::itrace.txt[]
49362306a36Sopenharmony_ci
49462306a36Sopenharmony_ci	To disable decoding entirely, use --no-itrace.
49562306a36Sopenharmony_ci
49662306a36Sopenharmony_ci--full-source-path::
49762306a36Sopenharmony_ci	Show the full path for source files for srcline output.
49862306a36Sopenharmony_ci
49962306a36Sopenharmony_ci--show-ref-call-graph::
50062306a36Sopenharmony_ci	When multiple events are sampled, it may not be needed to collect
50162306a36Sopenharmony_ci	callgraphs for all of them. The sample sites are usually nearby,
50262306a36Sopenharmony_ci	and it's enough to collect the callgraphs on a reference event.
50362306a36Sopenharmony_ci	So user can use "call-graph=no" event modifier to disable callgraph
50462306a36Sopenharmony_ci	for other events to reduce the overhead.
50562306a36Sopenharmony_ci	However, perf report cannot show callgraphs for the event which
50662306a36Sopenharmony_ci	disable the callgraph.
50762306a36Sopenharmony_ci	This option extends the perf report to show reference callgraphs,
50862306a36Sopenharmony_ci	which collected by reference event, in no callgraph event.
50962306a36Sopenharmony_ci
51062306a36Sopenharmony_ci--stitch-lbr::
51162306a36Sopenharmony_ci	Show callgraph with stitched LBRs, which may have more complete
51262306a36Sopenharmony_ci	callgraph. The perf.data file must have been obtained using
51362306a36Sopenharmony_ci	perf record --call-graph lbr.
51462306a36Sopenharmony_ci	Disabled by default. In common cases with call stack overflows,
51562306a36Sopenharmony_ci	it can recreate better call stacks than the default lbr call stack
51662306a36Sopenharmony_ci	output. But this approach is not foolproof. There can be cases
51762306a36Sopenharmony_ci	where it creates incorrect call stacks from incorrect matches.
51862306a36Sopenharmony_ci	The known limitations include exception handing such as
51962306a36Sopenharmony_ci	setjmp/longjmp will have calls/returns not match.
52062306a36Sopenharmony_ci
52162306a36Sopenharmony_ci--socket-filter::
52262306a36Sopenharmony_ci	Only report the samples on the processor socket that match with this filter
52362306a36Sopenharmony_ci
52462306a36Sopenharmony_ci--samples=N::
52562306a36Sopenharmony_ci	Save N individual samples for each histogram entry to show context in perf
52662306a36Sopenharmony_ci	report tui browser.
52762306a36Sopenharmony_ci
52862306a36Sopenharmony_ci--raw-trace::
52962306a36Sopenharmony_ci	When displaying traceevent output, do not use print fmt or plugins.
53062306a36Sopenharmony_ci
53162306a36Sopenharmony_ci--hierarchy::
53262306a36Sopenharmony_ci	Enable hierarchical output.
53362306a36Sopenharmony_ci
53462306a36Sopenharmony_ci--inline::
53562306a36Sopenharmony_ci	If a callgraph address belongs to an inlined function, the inline stack
53662306a36Sopenharmony_ci	will be printed. Each entry is function name or file/line. Enabled by
53762306a36Sopenharmony_ci	default, disable with --no-inline.
53862306a36Sopenharmony_ci
53962306a36Sopenharmony_ci--mmaps::
54062306a36Sopenharmony_ci	Show --tasks output plus mmap information in a format similar to
54162306a36Sopenharmony_ci	/proc/<PID>/maps.
54262306a36Sopenharmony_ci
54362306a36Sopenharmony_ci	Please note that not all mmaps are stored, options affecting which ones
54462306a36Sopenharmony_ci	are include 'perf record --data', for instance.
54562306a36Sopenharmony_ci
54662306a36Sopenharmony_ci--ns::
54762306a36Sopenharmony_ci	Show time stamps in nanoseconds.
54862306a36Sopenharmony_ci
54962306a36Sopenharmony_ci--stats::
55062306a36Sopenharmony_ci	Display overall events statistics without any further processing.
55162306a36Sopenharmony_ci	(like the one at the end of the perf report -D command)
55262306a36Sopenharmony_ci
55362306a36Sopenharmony_ci--tasks::
55462306a36Sopenharmony_ci	Display monitored tasks stored in perf data. Displaying pid/tid/ppid
55562306a36Sopenharmony_ci	plus the command string aligned to distinguish parent and child tasks.
55662306a36Sopenharmony_ci
55762306a36Sopenharmony_ci--percent-type::
55862306a36Sopenharmony_ci	Set annotation percent type from following choices:
55962306a36Sopenharmony_ci	  global-period, local-period, global-hits, local-hits
56062306a36Sopenharmony_ci
56162306a36Sopenharmony_ci	The local/global keywords set if the percentage is computed
56262306a36Sopenharmony_ci	in the scope of the function (local) or the whole data (global).
56362306a36Sopenharmony_ci	The period/hits keywords set the base the percentage is computed
56462306a36Sopenharmony_ci	on - the samples period or the number of samples (hits).
56562306a36Sopenharmony_ci
56662306a36Sopenharmony_ci--time-quantum::
56762306a36Sopenharmony_ci	Configure time quantum for time sort key. Default 100ms.
56862306a36Sopenharmony_ci	Accepts s, us, ms, ns units.
56962306a36Sopenharmony_ci
57062306a36Sopenharmony_ci--total-cycles::
57162306a36Sopenharmony_ci	When --total-cycles is specified, it supports sorting for all blocks by
57262306a36Sopenharmony_ci	'Sampled Cycles%'. This is useful to concentrate on the globally hottest
57362306a36Sopenharmony_ci	blocks. In output, there are some new columns:
57462306a36Sopenharmony_ci
57562306a36Sopenharmony_ci	'Sampled Cycles%' - block sampled cycles aggregation / total sampled cycles
57662306a36Sopenharmony_ci	'Sampled Cycles'  - block sampled cycles aggregation
57762306a36Sopenharmony_ci	'Avg Cycles%'     - block average sampled cycles / sum of total block average
57862306a36Sopenharmony_ci			    sampled cycles
57962306a36Sopenharmony_ci	'Avg Cycles'      - block average sampled cycles
58062306a36Sopenharmony_ci
58162306a36Sopenharmony_ci--skip-empty::
58262306a36Sopenharmony_ci	Do not print 0 results in the --stat output.
58362306a36Sopenharmony_ci
58462306a36Sopenharmony_ciinclude::callchain-overhead-calculation.txt[]
58562306a36Sopenharmony_ci
58662306a36Sopenharmony_ciSEE ALSO
58762306a36Sopenharmony_ci--------
58862306a36Sopenharmony_cilinkperf:perf-stat[1], linkperf:perf-annotate[1], linkperf:perf-record[1],
58962306a36Sopenharmony_cilinkperf:perf-intel-pt[1]
590