我想显示生成页面所需的时间。我想结束时间的最佳位置是基本处理程序的渲染功能:
class Handler(webapp2.RequestHandler):
def write(self, *a, **kw):
self.response.out.write(*a, **kw)
def render_str(self, template, **params):
t = jinja_env.get_template(template)
time_passed = datetime.now() - start_time
return t.render(params, time_passed=time_passed)
def render(self, template, **kw):
self.write(self.render_str(template, **kw))
但是,我不知道在哪里放置启动计时器。我不想在每个处理程序中插入它......
答案 0 :(得分:2)
一个地方可能是处理程序的调度功能,例如webapp2会话(如果你使用它们)被保存,如下所示:
def MyHandler(webapp2.RequestHandler)
...
def dispatch(self):
start_time = time.time()
try:
super(MyHandler, self).dispatch()
finally:
elapsed_time = time.time() - start_time
self.session_store.save_sessions(self.response)
但它会测量所有处理程序的持续时间,而不仅仅是渲染和显示响应页面的持续时间。