diff options
Diffstat (limited to 'api_plotter.py')
-rwxr-xr-x | api_plotter.py | 38 |
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 |