141 lines
3.9 KiB
Plaintext
141 lines
3.9 KiB
Plaintext
|
@example
|
||
|
@c man begin SYNOPSIS
|
||
|
@command{qemu-trace-stap} @var{GLOBAL-OPTIONS} @var{COMMAND} @var{COMMAND-OPTIONS} @var{ARGS...}
|
||
|
@c man end
|
||
|
@end example
|
||
|
|
||
|
@c man begin DESCRIPTION
|
||
|
|
||
|
The @command{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 @command{stap}
|
||
|
program.
|
||
|
|
||
|
@c man end
|
||
|
|
||
|
@c man begin OPTIONS
|
||
|
|
||
|
The following global options may be used regardless of which command
|
||
|
is executed:
|
||
|
|
||
|
@table @option
|
||
|
@item @var{--verbose}, @var{-v}
|
||
|
|
||
|
Display verbose information about command execution.
|
||
|
|
||
|
@end table
|
||
|
|
||
|
The following commands are valid:
|
||
|
|
||
|
@table @option
|
||
|
|
||
|
@item @var{list} @var{BINARY} @var{PATTERN...}
|
||
|
|
||
|
List all the probe names provided by @var{BINARY} that match
|
||
|
@var{PATTERN}.
|
||
|
|
||
|
If @var{BINARY} is not an absolute path, it will be located by searching
|
||
|
the directories listed in the @code{$PATH} environment variable.
|
||
|
|
||
|
@var{PATTERN} is a plain string that is used to filter the results of
|
||
|
this command. It may optionally contain a @code{*} wildcard to facilitate
|
||
|
matching multiple probes without listing each one explicitly. Multiple
|
||
|
@var{PATTERN} arguments may be given, causing listing of probes that match
|
||
|
any of the listed names. If no @var{PATTERN} is given, the all possible
|
||
|
probes will be listed.
|
||
|
|
||
|
For example, to list all probes available in the @command{qemu-system-x86_64}
|
||
|
binary:
|
||
|
|
||
|
@example
|
||
|
$ qemu-trace-stap list qemu-system-x86_64
|
||
|
@end example
|
||
|
|
||
|
To filter the list to only cover probes related to QEMU's cryptographic
|
||
|
subsystem, in a binary outside @code{$PATH}
|
||
|
|
||
|
@example
|
||
|
$ qemu-trace-stap list /opt/qemu/4.0.0/bin/qemu-system-x86_64 'qcrypto*'
|
||
|
@end example
|
||
|
|
||
|
|
||
|
@item @var{run} @var{OPTIONS} @var{BINARY} @var{PATTERN...}
|
||
|
|
||
|
Run a trace session, printing formatted output any time a process that is
|
||
|
executing @var{BINARY} triggers a probe matching @var{PATTERN}.
|
||
|
|
||
|
If @var{BINARY} is not an absolute path, it will be located by searching
|
||
|
the directories listed in the @code{$PATH} environment variable.
|
||
|
|
||
|
@var{PATTERN} is a plain string that matches a probe name shown by the
|
||
|
@var{list} command. It may optionally contain a @code{*} wildcard to
|
||
|
facilitate matching multiple probes without listing each one explicitly.
|
||
|
Multiple @var{PATTERN} arguments may be given, causing all matching probes
|
||
|
to be monitored. At least one @var{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:
|
||
|
|
||
|
@table @option
|
||
|
@item @var{--pid=PID}, @var{-p PID}
|
||
|
|
||
|
Restrict the tracing session so that it only triggers for the process
|
||
|
identified by @code{PID}.
|
||
|
|
||
|
@end table
|
||
|
|
||
|
For example, to monitor all processes executing @command{qemu-system-x86_64}
|
||
|
as found on $PATH, displaying all I/O related probes:
|
||
|
|
||
|
@example
|
||
|
$ qemu-trace-stap run qemu-system-x86_64 'qio*'
|
||
|
@end example
|
||
|
|
||
|
To monitor only the QEMU process with PID 1732
|
||
|
|
||
|
@example
|
||
|
$ qemu-trace-stap run --pid=1732 qemu-system-x86_64 'qio*'
|
||
|
@end example
|
||
|
|
||
|
To monitor QEMU processes running an alternative binary outside of
|
||
|
@code{$PATH}, displaying verbose information about setup of the
|
||
|
tracing environment:
|
||
|
|
||
|
@example
|
||
|
$ qemu-trace-stap -v run /opt/qemu/4.0.0/qemu-system-x86_64 'qio*'
|
||
|
@end example
|
||
|
|
||
|
@end table
|
||
|
|
||
|
@c man end
|
||
|
|
||
|
@ignore
|
||
|
|
||
|
@setfilename qemu-trace-stap
|
||
|
@settitle QEMU SystemTap trace tool
|
||
|
|
||
|
@c man begin LICENSE
|
||
|
|
||
|
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.
|
||
|
|
||
|
@c man end
|
||
|
|
||
|
@c man begin SEEALSO
|
||
|
qemu(1), stap(1)
|
||
|
@c man end
|
||
|
|
||
|
@end ignore
|