From: lcapitulino@redhat.com (Luiz Capitulino)
Subject: [lttng-dev] [Qemu-devel] [PATCH 0/6] hypertrace: Lightweight guest-to-QEMU trace channel
Date: Thu, 18 Aug 2016 10:21:56 -0400 [thread overview]
Message-ID: <20160818102156.2c43bc6c@redhat.com> (raw)
In-Reply-To: <20160818135327.GJ4850@stefanha-x1.localdomain>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2405 bytes --]
On Thu, 18 Aug 2016 14:53:27 +0100
Stefan Hajnoczi <stefanha at redhat.com> wrote:
> On Thu, Aug 18, 2016 at 12:22:18PM +0200, Lluís Vilanova wrote:
> > Stefan Hajnoczi writes:
> >
> > > On Fri, Aug 05, 2016 at 06:59:23PM +0200, Lluís Vilanova wrote:
> > >> The hypertrace channel allows guest code to emit events in QEMU (the host) using
> > >> its tracing infrastructure (see "docs/trace.txt"). This works in both 'system'
> > >> and 'user' modes. That is, hypertrace is to tracing, what hypercalls are to
> > >> system calls.
> > >>
> > >> You can use this to emit an event on both guest and QEMU (host) traces to easily
> > >> synchronize or correlate them. You could also modify you guest's tracing system
> > >> to emit all events through the hypertrace channel, providing a unified and fully
> > >> synchronized trace log. Another use case is timing the performance of guest code
> > >> when optimizing TCG (QEMU traces have a timestamp).
> > >>
> > >> See first commit for a full description.
> > >>
> > >> Signed-off-by: Lluís Vilanova <vilanova at ac.upc.edu>
> > >> ---
> >
> > > CCing Steven Rostedt, Masami Hiramatsu, Luiz Capitulino, and LTTng folks
> > > who have all looked into host/guest tracing solutions.
> > [...]
> >
> > Oh, I wasn't aware of that. I'm certainly interested in collaborating.
>
> They are working on or have worked on different approaches to host/guest
> tracing. Unfortunately there isn't an out-of-the-box solution as far as
> I know.
The ftrace solution is documented here:
https://lists.nongnu.org/archive/html/qemu-devel/2016-03/msg00887.html
This traces the guest and host kernels. It supports merging the guest
and host traces. It's extremely low latency and has helped us to
find several spikes for real-time KVM (we're talking a few to
a dozen microseconds at most).
Now, our stack actually is:
- Guest app
- Guest kernel
- Host kernel
- QEMU
QEMU already has its own tracing (which I don't know how it works).
If I had to trace the guest app, I'd certainly start off by using
LTTng. Although, we'd have to write a tool to merge and orchestrate
(wooo, cloud buzzword!) all those traces (if that's what one wants).
> It would be nice if there was a documented host/guest tracing approach
> that didn't involve much manual setup and handled most use cases.
I'd volunteer to do it, although it will take me weeks to do it.
next prev parent reply other threads:[~2016-08-18 14:21 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <147041636348.2523.2954972609232949598.stgit@fimbulvetr.bsc.es>
2016-08-18 9:47 ` Stefan Hajnoczi
2016-08-18 10:22 ` Lluís Vilanova
2016-08-18 13:53 ` Stefan Hajnoczi
2016-08-18 14:21 ` Luiz Capitulino [this message]
2016-08-21 12:17 ` Lluís Vilanova
2016-08-18 10:54 ` Stefan Hajnoczi
2016-08-18 13:37 ` Luiz Capitulino
2016-08-19 4:45 ` Masami Hiramatsu
2016-08-18 16:19 ` Steven Rostedt
2016-08-19 10:02 ` Stefan Hajnoczi
2016-08-19 13:30 ` Steven Rostedt
2016-08-21 12:32 ` Lluís Vilanova
2016-08-23 15:54 ` Stefan Hajnoczi
2016-08-24 10:25 ` Lluís Vilanova
2016-08-29 13:45 ` Stefan Hajnoczi
2016-08-29 18:46 ` Lluís Vilanova
2016-08-31 16:35 ` Stefan Hajnoczi
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=20160818102156.2c43bc6c@redhat.com \
--to=lcapitulino@redhat.com \
/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