Peter Maydell <peter.mayd...@linaro.org> writes:
> The qemu-trace-stap documentation is currently in > scripts/qemu-trace-stap.texi in Texinfo format, which we > present to the user as: > * a qemu-trace-stap manpage > * but not (unusually for QEMU) part of the HTML docs > > Convert the documentation to rST format that lives in > the docs/ subdirectory, and present it to the user as: > * a qemu-trace-stap manpage > * part of the interop/ Sphinx manual > > There are minor formatting changes to suit Sphinx, but no > content changes. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Alex Bennée <alex.ben...@linaro.org> Tested-by: Alex Bennée <alex.ben...@linaro.org> > --- > Makefile | 9 +- > MAINTAINERS | 1 + > docs/interop/conf.py | 4 +- > docs/interop/index.rst | 1 + > docs/interop/qemu-trace-stap.rst | 124 +++++++++++++++++++++++++++ > scripts/qemu-trace-stap.texi | 140 ------------------------------- > 6 files changed, 134 insertions(+), 145 deletions(-) > create mode 100644 docs/interop/qemu-trace-stap.rst > delete mode 100644 scripts/qemu-trace-stap.texi > > diff --git a/Makefile b/Makefile > index 4e1a5e9906c..5dded94bf63 100644 > --- a/Makefile > +++ b/Makefile > @@ -357,7 +357,7 @@ ifdef CONFIG_VIRTFS > DOCS+=fsdev/virtfs-proxy-helper.1 > endif > ifdef CONFIG_TRACE_SYSTEMTAP > -DOCS+=scripts/qemu-trace-stap.1 > +DOCS+=$(MANUAL_BUILDDIR)/interop/qemu-trace-stap.1 > endif > else > DOCS= > @@ -848,7 +848,7 @@ ifeq ($(CONFIG_TOOLS),y) > $(INSTALL_DATA) $(MANUAL_BUILDDIR)/interop/qemu-nbd.8 > "$(DESTDIR)$(mandir)/man8" > endif > ifdef CONFIG_TRACE_SYSTEMTAP > - $(INSTALL_DATA) scripts/qemu-trace-stap.1 "$(DESTDIR)$(mandir)/man1" > + $(INSTALL_DATA) $(MANUAL_BUILDDIR)/interop/qemu-trace-stap.1 > "$(DESTDIR)$(mandir)/man1" > endif > ifneq (,$(findstring qemu-ga,$(TOOLS))) > $(INSTALL_DATA) $(MANUAL_BUILDDIR)/interop/qemu-ga.8 > "$(DESTDIR)$(mandir)/man8" > @@ -1050,7 +1050,9 @@ $(MANUAL_BUILDDIR)/specs/index.html: $(call > manual-deps,specs) > $(MANUAL_BUILDDIR)/system/index.html: $(call manual-deps,system) > $(call build-manual,system,html) > > -$(call define-manpage-rule,interop,qemu-ga.8 qemu-img.1 > qemu-nbd.8,$(SRC_PATH/qemu-img-cmds.hx)) > +$(call define-manpage-rule,interop,\ > + qemu-ga.8 qemu-img.1 qemu-nbd.8 qemu-trace-stap.1,\ > + $(SRC_PATH/qemu-img-cmds.hx)) > > $(call define-manpage-rule,system,qemu-block-drivers.7) > > @@ -1078,7 +1080,6 @@ qemu.1: qemu-doc.texi qemu-options.texi > qemu-monitor.texi qemu-monitor-info.texi > qemu.1: qemu-option-trace.texi > fsdev/virtfs-proxy-helper.1: fsdev/virtfs-proxy-helper.texi > docs/qemu-cpu-models.7: docs/qemu-cpu-models.texi > -scripts/qemu-trace-stap.1: scripts/qemu-trace-stap.texi > > html: qemu-doc.html docs/interop/qemu-qmp-ref.html > docs/interop/qemu-ga-ref.html sphinxdocs > info: qemu-doc.info docs/interop/qemu-qmp-ref.info > docs/interop/qemu-ga-ref.info > diff --git a/MAINTAINERS b/MAINTAINERS > index 39423cd07f2..54c4429069d 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -2191,6 +2191,7 @@ F: qemu-option-trace.texi > F: scripts/tracetool.py > F: scripts/tracetool/ > F: scripts/qemu-trace-stap* > +F: docs/interop/qemu-trace-stap.rst > F: docs/devel/tracing.txt > T: git https://github.com/stefanha/qemu.git tracing > > diff --git a/docs/interop/conf.py b/docs/interop/conf.py > index 0de444a900d..baea7fb50ee 100644 > --- a/docs/interop/conf.py > +++ b/docs/interop/conf.py > @@ -22,5 +22,7 @@ man_pages = [ > ('qemu-img', 'qemu-img', u'QEMU disk image utility', > ['Fabrice Bellard'], 1), > ('qemu-nbd', 'qemu-nbd', u'QEMU Disk Network Block Device Server', > - ['Anthony Liguori <anth...@codemonkey.ws>'], 8) > + ['Anthony Liguori <anth...@codemonkey.ws>'], 8), > + ('qemu-trace-stap', 'qemu-trace-stap', u'QEMU SystemTap trace tool', > + [], 1) > ] > diff --git a/docs/interop/index.rst b/docs/interop/index.rst > index 5e4de07d4cc..d756a826b26 100644 > --- a/docs/interop/index.rst > +++ b/docs/interop/index.rst > @@ -20,5 +20,6 @@ Contents: > qemu-ga > qemu-img > qemu-nbd > + qemu-trace-stap > vhost-user > vhost-user-gpu > diff --git a/docs/interop/qemu-trace-stap.rst > b/docs/interop/qemu-trace-stap.rst > new file mode 100644 > index 00000000000..fb70445c751 > --- /dev/null > +++ b/docs/interop/qemu-trace-stap.rst > @@ -0,0 +1,124 @@ > +QEMU SystemTap trace tool > +========================= > + > +Synopsis > +-------- > + > +**qemu-trace-stap** [*GLOBAL-OPTIONS*] *COMMAND* [*COMMAND-OPTIONS*] > *ARGS*... > + > +Description > +----------- > + > +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. > + > +Options > +------- > + > +.. 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-x86_64`` > + binary: > + > + :: > + > + $ qemu-trace-stap list qemu-system-x86_64 > + > + To filter the list to only cover probes related to QEMU's cryptographic > + subsystem, in a binary outside ``$PATH`` > + > + :: > + > + $ qemu-trace-stap list /opt/qemu/4.0.0/bin/qemu-system-x86_64 '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-x86_64`` > + as found on ``$PATH``, displaying all I/O related probes: > + > + :: > + > + $ qemu-trace-stap run qemu-system-x86_64 'qio*' > + > + To monitor only the QEMU process with PID 1732 > + > + :: > + > + $ qemu-trace-stap run --pid=1732 qemu-system-x86_64 'qio*' > + > + To monitor QEMU processes running an alternative binary outside of > + ``$PATH``, displaying verbose information about setup of the > + tracing environment: > + > + :: > + > + $ qemu-trace-stap -v run /opt/qemu/4.0.0/qemu-system-x86_64 'qio*' > + > +See also > +-------- > + > +: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. > diff --git a/scripts/qemu-trace-stap.texi b/scripts/qemu-trace-stap.texi > deleted file mode 100644 > index 07bb9eb94e7..00000000000 > --- a/scripts/qemu-trace-stap.texi > +++ /dev/null > @@ -1,140 +0,0 @@ > -@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 -- Alex Bennée