diffusers/tools
1128
1#!/usr/bin/env python32import json3import sys4import numpy as np5from collections import Counter6import matplotlib as mpl7import matplotlib.pyplot as plt8 9files = sys.argv[1:]10 11def retrieve_day_to_num_signups(file):12 with open(file, "r") as f:13 json_file = json.load(f)14 15 list_of_days = [x["time"].split("T")[0] for x in json_file]16 17 return Counter(list_of_days)18 19 20files = {f.split()[0].split("user-access-report-")[-1]: f for f in files}21counters = {file: retrieve_day_to_num_signups(path) for file, path in files.items()}22total_counters = {file: np.cumsum(list(counters[file].values())) for file in files.keys()}23 24max_size = max([c.shape[0] for c in list(total_counters.values())])25time_axis = np.arange(0, max_size)26 27plot_counters = {}28for k, v in total_counters.items():29 plot_counters[k] = np.zeros(max_size, dtype=np.int32)30 if not v.shape[0] == max_size:31 plot_counters[k][-v.shape[0]:] = v32 else:33 plot_counters[k] = v34 35fig, ax = plt.subplots()36for file in files.keys():37 ax.plot(time_axis, plot_counters[file], label=file)38 39ax.set_xlabel("day since launch (on 23/08)")40ax.set_ylabel("number of requsets")41ax.set_title("Acces requests comparision")42ax.legend()43plt.savefig("access_requests.png")44 