1605ffebbSPeter MaydellQEMU SystemTap trace tool 2605ffebbSPeter Maydell========================= 3605ffebbSPeter Maydell 4605ffebbSPeter MaydellSynopsis 5605ffebbSPeter Maydell-------- 6605ffebbSPeter Maydell 7605ffebbSPeter Maydell**qemu-trace-stap** [*GLOBAL-OPTIONS*] *COMMAND* [*COMMAND-OPTIONS*] *ARGS*... 8605ffebbSPeter Maydell 9605ffebbSPeter MaydellDescription 10605ffebbSPeter Maydell----------- 11605ffebbSPeter Maydell 12605ffebbSPeter MaydellThe ``qemu-trace-stap`` program facilitates tracing of the execution 13605ffebbSPeter Maydellof QEMU emulators using SystemTap. 14605ffebbSPeter Maydell 15605ffebbSPeter MaydellIt is required to have the SystemTap runtime environment installed to use 16605ffebbSPeter Maydellthis program, since it is a wrapper around execution of the ``stap`` 17605ffebbSPeter Maydellprogram. 18605ffebbSPeter Maydell 19605ffebbSPeter MaydellOptions 20605ffebbSPeter Maydell------- 21605ffebbSPeter Maydell 22605ffebbSPeter Maydell.. program:: qemu-trace-stap 23605ffebbSPeter Maydell 24605ffebbSPeter MaydellThe following global options may be used regardless of which command 25605ffebbSPeter Maydellis executed: 26605ffebbSPeter Maydell 27605ffebbSPeter Maydell.. option:: --verbose, -v 28605ffebbSPeter Maydell 29605ffebbSPeter Maydell Display verbose information about command execution. 30605ffebbSPeter Maydell 31605ffebbSPeter MaydellThe following commands are valid: 32605ffebbSPeter Maydell 33605ffebbSPeter Maydell.. option:: list BINARY PATTERN... 34605ffebbSPeter Maydell 35605ffebbSPeter Maydell List all the probe names provided by *BINARY* that match 36605ffebbSPeter Maydell *PATTERN*. 37605ffebbSPeter Maydell 38605ffebbSPeter Maydell If *BINARY* is not an absolute path, it will be located by searching 39605ffebbSPeter Maydell the directories listed in the ``$PATH`` environment variable. 40605ffebbSPeter Maydell 41605ffebbSPeter Maydell *PATTERN* is a plain string that is used to filter the results of 42605ffebbSPeter Maydell this command. It may optionally contain a ``*`` wildcard to facilitate 43605ffebbSPeter Maydell matching multiple probes without listing each one explicitly. Multiple 44605ffebbSPeter Maydell *PATTERN* arguments may be given, causing listing of probes that match 45605ffebbSPeter Maydell any of the listed names. If no *PATTERN* is given, the all possible 46605ffebbSPeter Maydell probes will be listed. 47605ffebbSPeter Maydell 48605ffebbSPeter Maydell For example, to list all probes available in the ``qemu-system-x86_64`` 49605ffebbSPeter Maydell binary: 50605ffebbSPeter Maydell 51605ffebbSPeter Maydell :: 52605ffebbSPeter Maydell 53605ffebbSPeter Maydell $ qemu-trace-stap list qemu-system-x86_64 54605ffebbSPeter Maydell 55605ffebbSPeter Maydell To filter the list to only cover probes related to QEMU's cryptographic 56605ffebbSPeter Maydell subsystem, in a binary outside ``$PATH`` 57605ffebbSPeter Maydell 58605ffebbSPeter Maydell :: 59605ffebbSPeter Maydell 60605ffebbSPeter Maydell $ qemu-trace-stap list /opt/qemu/4.0.0/bin/qemu-system-x86_64 'qcrypto*' 61605ffebbSPeter Maydell 62605ffebbSPeter Maydell.. option:: run OPTIONS BINARY PATTERN... 63605ffebbSPeter Maydell 64605ffebbSPeter Maydell Run a trace session, printing formatted output any time a process that is 65605ffebbSPeter Maydell executing *BINARY* triggers a probe matching *PATTERN*. 66605ffebbSPeter Maydell 67605ffebbSPeter Maydell If *BINARY* is not an absolute path, it will be located by searching 68605ffebbSPeter Maydell the directories listed in the ``$PATH`` environment variable. 69605ffebbSPeter Maydell 70605ffebbSPeter Maydell *PATTERN* is a plain string that matches a probe name shown by the 71605ffebbSPeter Maydell *LIST* command. It may optionally contain a ``*`` wildcard to 72605ffebbSPeter Maydell facilitate matching multiple probes without listing each one explicitly. 73605ffebbSPeter Maydell Multiple *PATTERN* arguments may be given, causing all matching probes 74605ffebbSPeter Maydell to be monitored. At least one *PATTERN* is required, since stap is not 75605ffebbSPeter Maydell capable of tracing all known QEMU probes concurrently without overflowing 76605ffebbSPeter Maydell its trace buffer. 77605ffebbSPeter Maydell 78605ffebbSPeter Maydell Invocation of this command does not need to be synchronized with 79605ffebbSPeter Maydell invocation of the QEMU process(es). It will match probes on all 80605ffebbSPeter Maydell existing running processes and all future launched processes, 81605ffebbSPeter Maydell unless told to only monitor a specific process. 82605ffebbSPeter Maydell 83605ffebbSPeter Maydell Valid command specific options are: 84605ffebbSPeter Maydell 85605ffebbSPeter Maydell .. program:: qemu-trace-stap-run 86605ffebbSPeter Maydell 87605ffebbSPeter Maydell .. option:: --pid=PID, -p PID 88605ffebbSPeter Maydell 89605ffebbSPeter Maydell Restrict the tracing session so that it only triggers for the process 90605ffebbSPeter Maydell identified by *PID*. 91605ffebbSPeter Maydell 92605ffebbSPeter Maydell For example, to monitor all processes executing ``qemu-system-x86_64`` 93605ffebbSPeter Maydell as found on ``$PATH``, displaying all I/O related probes: 94605ffebbSPeter Maydell 95605ffebbSPeter Maydell :: 96605ffebbSPeter Maydell 97605ffebbSPeter Maydell $ qemu-trace-stap run qemu-system-x86_64 'qio*' 98605ffebbSPeter Maydell 99605ffebbSPeter Maydell To monitor only the QEMU process with PID 1732 100605ffebbSPeter Maydell 101605ffebbSPeter Maydell :: 102605ffebbSPeter Maydell 103605ffebbSPeter Maydell $ qemu-trace-stap run --pid=1732 qemu-system-x86_64 'qio*' 104605ffebbSPeter Maydell 105605ffebbSPeter Maydell To monitor QEMU processes running an alternative binary outside of 106605ffebbSPeter Maydell ``$PATH``, displaying verbose information about setup of the 107605ffebbSPeter Maydell tracing environment: 108605ffebbSPeter Maydell 109605ffebbSPeter Maydell :: 110605ffebbSPeter Maydell 111605ffebbSPeter Maydell $ qemu-trace-stap -v run /opt/qemu/4.0.0/qemu-system-x86_64 'qio*' 112605ffebbSPeter Maydell 113605ffebbSPeter MaydellSee also 114605ffebbSPeter Maydell-------- 115605ffebbSPeter Maydell 116605ffebbSPeter Maydell:manpage:`qemu(1)`, :manpage:`stap(1)` 117605ffebbSPeter Maydell 118605ffebbSPeter Maydell.. 119605ffebbSPeter Maydell Copyright (C) 2019 Red Hat, Inc. 120605ffebbSPeter Maydell 121605ffebbSPeter Maydell This program is free software; you can redistribute it and/or modify 122605ffebbSPeter Maydell it under the terms of the GNU General Public License as published by 123605ffebbSPeter Maydell the Free Software Foundation; either version 2 of the License, or 124605ffebbSPeter Maydell (at your option) any later version. 125