xref: /OK3568_Linux_fs/kernel/tools/perf/Documentation/perf-inject.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunperf-inject(1)
2*4882a593Smuzhiyun==============
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunNAME
5*4882a593Smuzhiyun----
6*4882a593Smuzhiyunperf-inject - Filter to augment the events stream with additional information
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunSYNOPSIS
9*4882a593Smuzhiyun--------
10*4882a593Smuzhiyun[verse]
11*4882a593Smuzhiyun'perf inject <options>'
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunDESCRIPTION
14*4882a593Smuzhiyun-----------
15*4882a593Smuzhiyunperf-inject reads a perf-record event stream and repipes it to stdout.  At any
16*4882a593Smuzhiyunpoint the processing code can inject other events into the event stream - in
17*4882a593Smuzhiyunthis case build-ids (-b option) are read and injected as needed into the event
18*4882a593Smuzhiyunstream.
19*4882a593Smuzhiyun
20*4882a593SmuzhiyunBuild-ids are just the first user of perf-inject - potentially anything that
21*4882a593Smuzhiyunneeds userspace processing to augment the events stream with additional
22*4882a593Smuzhiyuninformation could make use of this facility.
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunOPTIONS
25*4882a593Smuzhiyun-------
26*4882a593Smuzhiyun-b::
27*4882a593Smuzhiyun--build-ids::
28*4882a593Smuzhiyun        Inject build-ids into the output stream
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun--buildid-all:
31*4882a593Smuzhiyun	Inject build-ids of all DSOs into the output stream
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun-v::
34*4882a593Smuzhiyun--verbose::
35*4882a593Smuzhiyun	Be more verbose.
36*4882a593Smuzhiyun-i::
37*4882a593Smuzhiyun--input=::
38*4882a593Smuzhiyun	Input file name. (default: stdin)
39*4882a593Smuzhiyun-o::
40*4882a593Smuzhiyun--output=::
41*4882a593Smuzhiyun	Output file name. (default: stdout)
42*4882a593Smuzhiyun-s::
43*4882a593Smuzhiyun--sched-stat::
44*4882a593Smuzhiyun	Merge sched_stat and sched_switch for getting events where and how long
45*4882a593Smuzhiyun	tasks slept. sched_switch contains a callchain where a task slept and
46*4882a593Smuzhiyun	sched_stat contains a timeslice how long a task slept.
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun--kallsyms=<file>::
49*4882a593Smuzhiyun	kallsyms pathname
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun--itrace::
52*4882a593Smuzhiyun	Decode Instruction Tracing data, replacing it with synthesized events.
53*4882a593Smuzhiyun	Options are:
54*4882a593Smuzhiyun
55*4882a593Smuzhiyuninclude::itrace.txt[]
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun--strip::
58*4882a593Smuzhiyun	Use with --itrace to strip out non-synthesized events.
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun-j::
61*4882a593Smuzhiyun--jit::
62*4882a593Smuzhiyun	Process jitdump files by injecting the mmap records corresponding to jitted
63*4882a593Smuzhiyun	functions. This option also generates the ELF images for each jitted function
64*4882a593Smuzhiyun	found in the jitdumps files captured in the input perf.data file. Use this option
65*4882a593Smuzhiyun	if you are monitoring environment using JIT runtimes, such as Java, DART or V8.
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun-f::
68*4882a593Smuzhiyun--force::
69*4882a593Smuzhiyun	Don't complain, do it.
70*4882a593Smuzhiyun
71*4882a593SmuzhiyunSEE ALSO
72*4882a593Smuzhiyun--------
73*4882a593Smuzhiyunlinkperf:perf-record[1], linkperf:perf-report[1], linkperf:perf-archive[1],
74*4882a593Smuzhiyunlinkperf:perf-intel-pt[1]
75