Message ID | 20120111180535.25198.43232.stgit@ginnungagap.bsc.es |
---|---|
State | New |
Headers | show |
On 01/11/2012 11:35 PM, Lluís Vilanova wrote: > This would otherwise break event numbering when actually using the "disable" > property. > IIUC, event numbering does include disabled events too, are you proposing not to include disabled events in event numbering ? That will affect interpreting event numbers while reading trace logs also. - Harsh > Signed-off-by: Lluís Vilanova<vilanova@ac.upc.edu> > --- > scripts/tracetool.py | 21 +++++++++------------ > 1 files changed, 9 insertions(+), 12 deletions(-) > > diff --git a/scripts/tracetool.py b/scripts/tracetool.py > index 7a877dc..b7401a3 100755 > --- a/scripts/tracetool.py > +++ b/scripts/tracetool.py > @@ -128,7 +128,7 @@ def simple_h(events): > 'args': event.args > } > print > - print '#define NR_TRACE_EVENTS %d' % (event.num + 1) > + print '#define NR_TRACE_EVENTS %d' % len(events) > print 'extern TraceEvent trace_list[NR_TRACE_EVENTS];' > > return > @@ -154,7 +154,7 @@ def simple_c(events): > print > print '};' > print > - for event in events: > + for num, event in enumerate(events): > argc = event.argc > print '''void trace_%(name)s(%(args)s) > { > @@ -169,12 +169,12 @@ def simple_c(events): > ''' % { > 'name': event.name, > 'args': event.args, > - 'event_id': event.num, > + 'event_id': num, > } > print ''' > tbuf_idx = trace_alloc_record(%(event_id)s, %(sizestr)s); > rec_off = (tbuf_idx + ST_V2_REC_HDR_LEN) %% TRACE_BUF_LEN; /* seek record header */ > -''' % {'event_id': event.num, 'sizestr': event.sizestr,} > +''' % {'event_id': num, 'sizestr': event.sizestr,} > > if argc> 0: > str = event.arglist > @@ -220,7 +220,7 @@ def stderr_h(events): > #include "trace/stderr.h" > > extern TraceEvent trace_list[];''' > - for event in events: > + for num, event in enumerate(events): > argnames = event.argnames > if event.argc> 0: > argnames = ', ' + event.argnames > @@ -235,12 +235,12 @@ static inline void trace_%(name)s(%(args)s) > }''' % { > 'name': event.name, > 'args': event.args, > - 'event_num': event.num, > + 'event_num': num, > 'fmt': event.fmt.rstrip('\n'), > 'argnames': argnames > } > print > - print '#define NR_TRACE_EVENTS %d' % (event.num + 1) > + print '#define NR_TRACE_EVENTS %d' % len(events) > > def stderr_c(events): > print '''#include "trace.h" > @@ -475,8 +475,7 @@ import re > cre = re.compile("(?P<name>[^(\s]+)\((?P<args>[^)]*)\)\s*(?P<fmt>\".*\")?") > > class Event(object): > - def __init__(self, num, line): > - self.num = num > + def __init__(self, line): > m = cre.match(line) > assert m is not None > groups = m.groupdict('') > @@ -491,14 +490,12 @@ class Event(object): > # Generator that yields Event objects given a trace-events file object > def read_events(fobj): > res = [] > - event_num = 0 > for line in fobj: > if not line.strip(): > continue > if line.lstrip().startswith('#'): > continue > - res.append(Event(event_num, line)) > - event_num += 1 > + res.append(Event(line)) > return res > > backend = "" > >
On Wed, Jan 18, 2012 at 9:48 AM, Harsh Bora <harsh@linux.vnet.ibm.com> wrote: > On 01/11/2012 11:35 PM, Lluís Vilanova wrote: >> >> This would otherwise break event numbering when actually using the >> "disable" >> property. >> > > IIUC, event numbering does include disabled events too, are you proposing > not to include disabled events in event numbering ? That will affect > interpreting event numbers while reading trace logs also. I agree with Lluís. Here's how it worked in scripts/tracetool: disabled events were processed with "nop" backend and therefore did not increment the event counter in the "simple" backend. Stefan
diff --git a/scripts/tracetool.py b/scripts/tracetool.py index 7a877dc..b7401a3 100755 --- a/scripts/tracetool.py +++ b/scripts/tracetool.py @@ -128,7 +128,7 @@ def simple_h(events): 'args': event.args } print - print '#define NR_TRACE_EVENTS %d' % (event.num + 1) + print '#define NR_TRACE_EVENTS %d' % len(events) print 'extern TraceEvent trace_list[NR_TRACE_EVENTS];' return @@ -154,7 +154,7 @@ def simple_c(events): print print '};' print - for event in events: + for num, event in enumerate(events): argc = event.argc print '''void trace_%(name)s(%(args)s) { @@ -169,12 +169,12 @@ def simple_c(events): ''' % { 'name': event.name, 'args': event.args, - 'event_id': event.num, + 'event_id': num, } print ''' tbuf_idx = trace_alloc_record(%(event_id)s, %(sizestr)s); rec_off = (tbuf_idx + ST_V2_REC_HDR_LEN) %% TRACE_BUF_LEN; /* seek record header */ -''' % {'event_id': event.num, 'sizestr': event.sizestr,} +''' % {'event_id': num, 'sizestr': event.sizestr,} if argc > 0: str = event.arglist @@ -220,7 +220,7 @@ def stderr_h(events): #include "trace/stderr.h" extern TraceEvent trace_list[];''' - for event in events: + for num, event in enumerate(events): argnames = event.argnames if event.argc > 0: argnames = ', ' + event.argnames @@ -235,12 +235,12 @@ static inline void trace_%(name)s(%(args)s) }''' % { 'name': event.name, 'args': event.args, - 'event_num': event.num, + 'event_num': num, 'fmt': event.fmt.rstrip('\n'), 'argnames': argnames } print - print '#define NR_TRACE_EVENTS %d' % (event.num + 1) + print '#define NR_TRACE_EVENTS %d' % len(events) def stderr_c(events): print '''#include "trace.h" @@ -475,8 +475,7 @@ import re cre = re.compile("(?P<name>[^(\s]+)\((?P<args>[^)]*)\)\s*(?P<fmt>\".*\")?") class Event(object): - def __init__(self, num, line): - self.num = num + def __init__(self, line): m = cre.match(line) assert m is not None groups = m.groupdict('') @@ -491,14 +490,12 @@ class Event(object): # Generator that yields Event objects given a trace-events file object def read_events(fobj): res = [] - event_num = 0 for line in fobj: if not line.strip(): continue if line.lstrip().startswith('#'): continue - res.append(Event(event_num, line)) - event_num += 1 + res.append(Event(line)) return res backend = ""
This would otherwise break event numbering when actually using the "disable" property. Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> --- scripts/tracetool.py | 21 +++++++++------------ 1 files changed, 9 insertions(+), 12 deletions(-)