From 1dad2ce97345f3424c4990cb232b40a35d5e936b Mon Sep 17 00:00:00 2001 From: Lluís Vilanova Date: Sun, 23 Feb 2014 20:37:40 +0100 Subject: trace: [tracetool] Minimize the amount of per-backend code Backends now only contain the essential backend-specific code, and most of the work is moved to frontend code. Signed-off-by: Lluís Vilanova Signed-off-by: Stefan Hajnoczi --- scripts/tracetool/backend/stderr.py | 42 ++++++++++++++----------------------- 1 file changed, 16 insertions(+), 26 deletions(-) (limited to 'scripts/tracetool/backend/stderr.py') diff --git a/scripts/tracetool/backend/stderr.py b/scripts/tracetool/backend/stderr.py index 6681e26ff9..2a1e9064c3 100644 --- a/scripts/tracetool/backend/stderr.py +++ b/scripts/tracetool/backend/stderr.py @@ -19,31 +19,21 @@ from tracetool import out PUBLIC = True -def c(events): - pass - -def h(events): +def generate_h_begin(events): out('#include ', '#include "trace/control.h"', - '', - ) - - for e in events: - argnames = ", ".join(e.args.names()) - if len(e.args) > 0: - argnames = ", " + argnames - - out('static inline void %(api)s(%(args)s)', - '{', - ' bool _state = trace_event_get_state(%(event_id)s);', - ' if (_state) {', - ' fprintf(stderr, "%(name)s " %(fmt)s "\\n" %(argnames)s);', - ' }', - '}', - api = e.api(), - name = e.name, - args = e.args, - event_id = "TRACE_" + e.name.upper(), - fmt = e.fmt.rstrip("\n"), - argnames = argnames, - ) + '') + + +def generate_h(event): + argnames = ", ".join(event.args.names()) + if len(event.args) > 0: + argnames = ", " + argnames + + out(' if (trace_event_get_state(%(event_id)s)) {', + ' fprintf(stderr, "%(name)s " %(fmt)s "\\n" %(argnames)s);', + ' }', + event_id="TRACE_" + event.name.upper(), + name=event.name, + fmt=event.fmt.rstrip("\n"), + argnames=argnames) -- cgit v1.2.3-55-g7522