qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/4] Tracetool cleanup


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH 0/4] Tracetool cleanup
Date: Wed, 19 Feb 2014 14:48:45 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Mon, Feb 17, 2014 at 08:36:19PM +0100, Lluís Vilanova wrote:
> Minimizes the amount of backend code, making it simpler to add new/different
> backends.
> 
> Also performs other cleanups all around.
> 
> Signed-off-by: Lluís Vilanova <address@hidden>
> ---
> 
> Lluís Vilanova (4):
>       trace: [tracetool] Add method 'Event.api' to build event names
>       trace: [tracetool,trivial] Style changes
>       trace: [tracetool] Identify formats directly used by QEMU
>       trace: [tracetool] Minimize the amount of per-backend code

I think we stretched the concepts of backends and formats too far.
There are formats that only work with one backend (like 'stap').  And
there are backends that behave differently from all other backends.

As a result we're trying to abstract and make common a bunch of stuff
that isn't really common.  This problem existed before this patch
series, but I feel we're going further down a direction that
increasingly seems to be wrong.

It's simpler if we turn the design inside-out.  Instead of making
backends export all sorts of interfaces and flags, tracetool should just
parse trace-events and hand the list over to the backend.

Let the backend do whatever it wants.  The format option simply becomes
an option telling the backend which type of output to generate
(events.h, events.c, .stp, etc).

Common behavior should live in plain old Python modules/functions.

TL;DR moving to a library design would simplify and clean up more than
trying to improve the current framework design

What do you think?

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]