| |
| import json |
| import sys |
| import numpy as np |
| from collections import Counter |
| import matplotlib as mpl |
| import matplotlib.pyplot as plt |
|
|
| files = sys.argv[1:] |
|
|
| def retrieve_day_to_num_signups(file): |
| with open(file, "r") as f: |
| json_file = json.load(f) |
|
|
| list_of_days = [x["time"].split("T")[0] for x in json_file] |
|
|
| return Counter(list_of_days) |
|
|
|
|
| files = {f.split()[0].split("user-access-report-")[-1]: f for f in files} |
| counters = {file: retrieve_day_to_num_signups(path) for file, path in files.items()} |
| total_counters = {file: np.cumsum(list(counters[file].values())) for file in files.keys()} |
|
|
| max_size = max([c.shape[0] for c in list(total_counters.values())]) |
| time_axis = np.arange(0, max_size) |
|
|
| plot_counters = {} |
| for k, v in total_counters.items(): |
| plot_counters[k] = np.zeros(max_size, dtype=np.int32) |
| if not v.shape[0] == max_size: |
| plot_counters[k][-v.shape[0]:] = v |
| else: |
| plot_counters[k] = v |
|
|
| fig, ax = plt.subplots() |
| for file in files.keys(): |
| ax.plot(time_axis, plot_counters[file], label=file) |
|
|
| ax.set_xlabel("day since launch (on 23/08)") |
| ax.set_ylabel("number of requsets") |
| ax.set_title("Acces requests comparision") |
| ax.legend() |
| plt.savefig("access_requests.png") |
|
|