Mercurial > code > home > repos > homeauto
changeset 439:124c921ad52d
stats->state to make room for greplin stats
Ignore-this: cfa2357bdf06ac3324741700ac44db5c
author | drewp@bigasterisk.com |
---|---|
date | Mon, 15 Apr 2019 00:17:04 -0700 |
parents | d453cdd8a86f |
children | 6304b0370491 |
files | lib/patchsource.py service/collector/sse_collector.py |
diffstat | 2 files changed, 17 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/patchsource.py Sat Apr 13 20:56:30 2019 -0700 +++ b/lib/patchsource.py Mon Apr 15 00:17:04 2019 -0700 @@ -41,7 +41,7 @@ d.addCallback(self._onDisconnect) self._eventSource.protocol.setFinishedDeferred = sfd - def stats(self): + def state(self): return { 'url': self.url, 'fullGraphReceived': self._fullGraphReceived, @@ -127,9 +127,9 @@ def _onPatch(self, p, fullGraph): self._listener(p, fullGraph=fullGraph) - def stats(self): + def state(self): return { - 'reconnectedPatchSource': self._ps.stats(), + 'reconnectedPatchSource': self._ps.state(), } def stop(self):
--- a/service/collector/sse_collector.py Sat Apr 13 20:56:30 2019 -0700 +++ b/service/collector/sse_collector.py Mon Apr 15 00:17:04 2019 -0700 @@ -86,9 +86,9 @@ # http://bigasterisk.com/sse_collector/). self.statements = collections.defaultdict(lambda: (set(), set())) # (s,p,o,c): (sourceUrls, handlers)` - def stats(self): + def state(self): return { -'len': len(self.statements), + 'len': len(self.statements), } def _postDeleteStatements(self): @@ -201,11 +201,11 @@ self._localStatements = LocalStatements(self._onPatch) - def stats(self): + def state(self): return { - 'clients': [ps.stats() for ps in self.clients.values()], - 'sseHandlers': [h.stats() for h in self.handlers], - 'statements': self.statements.stats(), + 'clients': [ps.state() for ps in self.clients.values()], + 'sseHandlers': [h.state() for h in self.handlers], + 'statements': self.statements.state(), } def _sourcesForHandler(self, handler): @@ -307,10 +307,10 @@ def __repr__(self): return '<Handler #%s>' % self._serial - def stats(self): + def state(self): return { - 'created': self.created, - 'ageHours': (time.time() - self.created) / 3600, + 'created': round(self.created, 2), + 'ageHours': round((time.time() - self.created) / 3600, 2), 'streamId': self.streamId, 'remoteIp': self.request.remote_ip, 'userAgent': self.request.headers.get('user-agent'), @@ -322,22 +322,22 @@ def unbind(self): self.graphClients.removeSseHandler(self) -class Stats(cyclone.web.RequestHandler): +class State(cyclone.web.RequestHandler): + @STATS.getState.time() def get(self): try: - stats = self.settings.graphClients.stats() + state = self.settings.graphClients.state() except: import traceback; traceback.print_exc() raise - self.write(json.dumps({'graphClients': stats}, indent=2)) + self.write(json.dumps({'graphClients': state}, indent=2)) class Root(cyclone.web.RequestHandler): def get(self): self.write('<html><body>sse_collector</body></html>') if __name__ == '__main__': - arg = docopt(""" Usage: sse_collector.py [options] @@ -357,7 +357,7 @@ cyclone.web.Application( handlers=[ (r'/', Root), - (r'/stats', Stats), + (r'/state', State), (r'/graph/(.*)', SomeGraph), ], graphClients=graphClients),