我想打印控制器中的每个请求,请求何时开始,何时结束以及该过程需要多长时间。我是否必须将此代码单独添加到每个请求中,或者是否有任何通用方法可以做到这一点?
除了现有的各种插件(例如Profiler)之外,一个非常简单的解决方案是使用过滤器。这篇博文将引导您完成设置过滤器的过程,该过滤器将记录每个控制器操作的开始和结束时间。
使用 Grails 过滤器的一个非常简单的示例是:
class PerfFilter {
def filters = {
profiler(controller: '*', action: '*') {
before {
request._startTime = System.currentTimeMillis()
log.trace("Beginning ${controllerName} ${actionName}")
}
after {
log.trace("Finished ${controllerName} ${actionName}")
log.trace("Total time to execute was: ${System.currentTimeMillis() - request._startTime}")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果您需要更强大的整体性能监控功能,我强烈推荐Grails 的Javamelody 插件。
| 归档时间: |
|
| 查看次数: |
464 次 |
| 最近记录: |