| 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. |
| |
| --addr2line=<path>:: |
| Path to addr2line binary. |
| |
| --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. |
| |
| --data-type[=TYPE_NAME]:: |
| Display data type annotation instead of code. It infers data type of |
| samples (if they are memory accessing instructions) using DWARF debug |
| information. It can take an optional argument of data type name. In |
| that case it'd show annotation for the type only, otherwise it'd show |
| all data types it finds. |
| |
| --type-stat:: |
| Show stats for the data type annotation. |
| |
| |
| SEE ALSO |
| -------- |
| linkperf:perf-record[1], linkperf:perf-report[1] |