158 lines
4.0 KiB
Plaintext
158 lines
4.0 KiB
Plaintext
|
perf-annotate(1)
|
||
|
================
|
||
|
|
||
|
NAME
|
||
|
----
|
||
|
perf-annotate - Read perf.data (created by perf record) and display annotated code
|
||
|
|
||
|
SYNOPSIS
|
||
|
--------
|
||
|
[verse]
|
||
|
'perf annotate' [-i <file> | --input=file] [symbol_name]
|
||
|
|
||
|
DESCRIPTION
|
||
|
-----------
|
||
|
This command reads the input file and displays an annotated version of the
|
||
|
code. If the object file has debug symbols then the source code will be
|
||
|
displayed alongside assembly code.
|
||
|
|
||
|
If there is no debug info in the object, then annotated assembly is displayed.
|
||
|
|
||
|
OPTIONS
|
||
|
-------
|
||
|
-i::
|
||
|
--input=<file>::
|
||
|
Input file name. (default: perf.data unless stdin is a fifo)
|
||
|
|
||
|
-d::
|
||
|
--dsos=<dso[,dso...]>::
|
||
|
Only consider symbols in these dsos.
|
||
|
-s::
|
||
|
--symbol=<symbol>::
|
||
|
Symbol to annotate.
|
||
|
|
||
|
-f::
|
||
|
--force::
|
||
|
Don't do ownership validation.
|
||
|
|
||
|
-v::
|
||
|
--verbose::
|
||
|
Be more verbose. (Show symbol address, etc)
|
||
|
|
||
|
-q::
|
||
|
--quiet::
|
||
|
Do not show any warnings or messages. (Suppress -v)
|
||
|
|
||
|
-n::
|
||
|
--show-nr-samples::
|
||
|
Show the number of samples for each symbol
|
||
|
|
||
|
-D::
|
||
|
--dump-raw-trace::
|
||
|
Dump raw trace in ASCII.
|
||
|
|
||
|
-k::
|
||
|
--vmlinux=<file>::
|
||
|
vmlinux pathname.
|
||
|
|
||
|
--ignore-vmlinux::
|
||
|
Ignore vmlinux files.
|
||
|
|
||
|
--itrace::
|
||
|
Options for decoding instruction tracing data. The options are:
|
||
|
|
||
|
include::itrace.txt[]
|
||
|
|
||
|
To disable decoding entirely, use --no-itrace.
|
||
|
|
||
|
-m::
|
||
|
--modules::
|
||
|
Load module symbols. WARNING: use only with -k and LIVE kernel.
|
||
|
|
||
|
-l::
|
||
|
--print-line::
|
||
|
Print matching source lines (may be slow).
|
||
|
|
||
|
-P::
|
||
|
--full-paths::
|
||
|
Don't shorten the displayed pathnames.
|
||
|
|
||
|
--stdio:: Use the stdio interface.
|
||
|
|
||
|
--stdio2:: Use the stdio2 interface, non-interactive, uses the TUI formatting.
|
||
|
|
||
|
--stdio-color=<mode>::
|
||
|
'always', 'never' or 'auto', allowing configuring color output
|
||
|
via the command line, in addition to via "color.ui" .perfconfig.
|
||
|
Use '--stdio-color always' to generate color even when redirecting
|
||
|
to a pipe or file. Using just '--stdio-color' is equivalent to
|
||
|
using 'always'.
|
||
|
|
||
|
--tui:: Use the TUI interface. Use of --tui requires a tty, if one is not
|
||
|
present, as when piping to other commands, the stdio interface is
|
||
|
used. This interfaces starts by centering on the line with more
|
||
|
samples, TAB/UNTAB cycles through the lines with more samples.
|
||
|
|
||
|
--gtk:: Use the GTK interface.
|
||
|
|
||
|
-C::
|
||
|
--cpu=<cpu>:: Only report samples for the list of CPUs provided. Multiple CPUs can
|
||
|
be provided as a comma-separated list with no space: 0,1. Ranges of
|
||
|
CPUs are specified with -: 0-2. Default is to report samples on all
|
||
|
CPUs.
|
||
|
|
||
|
--asm-raw::
|
||
|
Show raw instruction encoding of assembly instructions.
|
||
|
|
||
|
--show-total-period:: Show a column with the sum of periods.
|
||
|
|
||
|
--source::
|
||
|
Interleave source code with assembly code. Enabled by default,
|
||
|
disable with --no-source.
|
||
|
|
||
|
--symfs=<directory>::
|
||
|
Look for files with symbols relative to this directory.
|
||
|
|
||
|
-M::
|
||
|
--disassembler-style=:: Set disassembler style for objdump.
|
||
|
|
||
|
--objdump=<path>::
|
||
|
Path to objdump binary.
|
||
|
|
||
|
--prefix=PREFIX::
|
||
|
--prefix-strip=N::
|
||
|
Remove first N entries from source file path names in executables
|
||
|
and add PREFIX. This allows to display source code compiled on systems
|
||
|
with different file system layout.
|
||
|
|
||
|
--skip-missing::
|
||
|
Skip symbols that cannot be annotated.
|
||
|
|
||
|
--group::
|
||
|
Show event group information together
|
||
|
|
||
|
--demangle::
|
||
|
Demangle symbol names to human readable form. It's enabled by default,
|
||
|
disable with --no-demangle.
|
||
|
|
||
|
--demangle-kernel::
|
||
|
Demangle kernel symbol names to human readable form (for C++ kernels).
|
||
|
|
||
|
--percent-type::
|
||
|
Set annotation percent type from following choices:
|
||
|
global-period, local-period, global-hits, local-hits
|
||
|
|
||
|
The local/global keywords set if the percentage is computed
|
||
|
in the scope of the function (local) or the whole data (global).
|
||
|
The period/hits keywords set the base the percentage is computed
|
||
|
on - the samples period or the number of samples (hits).
|
||
|
|
||
|
--percent-limit::
|
||
|
Do not show functions which have an overhead under that percent on
|
||
|
stdio or stdio2 (Default: 0). Note that this is about selection of
|
||
|
functions to display, not about lines within the function.
|
||
|
|
||
|
SEE ALSO
|
||
|
--------
|
||
|
linkperf:perf-record[1], linkperf:perf-report[1]
|