162306a36Sopenharmony_ciperf-annotate(1)
262306a36Sopenharmony_ci================
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciNAME
562306a36Sopenharmony_ci----
662306a36Sopenharmony_ciperf-annotate - Read perf.data (created by perf record) and display annotated code
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciSYNOPSIS
962306a36Sopenharmony_ci--------
1062306a36Sopenharmony_ci[verse]
1162306a36Sopenharmony_ci'perf annotate' [-i <file> | --input=file] [symbol_name]
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciDESCRIPTION
1462306a36Sopenharmony_ci-----------
1562306a36Sopenharmony_ciThis command reads the input file and displays an annotated version of the
1662306a36Sopenharmony_cicode. If the object file has debug symbols then the source code will be
1762306a36Sopenharmony_cidisplayed alongside assembly code.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciIf there is no debug info in the object, then annotated assembly is displayed.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciOPTIONS
2262306a36Sopenharmony_ci-------
2362306a36Sopenharmony_ci-i::
2462306a36Sopenharmony_ci--input=<file>::
2562306a36Sopenharmony_ci        Input file name. (default: perf.data unless stdin is a fifo)
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci-d::
2862306a36Sopenharmony_ci--dsos=<dso[,dso...]>::
2962306a36Sopenharmony_ci        Only consider symbols in these dsos.
3062306a36Sopenharmony_ci-s::
3162306a36Sopenharmony_ci--symbol=<symbol>::
3262306a36Sopenharmony_ci        Symbol to annotate.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci-f::
3562306a36Sopenharmony_ci--force::
3662306a36Sopenharmony_ci        Don't do ownership validation.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci-v::
3962306a36Sopenharmony_ci--verbose::
4062306a36Sopenharmony_ci        Be more verbose. (Show symbol address, etc)
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci-q::
4362306a36Sopenharmony_ci--quiet::
4462306a36Sopenharmony_ci	Do not show any warnings or messages.  (Suppress -v)
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci-n::
4762306a36Sopenharmony_ci--show-nr-samples::
4862306a36Sopenharmony_ci	Show the number of samples for each symbol
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci-D::
5162306a36Sopenharmony_ci--dump-raw-trace::
5262306a36Sopenharmony_ci        Dump raw trace in ASCII.
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci-k::
5562306a36Sopenharmony_ci--vmlinux=<file>::
5662306a36Sopenharmony_ci        vmlinux pathname.
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci--ignore-vmlinux::
5962306a36Sopenharmony_ci	Ignore vmlinux files.
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci--itrace::
6262306a36Sopenharmony_ci	Options for decoding instruction tracing data. The options are:
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciinclude::itrace.txt[]
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci	To disable decoding entirely, use --no-itrace.
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci-m::
6962306a36Sopenharmony_ci--modules::
7062306a36Sopenharmony_ci        Load module symbols. WARNING: use only with -k and LIVE kernel.
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci-l::
7362306a36Sopenharmony_ci--print-line::
7462306a36Sopenharmony_ci        Print matching source lines (may be slow).
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci-P::
7762306a36Sopenharmony_ci--full-paths::
7862306a36Sopenharmony_ci        Don't shorten the displayed pathnames.
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci--stdio:: Use the stdio interface.
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci--stdio2:: Use the stdio2 interface, non-interactive, uses the TUI formatting.
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci--stdio-color=<mode>::
8562306a36Sopenharmony_ci	'always', 'never' or 'auto', allowing configuring color output
8662306a36Sopenharmony_ci	via the command line, in addition to via "color.ui" .perfconfig.
8762306a36Sopenharmony_ci	Use '--stdio-color always' to generate color even when redirecting
8862306a36Sopenharmony_ci	to a pipe or file. Using just '--stdio-color' is equivalent to
8962306a36Sopenharmony_ci	using 'always'.
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci--tui:: Use the TUI interface. Use of --tui requires a tty, if one is not
9262306a36Sopenharmony_ci	present, as when piping to other commands, the stdio interface is
9362306a36Sopenharmony_ci	used. This interfaces starts by centering on the line with more
9462306a36Sopenharmony_ci	samples, TAB/UNTAB cycles through the lines with more samples.
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci--gtk:: Use the GTK interface.
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci-C::
9962306a36Sopenharmony_ci--cpu=<cpu>:: Only report samples for the list of CPUs provided. Multiple CPUs can
10062306a36Sopenharmony_ci	be provided as a comma-separated list with no space: 0,1. Ranges of
10162306a36Sopenharmony_ci	CPUs are specified with -: 0-2. Default is to report samples on all
10262306a36Sopenharmony_ci	CPUs.
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci--asm-raw::
10562306a36Sopenharmony_ci	Show raw instruction encoding of assembly instructions.
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci--show-total-period:: Show a column with the sum of periods.
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci--source::
11062306a36Sopenharmony_ci	Interleave source code with assembly code. Enabled by default,
11162306a36Sopenharmony_ci	disable with --no-source.
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci--symfs=<directory>::
11462306a36Sopenharmony_ci        Look for files with symbols relative to this directory.
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci-M::
11762306a36Sopenharmony_ci--disassembler-style=:: Set disassembler style for objdump.
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci--addr2line=<path>::
12062306a36Sopenharmony_ci        Path to addr2line binary.
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci--objdump=<path>::
12362306a36Sopenharmony_ci        Path to objdump binary.
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci--prefix=PREFIX::
12662306a36Sopenharmony_ci--prefix-strip=N::
12762306a36Sopenharmony_ci	Remove first N entries from source file path names in executables
12862306a36Sopenharmony_ci	and add PREFIX. This allows to display source code compiled on systems
12962306a36Sopenharmony_ci	with different file system layout.
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ci--skip-missing::
13262306a36Sopenharmony_ci	Skip symbols that cannot be annotated.
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci--group::
13562306a36Sopenharmony_ci	Show event group information together
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci--demangle::
13862306a36Sopenharmony_ci	Demangle symbol names to human readable form. It's enabled by default,
13962306a36Sopenharmony_ci	disable with --no-demangle.
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci--demangle-kernel::
14262306a36Sopenharmony_ci	Demangle kernel symbol names to human readable form (for C++ kernels).
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_ci--percent-type::
14562306a36Sopenharmony_ci	Set annotation percent type from following choices:
14662306a36Sopenharmony_ci	  global-period, local-period, global-hits, local-hits
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci	The local/global keywords set if the percentage is computed
14962306a36Sopenharmony_ci	in the scope of the function (local) or the whole data (global).
15062306a36Sopenharmony_ci	The period/hits keywords set the base the percentage is computed
15162306a36Sopenharmony_ci	on - the samples period or the number of samples (hits).
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ci--percent-limit::
15462306a36Sopenharmony_ci	Do not show functions which have an overhead under that percent on
15562306a36Sopenharmony_ci	stdio or stdio2 (Default: 0).  Note that this is about selection of
15662306a36Sopenharmony_ci	functions to display, not about lines within the function.
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ciSEE ALSO
15962306a36Sopenharmony_ci--------
16062306a36Sopenharmony_cilinkperf:perf-record[1], linkperf:perf-report[1]
161