perf-inject(1) - Linux manual page

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | SEE ALSO | COLOPHON

PERF-INJECT(1)                   perf Manual                  PERF-INJECT(1)

NAME         top

       perf-inject - Filter to augment the events stream with additional
       information

SYNOPSIS         top

       perf inject <options>

DESCRIPTION         top

       perf-inject reads a perf-record event stream and repipes it to
       stdout. At any point the processing code can inject other events into
       the event stream - in this case build-ids (-b option) are read and
       injected as needed into the event stream.

       Build-ids are just the first user of perf-inject - potentially
       anything that needs userspace processing to augment the events stream
       with additional information could make use of this facility.

OPTIONS         top

       -b, --build-ids=
           Inject build-ids into the output stream

       -v, --verbose
           Be more verbose.

       -i, --input=
           Input file name. (default: stdin)

       -o, --output=
           Output file name. (default: stdout)

       -s, --sched-stat
           Merge sched_stat and sched_switch for getting events where and
           how long tasks slept. sched_switch contains a callchain where a
           task slept and sched_stat contains a timeslice how long a task
           slept.

       --kallsyms=<file>
           kallsyms pathname

       --itrace
           Decode Instruction Tracing data, replacing it with synthesized
           events. Options are:

               i       synthesize instructions events
               b       synthesize branches events
               c       synthesize branches events (calls only)
               r       synthesize branches events (returns only)
               x       synthesize transactions events
               w       synthesize ptwrite events
               p       synthesize power events
               e       synthesize error events
               d       create a debug log
               g       synthesize a call chain (use with i or x)
               l       synthesize last branch entries (use with i or x)
               s       skip initial number of events

               The default is all events i.e. the same as --itrace=ibxwpe

               In addition, the period (default 100000) for instructions events
               can be specified in units of:

               i       instructions
               t       ticks
               ms      milliseconds
               us      microseconds
               ns      nanoseconds (default)

               Also the call chain size (default 16, max. 1024) for instructions or
               transactions events can be specified.

               Also the number of last branch entries (default 64, max. 1024) for
               instructions or transactions events can be specified.

               It is also possible to skip events generated (instructions, branches, transactions,
               ptwrite, power) at the beginning. This is useful to ignore initialization code.

               --itrace=i0nss1000000

               skips the first million instructions.

       --strip
           Use with --itrace to strip out non-synthesized events.

       -j, --jit
           Process jitdump files by injecting the mmap records corresponding
           to jitted functions. This option also generates the ELF images
           for each jitted function found in the jitdumps files captured in
           the input perf.data file. Use this option if you are monitoring
           environment using JIT runtimes, such as Java, DART or V8.

       -f, --force
           Don’t complain, do it.

SEE ALSO         top

       perf-record(1), perf-report(1), perf-archive(1)

COLOPHON         top

       This page is part of the perf (Performance analysis tools for Linux
       (in Linux source tree)) project.  Information about the project can
       be found at ⟨https://perf.wiki.kernel.org/index.php/Main_Page⟩.  If
       you have a bug report for this manual page, send it to
       linux-kernel@vger.kernel.org.  This page was obtained from the
       project's upstream Git repository
       ⟨http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git⟩ on
       2018-02-02.  (At that time, the date of the most recent commit that
       was found in the repository was 2018-02-01.)  If you discover any
       rendering problems in this HTML version of the page, or you believe
       there is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

perf                             01/30/2018                   PERF-INJECT(1)