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: