【问题标题】:How to measure page generation time with webapp2?如何使用 webapp2 测量页面生成时间?
【发布时间】:2015-07-28 10:25:44
【问题描述】:

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

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

但是,我不确定在哪里放置启动计时器。我不想将它插入每个单独的处理程序中......

【问题讨论】:

    标签: python google-app-engine webapp2


    【解决方案1】:

    一个地方可能是处理程序的调度函数,例如保存 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)
    

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

    【讨论】:

    • 谢谢!结束点为时已晚(渲染出现在“finally”之前),但开始时间有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多