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