perf-inject(1)
==============

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

SYNOPSIS
--------
[verse]
'perf inject <options>'

DESCRIPTION
-----------
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
-------
-b::
--build-ids::
        Inject build-ids into the output stream

--buildid-all:
	Inject build-ids of all DSOs 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.

-k::
--vmlinux=<file>::
        vmlinux pathname

--ignore-vmlinux::
	Ignore vmlinux files.

--kallsyms=<file>::
	kallsyms pathname

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

include::itrace.txt[]

--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.

--vm-time-correlation[=OPTIONS]::
	Some architectures may capture AUX area data which contains timestamps
	affected by virtualization. This option will update those timestamps
	in place, to correlate with host timestamps. The in-place update means
	that an output file is not specified, and instead the input file is
	modified.  The options are architecture specific, except that they may
	start with "dry-run" which will cause the file to be processed but
	without updating it. Currently this option is supported only by
	Intel PT, refer linkperf:perf-intel-pt[1]

SEE ALSO
--------
linkperf:perf-record[1], linkperf:perf-report[1], linkperf:perf-archive[1],
linkperf:perf-intel-pt[1]
