diff --git a/src/eddn/Gateway.py b/src/eddn/Gateway.py index 97260fe..39f1563 100644 --- a/src/eddn/Gateway.py +++ b/src/eddn/Gateway.py @@ -185,7 +185,9 @@ def health_check(): @get('/stats/') def stats(): response.set_header("Access-Control-Allow-Origin", "*") - return simplejson.dumps(statsCollector.getSummary()) + stats = statsCollector.getSummary() + stats["version"] = Settings.EDDN_VERSION + return simplejson.dumps(stats) class MalformedUploadError(Exception): diff --git a/src/eddn/Relay.py b/src/eddn/Relay.py index 15d83d0..c703add 100644 --- a/src/eddn/Relay.py +++ b/src/eddn/Relay.py @@ -27,7 +27,9 @@ statsCollector.start() @get('/stats/') def stats(): response.set_header("Access-Control-Allow-Origin", "*") - return simplejson.dumps(statsCollector.getSummary()) + stats = statsCollector.getSummary() + stats["version"] = Settings.EDDN_VERSION + return simplejson.dumps(stats) class Relay(Thread): diff --git a/src/eddn/StatsCollector.py b/src/eddn/StatsCollector.py index 59e4540..7e12376 100644 --- a/src/eddn/StatsCollector.py +++ b/src/eddn/StatsCollector.py @@ -1,4 +1,5 @@ from collections import deque +from datetime import datetime from itertools import islice from threading import Lock, Thread from time import sleep @@ -17,11 +18,14 @@ class StatsCollector(Thread): lock = Lock() + starttime = 0 + def __init__(self): super(StatsCollector, self).__init__() self.daemon = True def run(self): + self.starttime = datetime.utcnow() while True: sleep(60) with self.lock: @@ -59,4 +63,6 @@ class StatsCollector(Thread): "60min": self.getCount(key, 60) } + summary['uptime'] = int((datetime.utcnow() - self.starttime).total_seconds()) + return summary