java中的方法执行时间
问题描述:
我想在java中打印方法的执行时间。目前正在使用下面的代码,java中的方法执行时间
long startTime = System.currentTimeMillis();
// method body
long runTime= System.currentTimeMillis() - startTime;
System.out.println(" XYZ Method execution time: " + runTime);
有这么多的方法,我想找到运行中的项目,有没有什么办法,以防止在每个方法写这篇文章的代码?
该项目使用了Spring 2.5,Struts的2
编辑:我不想逻辑添加到每一个方法,我想,说,写一次的逻辑和使用某种类型的配置在哪里可以指定我需要打印执行时间的方法。所以无论何时执行该方法,运行时间应自动打印到控制台。正如我所说的一种方法是将代码添加到序言和结尾,但我不想编辑该方法,因为这样做会很费时,编写相同的代码不会是一种好的做法。
答
选项1 ::使用AOP
选项2 ::如果您在正确的位置登录(之前的&),并在日志中输入时间戳,则可以使用任何分析工具(logrythm,splunk的open s我们的版本等),只是紧缩你的日志,并找出时间。但是请记住,日志记录通常是一项昂贵的操作(在某种程度上,AOP也是如此)。
无论采用哪种方法,都要确保计算您将要放在应用程序上的性能影响,以便衡量性能本身:-)。
如果你想要性能日志使用perf4j @ http://perf4j.codehaus.org/ – 2013-03-12 05:24:32