docs/tools/qemu-trace-stap.rst
qemu-trace-stap [GLOBAL-OPTIONS] COMMAND [COMMAND-OPTIONS] ARGS...
The qemu-trace-stap program facilitates tracing of the execution
of QEMU emulators using SystemTap.
It is required to have the SystemTap runtime environment installed to use
this program, since it is a wrapper around execution of the stap
program.
.. program:: qemu-trace-stap
The following global options may be used regardless of which command is executed:
.. option:: --verbose, -v
Display verbose information about command execution.
The following commands are valid:
.. option:: list BINARY PATTERN...
List all the probe names provided by BINARY that match PATTERN.
If BINARY is not an absolute path, it will be located by searching
the directories listed in the $PATH environment variable.
PATTERN is a plain string that is used to filter the results of
this command. It may optionally contain a * wildcard to facilitate
matching multiple probes without listing each one explicitly. Multiple
PATTERN arguments may be given, causing listing of probes that match
any of the listed names. If no PATTERN is given, the all possible
probes will be listed.
For example, to list all probes available in the |qemu_system| binary:
.. parsed-literal::
$ qemu-trace-stap list |qemu_system|
To filter the list to only cover probes related to QEMU's cryptographic
subsystem, in a binary outside $PATH
.. parsed-literal::
$ qemu-trace-stap list /opt/qemu/|version|/bin/|qemu_system| 'qcrypto*'
.. option:: run OPTIONS BINARY PATTERN...
Run a trace session, printing formatted output any time a process that is executing BINARY triggers a probe matching PATTERN.
If BINARY is not an absolute path, it will be located by searching
the directories listed in the $PATH environment variable.
PATTERN is a plain string that matches a probe name shown by the
LIST command. It may optionally contain a * wildcard to
facilitate matching multiple probes without listing each one explicitly.
Multiple PATTERN arguments may be given, causing all matching probes
to be monitored. At least one PATTERN is required, since stap is not
capable of tracing all known QEMU probes concurrently without overflowing
its trace buffer.
Invocation of this command does not need to be synchronized with invocation of the QEMU process(es). It will match probes on all existing running processes and all future launched processes, unless told to only monitor a specific process.
Valid command specific options are:
.. program:: qemu-trace-stap-run
.. option:: --pid=PID, -p PID
Restrict the tracing session so that it only triggers for the process
identified by *PID*.
For example, to monitor all processes executing |qemu_system|
as found on $PATH, displaying all I/O related probes:
.. parsed-literal::
$ qemu-trace-stap run |qemu_system| 'qio*'
To monitor only the QEMU process with PID 1732
.. parsed-literal::
$ qemu-trace-stap run --pid=1732 |qemu_system| 'qio*'
To monitor QEMU processes running an alternative binary outside of
$PATH, displaying verbose information about setup of the
tracing environment:
.. parsed-literal::
$ qemu-trace-stap -v run /opt/qemu/|version|/bin/|qemu_system| 'qio*'
:manpage:qemu(1), :manpage:stap(1)
.. Copyright (C) 2019 Red Hat, Inc.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.