qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Eduardo Habkost <ehabkost@redhat.com>,
	qemu-block@nongnu.org, Markus Armbruster <armbru@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Cleber Rosa <crosa@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: [PULL 03/11] trace: recommend "log" backend for getting started with tracing
Date: Mon,  1 Feb 2021 15:46:55 +0000	[thread overview]
Message-ID: <20210201154703.180022-4-stefanha@redhat.com> (raw)
In-Reply-To: <20210201154703.180022-1-stefanha@redhat.com>

The "simple" backend is actually more complicated to use than the "log"
backend. Update the quickstart documentation to feature the "log"
backend instead of the "simple" backend.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20201216160923.722894-4-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 docs/devel/tracing.rst | 35 ++++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 17 deletions(-)

diff --git a/docs/devel/tracing.rst b/docs/devel/tracing.rst
index f7e589f67c..4ebf8e38ea 100644
--- a/docs/devel/tracing.rst
+++ b/docs/devel/tracing.rst
@@ -11,22 +11,22 @@ for debugging, profiling, and observing execution.
 Quickstart
 ==========
 
-1. Build with the 'simple' trace backend::
+Enable tracing of ``memory_region_ops_read`` and ``memory_region_ops_write``
+events::
 
-    ./configure --enable-trace-backends=simple
-    make
+    $ qemu --trace "memory_region_ops_*" ...
+    ...
+    719585@1608130130.441188:memory_region_ops_read cpu 0 mr 0x562fdfbb3820 addr 0x3cc value 0x67 size 1
+    719585@1608130130.441190:memory_region_ops_write cpu 0 mr 0x562fdfbd2f00 addr 0x3d4 value 0x70e size 2
 
-2. Create a file with the events you want to trace::
+This output comes from the "log" trace backend that is enabled by default when
+``./configure --enable-trace-backends=BACKENDS`` was not explicitly specified.
 
-    echo memory_region_ops_read >/tmp/events
+More than one trace event pattern can be specified by providing a file
+instead::
 
-3. Run the virtual machine to produce a trace file::
-
-    qemu --trace events=/tmp/events ... # your normal QEMU invocation
-
-4. Pretty-print the binary trace file::
-
-    ./scripts/simpletrace.py trace-events-all trace-* # Override * with QEMU <pid>
+    $ echo "memory_region_ops_*" >/tmp/events
+    $ qemu --trace events=/tmp/events ...
 
 Trace events
 ============
@@ -195,7 +195,7 @@ script.
 
 The trace backends are chosen at configure time::
 
-    ./configure --enable-trace-backends=simple
+    ./configure --enable-trace-backends=simple,dtrace
 
 For a list of supported trace backends, try ./configure --help or see below.
 If multiple backends are enabled, the trace is sent to them all.
@@ -227,10 +227,11 @@ uses DPRINTF().
 Simpletrace
 -----------
 
-The "simple" backend supports common use cases and comes as part of the QEMU
-source tree.  It may not be as powerful as platform-specific or third-party
-trace backends but it is portable.  This is the recommended trace backend
-unless you have specific needs for more advanced backends.
+The "simple" backend writes binary trace logs to a file from a thread, making
+it lower overhead than the "log" backend. A Python API is available for writing
+offline trace file analysis scripts. It may not be as powerful as
+platform-specific or third-party trace backends but it is portable and has no
+special library dependencies.
 
 Monitor commands
 ~~~~~~~~~~~~~~~~
-- 
2.29.2


  parent reply	other threads:[~2021-02-01 15:52 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-01 15:46 [PULL 00/11] Tracing patches Stefan Hajnoczi
2021-02-01 15:46 ` [PULL 01/11] trace: fix simpletrace doc mismerge Stefan Hajnoczi
2021-02-01 15:46 ` [PULL 02/11] tracing: convert documentation to rST Stefan Hajnoczi
2021-02-01 15:46 ` Stefan Hajnoczi [this message]
2021-02-01 15:46 ` [PULL 04/11] tracetool: fix "PRI" macro decoding Stefan Hajnoczi
2021-02-01 15:46 ` [PULL 05/11] tracetool: also strip %l and %ll from systemtap format strings Stefan Hajnoczi
2021-02-01 15:46 ` [PULL 06/11] trace: add meson custom_target() depend_files for tracetool Stefan Hajnoczi
2021-02-01 15:46 ` [PULL 07/11] error: rename error_with_timestamp to message_with_timestamp Stefan Hajnoczi
2021-02-01 15:47 ` [PULL 08/11] trace: make the 'log' backend timestamp configurable Stefan Hajnoczi
2021-02-01 15:47 ` [PULL 09/11] simpletrace: build() missing 2 required positional arguments Stefan Hajnoczi
2021-02-01 15:47 ` [PULL 10/11] trace: document how to specify multiple --trace patterns Stefan Hajnoczi
2021-02-01 16:05   ` BALATON Zoltan
2021-02-01 16:13     ` Kevin Wolf
2021-02-01 16:27       ` Philippe Mathieu-Daudé
2021-02-01 16:29       ` BALATON Zoltan
2021-02-01 16:54         ` Kevin Wolf
2021-02-01 17:25           ` Paolo Bonzini
2021-02-01 17:39             ` BALATON Zoltan
2021-02-02 12:41               ` Markus Armbruster
2021-02-02 13:03                 ` BALATON Zoltan
2021-02-02 13:12                 ` Paolo Bonzini
2021-02-01 17:46             ` Daniel P. Berrangé
2021-02-01 18:13               ` BALATON Zoltan
2021-02-02 16:47                 ` Stefan Hajnoczi
2021-02-01 15:47 ` [PULL 11/11] trace: update docs with meson build information Stefan Hajnoczi
2021-02-02 11:24 ` [PULL 00/11] Tracing patches Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210201154703.180022-4-stefanha@redhat.com \
    --to=stefanha@redhat.com \
    --cc=armbru@redhat.com \
    --cc=crosa@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).