import json import csv import sys if len(sys.argv) == 1: print("No file was provided") else: trace_events = [] call_stack = [] with open(sys.argv[1], "r") as in_file: csv_reader = csv.reader(in_file, delimiter=',') for line in csv_reader: if line[0] == "->": call_stack.append(line) elif line[0] == "<-": call = call_stack.pop() trace_events.append({ "pid": 1, "tid": 1, "ts" : int(call[1]), "dur": int(line[1])-int(call[1]), "ph" : "X", "name": call[2], "args": { "file": f"({call[3]}:{call[4]})" } }) else: print("invalid syntax") break with open("out.json", "w") as out_file: out_file.write(json.dumps({"traceEvents": trace_events}, indent=4))