diff options
author | Lluís Vilanova <vilanova@ac.upc.edu> | 2014-02-23 20:37:40 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2014-05-07 19:07:18 +0200 |
commit | 1dad2ce97345f3424c4990cb232b40a35d5e936b (patch) | |
tree | 1e7ebf28f38266aca24947f76294f8b6ac340bc5 /scripts/tracetool/backend/ftrace.py | |
parent | ef0bd3bba674769c7d36bf400fc4fe7ea43244c5 (diff) |
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 <vilanova@ac.upc.edu>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'scripts/tracetool/backend/ftrace.py')
-rw-r--r-- | scripts/tracetool/backend/ftrace.py | 56 |
1 files changed, 25 insertions, 31 deletions
diff --git a/scripts/tracetool/backend/ftrace.py b/scripts/tracetool/backend/ftrace.py index 888c361aec..d798c71347 100644 --- a/scripts/tracetool/backend/ftrace.py +++ b/scripts/tracetool/backend/ftrace.py @@ -19,36 +19,30 @@ from tracetool import out PUBLIC = True -def c(events): - pass - -def h(events): +def generate_h_begin(events): out('#include "trace/ftrace.h"', '#include "trace/control.h"', - '', - ) - - for e in events: - argnames = ", ".join(e.args.names()) - if len(e.args) > 0: - argnames = ", " + argnames - - out('static inline void trace_%(name)s(%(args)s)', - '{', - ' char ftrace_buf[MAX_TRACE_STRLEN];', - ' int unused __attribute__ ((unused));', - ' int trlen;', - ' bool _state = trace_event_get_state(%(event_id)s);', - ' if (_state) {', - ' trlen = snprintf(ftrace_buf, MAX_TRACE_STRLEN,', - ' "%(name)s " %(fmt)s "\\n" %(argnames)s);', - ' trlen = MIN(trlen, MAX_TRACE_STRLEN - 1);', - ' unused = write(trace_marker_fd, ftrace_buf, trlen);', - ' }', - '}', - 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(' {', + ' char ftrace_buf[MAX_TRACE_STRLEN];', + ' int unused __attribute__ ((unused));', + ' int trlen;', + ' if (trace_event_get_state(%(event_id)s)) {', + ' trlen = snprintf(ftrace_buf, MAX_TRACE_STRLEN,', + ' "%(name)s " %(fmt)s "\\n" %(argnames)s);', + ' trlen = MIN(trlen, MAX_TRACE_STRLEN - 1);', + ' unused = write(trace_marker_fd, ftrace_buf, trlen);', + ' }', + ' }', + name=event.name, + args=event.args, + event_id="TRACE_" + event.name.upper(), + fmt=event.fmt.rstrip("\n"), + argnames=argnames) |