Mercurial > code > home > repos > homeauto
changeset 1057:c1961da4180a
evtiming in reasoning service
Ignore-this: aa4aba730ca916bda2b8e99c743cac2a
darcs-hash:5d6fb7aa4ef06bf359751d069cc071348833ca98
author | drewp <drewp@bigasterisk.com> |
---|---|
date | Fri, 12 Feb 2016 02:42:29 -0800 |
parents | d2007482aec5 |
children | 2dfd367f7113 |
files | service/reasoning/reasoning.py |
diffstat | 1 files changed, 10 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/service/reasoning/reasoning.py Fri Feb 12 02:41:29 2016 -0800 +++ b/service/reasoning/reasoning.py Fri Feb 12 02:42:29 2016 -0800 @@ -19,7 +19,7 @@ from twisted.internet import reactor, task from twisted.internet.defer import inlineCallbacks, gatherResults from twisted.python.filepath import FilePath -import time, traceback, sys, json, logging, urllib +import time, traceback, sys, json, logging from rdflib import Graph, ConjunctiveGraph from rdflib import Namespace, URIRef, Literal, RDF from rdflib.parser import StringInputSource @@ -38,6 +38,9 @@ outlog = logging.getLogger('output') outlog.setLevel(logging.WARN) +sys.path.append('../../../ffg/ffg') +import evtiming + ROOM = Namespace("http://projects.bigasterisk.com/room/") DEV = Namespace("http://projects.bigasterisk.com/device/") @@ -188,7 +191,7 @@ self.inputGraph = InputGraph([], self.graphChanged) self.inputGraph.updateFileData() - + @evtiming.serviceLevel.timed('readRules') def readRules(self): self.rulesN3 = open('rules.n3').read() # for web display self.ruleStore = N3RuleStore() @@ -197,12 +200,14 @@ @inlineCallbacks def poll(self): + t1 = time.time() try: yield self.inputGraph.updateRemoteData() self.lastPollTime = time.time() except Exception, e: log.error(traceback.format_exc()) self.lastError = str(e) + evtiming.serviceLevel.addData('poll', time.time() - t1) def updateRules(self): try: @@ -219,6 +224,7 @@ return [(ROOM['reasoner'], ROOM['ruleParseTime'], Literal(ruleParseTime))] + evtiming.serviceLevel.timed('graphChanged') def graphChanged(self, inputGraph, oneShot=False, oneShotGraph=None): t1 = time.time() oldInferred = self.inferred @@ -259,6 +265,8 @@ class Index(cyclone.web.RequestHandler): def get(self): + print evtiming.serviceLevel.serviceJsonReport() + # make sure GET / fails if our poll loop died ago = time.time() - self.settings.reasoning.lastPollTime if ago > 2: