From 155dc6f97eee8fda662a08b7157fa4b0e28aaf13 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 7 Feb 2020 17:00:50 -0500 Subject: [PATCH] Update parse_trace.py [ROCm/roctracer commit: e28dde64b3f7f9eaf394458a727044c2789db08c] --- projects/roctracer/script/parse_trace.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/projects/roctracer/script/parse_trace.py b/projects/roctracer/script/parse_trace.py index 56ff1de712..0ec82d8eed 100644 --- a/projects/roctracer/script/parse_trace.py +++ b/projects/roctracer/script/parse_trace.py @@ -4,33 +4,39 @@ import os, sys, re import argparse events_count = {} -events_order = [] +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+.*|\d+:\d+\s+\d+:\d+\s+(\w+).*') + event_pattern = re.compile(r'<(\w+)\s+id\(\d+\)\s+.*tid\((\d+)\)>|\d+:\d+\s+\d+:\d+\s+(\w+)') m = event_pattern.match(line) if m: event = m.group(1) if not event: - event = m.group(2) + 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: - events_order.append(event) + if tid: + 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) if order: - print events_order + for tid in sorted (events_order.keys()) : + print str(events_order[tid]) parser = argparse.ArgumentParser(description='parse_trace.py: reads roctracer trace file and parses it.') -parser.add_argument('-cn', action='store_true',help='Generates events count') parser.add_argument('-or', action='store_true',help='Generates ordered events') +parser.add_argument('-cn', action='store_true',help='Generates events count') requiredNamed = parser.add_argument_group('Required arguments') requiredNamed.add_argument('-in', metavar='file', help='Trace file', required=True)