diff --git a/script/parse_trace.py b/script/parse_trace.py index 0ec82d8eed..c1f3de0b66 100644 --- a/script/parse_trace.py +++ b/script/parse_trace.py @@ -9,24 +9,26 @@ events_order = {} def parse_trace(tracefile,cnt,order): with open(tracefile) as f: for line in f: - event_pattern = re.compile(r'<(\w+)\s+id\(\d+\)\s+.*tid\((\d+)\)>|\d+:\d+\s+\d+:\d+\s+(\w+)') + event_pattern = re.compile(r'<(\w+)\s+id\(\d+\)\s+.*tid\((\d+)\)>') m = event_pattern.match(line) if m: event = m.group(1) - if not event: - event = m.group(3) tid = m.group(2) - if cnt: - if event in events_count: - events_count[event] = events_count[event] + 1 - else: - events_count[event] = 1 - if order: - if tid: - if tid in events_order.keys(): - events_order[tid].append(event) - else: - events_order[tid] = [event] + event_pattern2 = re.compile(r'\d+:\d+\s+\d+:(\d+)\s+(\w+)') + m2 = event_pattern2.match(line) + if m2: + event = m2.group(2) + tid = m2.group(1) + if cnt and (m or m2): + if event in events_count: + events_count[event] = events_count[event] + 1 + else: + events_count[event] = 1 + if order and (m or m2): + if tid in events_order.keys(): + events_order[tid].append(event) + else: + events_order[tid] = [event] if cnt: for event,count in events_count.items(): print event + ": count " + str(count)