因为我正在重建遗留系统,所以我正在尝试衡量在我的应用程序的每个操作上花费的时间。
现在我在 Controller 级别执行此操作:
def actionStart() {
session.startTime = new Date().getTime()
}
def actionEnd() {
def endTime = new Date().getTime()
timeHandler(endTime, session.startTime)
}
def timeHandler(end, start){
return end - start
}
重要:我想把它移到一个过滤器中,并在每个 Action 的开始和结束时自动执行。
最好的方法应该是什么?提前致谢。
PS.: 获取System.currentTimeMillis()
和实例化一个对象有什么区别?性能?
最佳答案
在 Action 开始时这样做:
long now = System.currentTimeMillis();
在 Action 结束时,像这样:
System.out.println( (System.currentTimeMillis() - now) + " ms");
然后把你的 Action 放在这两条线之间
免责声明:
这个问题我是按照java回答的(未编辑tags),所以请说明一下你的tags。
关于Grails - 如何计算任何操作所花费的执行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16060516/