qemu-trivial
[Top][All Lists]
Advanced

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

Re: [PATCH 2/2] scripts/tracetool: Add plainlog backend


From: Alex Bennée
Subject: Re: [PATCH 2/2] scripts/tracetool: Add plainlog backend
Date: Wed, 17 Jun 2020 16:41:04 +0100
User-agent: mu4e 1.5.3; emacs 28.0.50

BALATON Zoltan <balaton@eik.bme.hu> writes:

Did this patch get separated from a larger series (2/2)?

> 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.

I'd argue for this to be the behaviour of plain log (given it's mixing
with other log output). If not then maybe plainlog would be the default
log type if nothing is passed to configure?

>
> 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>"
> +__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)
> +
> +
> +def generate_h_backend_dstate(event, group):
> +    out('    trace_event_get_state_dynamic_by_id(%(event_id)s) || \\',
> +        event_id="TRACE_" + event.name.upper())


-- 
Alex Bennée



reply via email to

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