blob: cb2b240714e7814a012bb411ec0205d57678bcdd [file] [log] [blame]
#!/usr/bin/python
import json
import sys
import numpy
wall = dict()
end = dict()
for path in sys.argv[1:]:
print ("Processing file: " + path)
data = open(path).read()
events = json.loads(data)
data = dict()
min_ts = None
for event in events:
if "ts" in event:
ts = long(event["ts"])
if not min_ts or min_ts > ts:
min_ts = ts
for event in events:
if "pid" in event:
pid = event["pid"]
tid = event["tid"]
ph = event["ph"]
if ph == "B":
tids = data.setdefault(pid, dict())
evs = tids.setdefault(tid, [])
evs.append(event)
elif ph == "E":
last = data[pid][tid].pop()
wall.setdefault(last["name"],[]).append(long(event["ts"]) - long(last["ts"]))
end.setdefault(last["name"],[]).append(long(event["ts"]) - min_ts)
print("On a total of " + str(len(sys.argv[1:])) + " files:")
for k,v in wall.items():
l = len(v)
avg = numpy.mean(v)
med = numpy.median(v)
print (k + ": #" + str(l) + " Avg: " + str(avg) + " Med: " + str(med) + " EndAvg: " + str(numpy.mean(end[k])))