【问题标题】:How can one determine page render time in Spring (on Google App Engine/Java)?如何确定 Spring 中的页面呈现时间(在 Google App Engine/Java 上)?
【发布时间】:2009-07-29 22:55:18
【问题描述】:

我们正在使用 Spring 2.5 在 Java 中的 Google App Engine 上构建一个应用程序。

我想在页脚中添加一些显示页面渲染时间的内容。

Spring 或 GAE/J 中用于计算渲染时间并将其放入 Spring 模型中进行 JSP 渲染的最佳代码挂钩在哪里?

【问题讨论】:

    标签: performance spring google-app-engine


    【解决方案1】:

    这有点棘手。 最合理的方法可能是 servlet 过滤器。 但问题是,当响应返回到过滤器时,它已经被写入了。所以你可以写它,但只能在标记的末尾,从 html 的角度来看这没有意义..

    所以我想到的基本上是三个选择:

    1) 创建一个过滤器,包装整个 outputStream 并将其写入缓冲区并用渲染时间替换一个“特殊字符串”。然后将修改后的缓冲区写入真正的输出流。

    2) 在请求开始时分配一个随机/递增的令牌。将请求持续时间保存在全局映射/会话映射中。编写一个在页面加载后触发的 javscript,在页面中的某处写出响应时间。

    3) 伪造整个事情并使用 javscript/cookies 计算响应时间,而不需要服务器测量任何东西。

    我已经像 2) 一样实施了它,我认为它还可以。

    注意这个答案不是 GAE 特定的,而是 servlet2.x 特定的。没关系。

    【讨论】:

    • 啊,关于2的一个问题:Spring代码中的哪里尽可能接近请求的开头? @RequestHandler 方法似乎有点晚(在调度之后),但也许不是。那么3呢? cookie 是如何涉及的?顺便说一句,谢谢你的回答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    • 2015-07-22
    • 2013-02-02
    • 2014-10-04
    • 2011-04-26
    • 1970-01-01
    相关资源
    最近更新 更多