我有一些(静态的)Java 方法。
我有一个切入点可以在执行这些方法时触发:
pointcut calculation() : execution(* myMethod_*(..));
现在我想分别测量每次执行的时间。
问题是执行可能随时触发,而其他执行仍在运行。
我想到了两个建议,before()
和 after()
,它们标识调用者以管理不同调用者的计时器。
before() : calculation() {
}
after() : calculation() {
}
我该如何实现?
最佳答案
around() 建议应该有效:
Object around() : calculation() {
long start = System.nanoTime();
Object result = proceed();
long end = System.nanoTime();
logger.info(String.format("%s took %d ns", thisJoinPointStaticPart.getSignature(),
(end - start)));
return result;
}
关于java - 识别方法的不同执行(执行对象)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11800339/