aboutsummaryrefslogtreecommitdiffstats
path: root/api_plotter.py
diff options
context:
space:
mode:
Diffstat (limited to 'api_plotter.py')
-rwxr-xr-xapi_plotter.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/api_plotter.py b/api_plotter.py
new file mode 100755
index 0000000..83d4f08
--- /dev/null
+++ b/api_plotter.py
@@ -0,0 +1,38 @@
+import matplotlib.pyplot as plt
+import datetime
+import math
+import os
+import re
+
+def round_to_min(dt: datetime.datetime):
+ return datetime.datetime(
+ year = dt.year,
+ month = dt.month,
+ day = dt.day,
+ hour = dt.hour,
+ minute = math.floor(dt.minute)
+ )
+
+with open(os.path.join("logs", "api.log"), "r") as f:
+ s = f.read().split("\n")
+
+timestamps = set()
+
+for l in s:
+ x = re.search(r"^.*\tResponse: 200", l)
+ if x is not None:
+ timestamps.add(datetime.datetime.strptime(x.group()[1:24], "%Y-%m-%d %H:%M:%S,%f"))
+
+d = {}
+for timestamp in timestamps:
+ nearest = round_to_min(timestamp)
+
+ try:
+ d[nearest] += 1
+ except KeyError:
+ d[nearest] = 1
+
+fig, ax = plt.subplots()
+ax.plot(list(d.keys()), list(d.values()))
+
+plt.show() \ No newline at end of file