From 3bdf9337da25c3db300a540fa75698c0681c3280 Mon Sep 17 00:00:00 2001 From: rkebichi <54912798+rkebichi@users.noreply.github.com> Date: Fri, 31 Jan 2020 11:01:11 -0500 Subject: [PATCH] Create parse_trace.py script to parse roctracer .txt trace files [ROCm/roctracer commit: 941622e6b94fe39b445569524419ce985b1353e4] --- projects/roctracer/script/parse_trace.py | 39 ++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 projects/roctracer/script/parse_trace.py diff --git a/projects/roctracer/script/parse_trace.py b/projects/roctracer/script/parse_trace.py new file mode 100644 index 0000000000..86ab68b308 --- /dev/null +++ b/projects/roctracer/script/parse_trace.py @@ -0,0 +1,39 @@ +#!/usr/bin/python + +import os, sys, re +import argparse + +events_count = {} +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+.*') + m = event_pattern.match(line) + if m: + event = m.group(1) + 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 cnt: + for event,count in events_count.items(): + print event + ": count " + str(count) + if order: + print events_order + +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') +requiredNamed = parser.add_argument_group('Required arguments') +requiredNamed.add_argument('-in', metavar='file', help='Trace file', required=True) + +args = vars(parser.parse_args()) + +if __name__ == '__main__': + parse_trace(args['in'],args['cn'],args['or']) +