From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: BALATON Zoltan <balaton@eik.bme.hu>,
qemu-trivial@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [PATCH 2/2] scripts/tracetool: Add plainlog backend
Date: Thu, 18 Jun 2020 10:07:41 +0100 [thread overview]
Message-ID: <20200618090741.GC671599@redhat.com> (raw)
In-Reply-To: <20200618073124.GA1956319@stefanha-x1.localdomain>
On Thu, Jun 18, 2020 at 08:31:24AM +0100, Stefan Hajnoczi wrote:
> On Wed, Jun 17, 2020 at 03:36:29PM +0200, BALATON Zoltan wrote:
> > Add a backend that is the same as the log backend but omits the
> > process id and timestamp so logs are easier to read and diff-able.
> >
> > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
> > ---
> > scripts/tracetool/backend/plainlog.py | 48 +++++++++++++++++++++++++++
> > 1 file changed, 48 insertions(+)
> > create mode 100644 scripts/tracetool/backend/plainlog.py
> >
> > diff --git a/scripts/tracetool/backend/plainlog.py b/scripts/tracetool/backend/plainlog.py
> > new file mode 100644
> > index 0000000000..40bbfa6d76
> > --- /dev/null
> > +++ b/scripts/tracetool/backend/plainlog.py
> > @@ -0,0 +1,48 @@
> > +# -*- coding: utf-8 -*-
> > +
> > +"""
> > +Stderr built-in backend, plain log without proc ID and time.
> > +"""
> > +
> > +__author__ = "Llu????s Vilanova <vilanova@ac.upc.edu>"
> > +__copyright__ = "Copyright 2012-2017, Llu????s Vilanova <vilanova@ac.upc.edu>"
>
> There is a Unicode issue here, Lluís' name is not printed correctly.
>
> > +__license__ = "GPL version 2 or (at your option) any later version"
> > +
> > +__maintainer__ = "Stefan Hajnoczi"
> > +__email__ = "stefanha@linux.vnet.ibm.com"
> > +
> > +
> > +from tracetool import out
> > +
> > +
> > +PUBLIC = True
> > +
> > +
> > +def generate_h_begin(events, group):
> > + out('#include "qemu/log-for-trace.h"',
> > + '')
> > +
> > +
> > +def generate_h(event, group):
> > + argnames = ", ".join(event.args.names())
> > + if len(event.args) > 0:
> > + argnames = ", " + argnames
> > +
> > + if "vcpu" in event.properties:
> > + # already checked on the generic format code
> > + cond = "true"
> > + else:
> > + cond = "trace_event_get_state(%s)" % ("TRACE_" + event.name.upper())
> > +
> > + out(' if (%(cond)s && qemu_loglevel_mask(LOG_TRACE)) {',
> > + ' qemu_log("%(name)s " %(fmt)s "\\n" %(argnames)s);',
> > + ' }',
> > + cond=cond,
> > + name=event.name,
> > + fmt=event.fmt.rstrip("\n"),
> > + argnames=argnames)
>
> It is not necessary to introduce a new backend. There could be an option
> that controls whether or not the timestamp/tid is printed. For example,
> -trace timestamp=off or maybe the timestmap/tid can be integrated into
> qemu_log() itself so that it's used more consistently and a -d timestamp
> option enables it.
QEMU already has a "-msg timestamp=on|off" option that controls whether
error reports on stderr get a timestamp. I think it is probably reasonable
for this existing option to apply to anything QEMU prints to stdout/err,
and thus we could wire it up for qemu_log().
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
WARNING: multiple messages have this Message-ID (diff)
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-trivial@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [PATCH 2/2] scripts/tracetool: Add plainlog backend
Date: Thu, 18 Jun 2020 10:07:41 +0100 [thread overview]
Message-ID: <20200618090741.GC671599@redhat.com> (raw)
In-Reply-To: <20200618073124.GA1956319@stefanha-x1.localdomain>
On Thu, Jun 18, 2020 at 08:31:24AM +0100, Stefan Hajnoczi wrote:
> On Wed, Jun 17, 2020 at 03:36:29PM +0200, BALATON Zoltan wrote:
> > Add a backend that is the same as the log backend but omits the
> > process id and timestamp so logs are easier to read and diff-able.
> >
> > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
> > ---
> > scripts/tracetool/backend/plainlog.py | 48 +++++++++++++++++++++++++++
> > 1 file changed, 48 insertions(+)
> > create mode 100644 scripts/tracetool/backend/plainlog.py
> >
> > diff --git a/scripts/tracetool/backend/plainlog.py b/scripts/tracetool/backend/plainlog.py
> > new file mode 100644
> > index 0000000000..40bbfa6d76
> > --- /dev/null
> > +++ b/scripts/tracetool/backend/plainlog.py
> > @@ -0,0 +1,48 @@
> > +# -*- coding: utf-8 -*-
> > +
> > +"""
> > +Stderr built-in backend, plain log without proc ID and time.
> > +"""
> > +
> > +__author__ = "Llu????s Vilanova <vilanova@ac.upc.edu>"
> > +__copyright__ = "Copyright 2012-2017, Llu????s Vilanova <vilanova@ac.upc.edu>"
>
> There is a Unicode issue here, Lluís' name is not printed correctly.
>
> > +__license__ = "GPL version 2 or (at your option) any later version"
> > +
> > +__maintainer__ = "Stefan Hajnoczi"
> > +__email__ = "stefanha@linux.vnet.ibm.com"
> > +
> > +
> > +from tracetool import out
> > +
> > +
> > +PUBLIC = True
> > +
> > +
> > +def generate_h_begin(events, group):
> > + out('#include "qemu/log-for-trace.h"',
> > + '')
> > +
> > +
> > +def generate_h(event, group):
> > + argnames = ", ".join(event.args.names())
> > + if len(event.args) > 0:
> > + argnames = ", " + argnames
> > +
> > + if "vcpu" in event.properties:
> > + # already checked on the generic format code
> > + cond = "true"
> > + else:
> > + cond = "trace_event_get_state(%s)" % ("TRACE_" + event.name.upper())
> > +
> > + out(' if (%(cond)s && qemu_loglevel_mask(LOG_TRACE)) {',
> > + ' qemu_log("%(name)s " %(fmt)s "\\n" %(argnames)s);',
> > + ' }',
> > + cond=cond,
> > + name=event.name,
> > + fmt=event.fmt.rstrip("\n"),
> > + argnames=argnames)
>
> It is not necessary to introduce a new backend. There could be an option
> that controls whether or not the timestamp/tid is printed. For example,
> -trace timestamp=off or maybe the timestmap/tid can be integrated into
> qemu_log() itself so that it's used more consistently and a -d timestamp
> option enables it.
QEMU already has a "-msg timestamp=on|off" option that controls whether
error reports on stderr get a timestamp. I think it is probably reasonable
for this existing option to apply to anything QEMU prints to stdout/err,
and thus we could wire it up for qemu_log().
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2020-06-18 9:08 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-17 13:36 [PATCH 2/2] scripts/tracetool: Add plainlog backend BALATON Zoltan
2020-06-17 15:41 ` Alex Bennée
2020-06-17 15:41 ` Alex Bennée
2020-06-17 17:53 ` BALATON Zoltan
2020-06-17 17:53 ` BALATON Zoltan
2020-06-18 7:31 ` Stefan Hajnoczi
2020-06-18 7:31 ` Stefan Hajnoczi
2020-06-18 9:07 ` Daniel P. Berrangé [this message]
2020-06-18 9:07 ` Daniel P. Berrangé
2020-06-18 10:30 ` BALATON Zoltan
2020-06-18 10:30 ` BALATON Zoltan
2020-06-18 15:35 ` Stefan Hajnoczi
2020-06-18 15:35 ` Stefan Hajnoczi
2020-06-18 15:43 ` Daniel P. Berrangé
2020-06-18 15:43 ` Daniel P. Berrangé
2020-06-23 14:47 ` Stefan Hajnoczi
2020-06-23 14:47 ` 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=20200618090741.GC671599@redhat.com \
--to=berrange@redhat.com \
--cc=balaton@eik.bme.hu \
--cc=qemu-devel@nongnu.org \
--cc=qemu-trivial@nongnu.org \
--cc=stefanha@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.