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/')
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):

View File

@ -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):

View File

@ -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