[ man7.org ](../../../index.html) > Linux > [ man-pages ](../index.html) |  [ Linux/UNIX system programming training ](http://man7.org/training/)  
---|---  
  
* * *

#  perf-annotate(1) — Linux manual page

NAME  |  SYNOPSIS  |  DESCRIPTION  |  OPTIONS  |  SEE ALSO  |  COLOPHON   
---  
|  
      
    
    _PERF-ANNOTATE_(1)               perf Manual              _PERF-ANNOTATE_(1)
    

##  NAME  top

    
    
           perf-annotate - Read perf.data (created by perf record) and
           display annotated code
    

##  SYNOPSIS  top

    
    
           _perf annotate_ [-i <file> | --input=file] [symbol_name]
    

##  DESCRIPTION  top

    
    
           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  top

    
    
           -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:
    
                   i       synthesize instructions events
                   y       synthesize cycles events
                   b       synthesize branches events (branch misses for Arm SPE)
                   c       synthesize branches events (calls only)
                   r       synthesize branches events (returns only)
                   x       synthesize transactions events
                   w       synthesize ptwrite events
                   p       synthesize power events (incl. PSB events for Intel PT)
                   o       synthesize other events recorded due to the use
                           of aux-output (refer to perf record)
                   I       synthesize interrupt or similar (asynchronous) events
                           (e.g. Intel PT Event Trace)
                   e       synthesize error events
                   d       create a debug log
                   f       synthesize first level cache events
                   m       synthesize last level cache events
                   M       synthesize memory events
                   t       synthesize TLB events
                   a       synthesize remote access events
                   g       synthesize a call chain (use with i or x)
                   G       synthesize a call chain on existing event records
                   l       synthesize last branch entries (use with i or x)
                   L       synthesize last branch entries on existing event records
                   s       skip initial number of events
                   q       quicker (less detailed) decoding
                   A       approximate IPC
                   Z       prefer to ignore timestamps (so-called "timeless" decoding)
    
                   The default is all events i.e. the same as --itrace=iybxwpe,
                   except for perf script where it is --itrace=ce
    
                   In addition, the period (default 100000, except for perf script where it is 1)
                   for in