如何使用webapp2测量页面生成时间?

时间:2015-07-28 10:25:45

标签: python google-app-engine webapp2

我想显示生成页面所需的时间。我想结束时间的最佳位置是基本处理程序的渲染功能:

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))

但是,我不知道在哪里放置启动计时器。我不想在每个处理程序中插入它......

1 个答案:

答案 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)

但它会测量所有处理程序的持续时间,而不仅仅是渲染和显示响应页面的持续时间。