Extra stats: uptime and EDDN version.

This commit is contained in:
James Muscat 2015-04-23 09:57:51 +01:00
parent 13e5cb4360
commit 976454c358
3 changed files with 12 additions and 2 deletions

View File

@ -185,7 +185,9 @@ def health_check():
@get('/stats/') @get('/stats/')
def stats(): def stats():
response.set_header("Access-Control-Allow-Origin", "*") 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): class MalformedUploadError(Exception):

View File

@ -27,7 +27,9 @@ statsCollector.start()
@get('/stats/') @get('/stats/')
def stats(): def stats():
response.set_header("Access-Control-Allow-Origin", "*") 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): class Relay(Thread):

View File

@ -1,4 +1,5 @@
from collections import deque from collections import deque
from datetime import datetime
from itertools import islice from itertools import islice
from threading import Lock, Thread from threading import Lock, Thread
from time import sleep from time import sleep
@ -17,11 +18,14 @@ class StatsCollector(Thread):
lock = Lock() lock = Lock()
starttime = 0
def __init__(self): def __init__(self):
super(StatsCollector, self).__init__() super(StatsCollector, self).__init__()
self.daemon = True self.daemon = True
def run(self): def run(self):
self.starttime = datetime.utcnow()
while True: while True:
sleep(60) sleep(60)
with self.lock: with self.lock:
@ -59,4 +63,6 @@ class StatsCollector(Thread):
"60min": self.getCount(key, 60) "60min": self.getCount(key, 60)
} }
summary['uptime'] = int((datetime.utcnow() - self.starttime).total_seconds())
return summary return summary