Merge tag 'perf-core-for-mingo-3' of git://git.kernel.org/pub/scm/linux/kernel/git...
[cascardo/linux.git] / tools / perf / Documentation / perf-inject.txt
1 perf-inject(1)
2 ==============
3
4 NAME
5 ----
6 perf-inject - Filter to augment the events stream with additional information
7
8 SYNOPSIS
9 --------
10 [verse]
11 'perf inject <options>'
12
13 DESCRIPTION
14 -----------
15 perf-inject reads a perf-record event stream and repipes it to stdout.  At any
16 point the processing code can inject other events into the event stream - in
17 this case build-ids (-b option) are read and injected as needed into the event
18 stream.
19
20 Build-ids are just the first user of perf-inject - potentially anything that
21 needs userspace processing to augment the events stream with additional
22 information could make use of this facility.
23
24 OPTIONS
25 -------
26 -b::
27 --build-ids=::
28         Inject build-ids into the output stream
29 -v::
30 --verbose::
31         Be more verbose.
32 -i::
33 --input=::
34         Input file name. (default: stdin)
35 -o::
36 --output=::
37         Output file name. (default: stdout)
38 -s::
39 --sched-stat::
40         Merge sched_stat and sched_switch for getting events where and how long
41         tasks slept. sched_switch contains a callchain where a task slept and
42         sched_stat contains a timeslice how long a task slept.
43
44 --kallsyms=<file>::
45         kallsyms pathname
46
47 --itrace::
48         Decode Instruction Tracing data, replacing it with synthesized events.
49         Options are:
50
51                 i       synthesize instructions events
52                 b       synthesize branches events
53                 c       synthesize branches events (calls only)
54                 r       synthesize branches events (returns only)
55                 x       synthesize transactions events
56                 e       synthesize error events
57                 d       create a debug log
58                 g       synthesize a call chain (use with i or x)
59
60         The default is all events i.e. the same as --itrace=ibxe
61
62         In addition, the period (default 100000) for instructions events
63         can be specified in units of:
64
65                 i       instructions
66                 t       ticks
67                 ms      milliseconds
68                 us      microseconds
69                 ns      nanoseconds (default)
70
71         Also the call chain size (default 16, max. 1024) for instructions or
72         transactions events can be specified.
73
74 SEE ALSO
75 --------
76 linkperf:perf-record[1], linkperf:perf-report[1], linkperf:perf-archive[1]