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