web/application.py
changeset 9876 ff98039cb4cd
parent 9659 c45073a96aee
child 9889 9b42e55e0686
equal deleted inserted replaced
9868:87181b34a47f 9876:ff98039cb4cd
   297 
   297 
   298     def log_handle_request(self, req, path):
   298     def log_handle_request(self, req, path):
   299         """wrapper around _publish to log all queries executed for a given
   299         """wrapper around _publish to log all queries executed for a given
   300         accessed path
   300         accessed path
   301         """
   301         """
       
   302         def wrap_set_cnx(func):
       
   303             def wrap_execute(cnx):
       
   304                 orig_execute = cnx.execute
       
   305                 def execute(rql, kwargs=None, build_descr=True):
       
   306                     tstart, cstart = time(), clock()
       
   307                     rset = orig_execute(rql, kwargs, build_descr=build_descr)
       
   308                     cnx.executed_queries.append((rql, kwargs, time() - tstart, clock() - cstart))
       
   309                     return rset
       
   310                 return execute
       
   311             def set_cnx(cnx):
       
   312                 func(cnx)
       
   313                 cnx.execute = wrap_execute(cnx)
       
   314                 cnx.executed_queries = []
       
   315             return set_cnx
       
   316         req.set_cnx = wrap_set_cnx(req.set_cnx)
   302         try:
   317         try:
   303             return self.main_handle_request(req, path)
   318             return self.main_handle_request(req, path)
   304         finally:
   319         finally:
   305             cnx = req.cnx
   320             cnx = req.cnx
   306             if cnx:
   321             if cnx: