| 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[,layout]>:: | |
| Look for files with symbols relative to this directory. The optional | |
| layout can be 'hierarchy' (default, matches full path) or 'flat' | |
| (only matches base name). This is useful when debug files are stored | |
| in a flat directory structure. | |
| -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. | |
| --skip-empty:: | |
| Do not display empty (or dummy) events. | |
| --code-with-type:: | |
| Show data type info in code annotation (for memory instructions only). | |
| SEE ALSO | |
| -------- | |
| linkperf:perf-record[1], linkperf:perf-report[1] |