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: BALATON Zoltan
Subject: Re: [PATCH 2/2] scripts/tracetool: Add plainlog backend
Date: Wed, 17 Jun 2020 19:53:49 +0200 (CEST)
User-agent: Alpine 2.22 (BSF 395 2020-01-19)

On Wed, 17 Jun 2020, Alex Bennée wrote:
Did this patch get separated from a larger series (2/2)?

No sorry, just used format-patch for two unrelated patches and forgot to remove this. This patch is standalone and Philippe pointed out the other one labelled 1/2 is not needed as there's already a similar patch queued.

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?

I'd like if the default log backend was not adding timestamps and random numbers to log messages for easier digesting and diffing but the current log backend does that and maybe there are people who like that default so instead of making them need to change their ways I'm proposing this backend that those who like plain logs can use instead. That's a less disruptive change than changing the default log backend but if others want that I'm fine with that too.

Regards,
BALATON Zoltan

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())



reply via email to

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