|
@@ -20,40 +20,29 @@
|
|
|
|
|
|
|
|
|
def c(events):
|
|
|
- out('#include "trace.h"',
|
|
|
- '',
|
|
|
- 'TraceEvent trace_list[] = {')
|
|
|
-
|
|
|
- for e in events:
|
|
|
- out('{.tp_name = "%(name)s", .state=0},',
|
|
|
- name = e.name,
|
|
|
- )
|
|
|
-
|
|
|
- out('};')
|
|
|
+ pass
|
|
|
|
|
|
def h(events):
|
|
|
out('#include <stdio.h>',
|
|
|
- '#include "trace/stderr.h"',
|
|
|
+ '#include "trace/control.h"',
|
|
|
'',
|
|
|
- 'extern TraceEvent trace_list[];')
|
|
|
+ )
|
|
|
|
|
|
- for num, e in enumerate(events):
|
|
|
+ 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)',
|
|
|
'{',
|
|
|
- ' if (trace_list[%(event_num)s].state != 0) {',
|
|
|
+ ' bool _state = trace_event_get_state(%(event_id)s);',
|
|
|
+ ' if (_state) {',
|
|
|
' fprintf(stderr, "%(name)s " %(fmt)s "\\n" %(argnames)s);',
|
|
|
' }',
|
|
|
'}',
|
|
|
name = e.name,
|
|
|
args = e.args,
|
|
|
- event_num = num,
|
|
|
- fmt = e.fmt,
|
|
|
+ event_id = "TRACE_" + e.name.upper(),
|
|
|
+ fmt = e.fmt.rstrip("\n"),
|
|
|
argnames = argnames,
|
|
|
)
|
|
|
-
|
|
|
- out('',
|
|
|
- '#define NR_TRACE_EVENTS %d' % len(events))
|