123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- 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 of DSOs hit by samples into the output stream.
- This means it needs to process all SAMPLE records to find the DSOs.
- --buildid-all::
- Inject build-ids of all DSOs into the output stream regardless of hits
- and skip SAMPLE processing.
- --known-build-ids=::
- Override build-ids to inject using these comma-separated pairs of
- build-id and path. Understands file://filename to read these pairs
- from a file, which can be generated with perf buildid-list.
- -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]
|