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]

--guest-data=<path>,<pid>[,<time offset>[,<time scale>]]::
	Insert events from a perf.data file recorded in a virtual machine at
	the same time as the input perf.data file was recorded on the host.
	The Process ID (PID) of the QEMU hypervisor process must be provided,
	and the time offset and time scale (multiplier) will likely be needed
	to convert guest time stamps into host time stamps. For example, for
	x86 the TSC Offset and Multiplier could be provided for a virtual machine
	using Linux command line option no-kvmclock.
	Currently only mmap, mmap2, comm, task, context_switch, ksymbol,
	and text_poke events are inserted, as well as build ID information.
	The QEMU option -name debug-threads=on is needed so that thread names
	can be used to determine which thread is running which VCPU. Note
	libvirt seems to use this by default.
	When using perf record in the guest, option --sample-identifier
	should be used, and also --buildid-all and --switch-events may be
	useful.

:GMEXAMPLECMD: inject
:GMEXAMPLESUBCMD:
include::guestmount.txt[]

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