in pageload-summary/summarize.py [0:0]
def visual_summary(summary, save=False, directory=None):
for platform, apps in sorted(summary.items()):
for app, variants in sorted(apps.items(), reverse=1):
plt.figure(figsize=(10, 10))
plt.suptitle(platform + f" {app}")
for variant, pl_types in sorted(variants.items(), reverse=1):
"""
This is a simple visualization to show the metric. It
can be modified to anything.
"""
figc = 1
for pl_type, data in pl_types.items():
plt.subplot(1, 2, figc)
figc += 1
variant = variant if variant != "None" else "e10s"
plt.title(f"{pl_type}")
times = [
datetime.datetime.strptime(x, "%Y-%m-%d %H:%M")
for x, y in data["values"]
]
vals = [y for x, y in data["values"]]
ma_times = [
datetime.datetime.strptime(x, "%Y-%m-%d %H:%M")
for x, y in data["moving_average"]
]
ma_vals = [y for x, y in data["moving_average"]]
md_times = md.date2num(times)
md_ma_times = md.date2num(ma_times)
ax = plt.gca()
xfmt = md.DateFormatter("%Y-%m-%d %H:%M:%S")
ax.xaxis.set_major_formatter(xfmt)
plt.xticks(rotation=25)
plt.plot(md_times, vals, label=variant)
plt.plot(md_ma_times, ma_vals, label=variant + " (avg)")
plt.legend()
if save:
if directory != None:
if directory[-1] != "/":
directory += "/"
dest = directory + platform + ".png"
else:
dest = platform + ".png"
plt.savefig(dest)
plt.close()
else:
plt.show()