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
-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
		e	synthesize error events
		d	create a debug log
		g	synthesize a call chain (use with i or x)

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

	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.

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