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