在我的新任务中,我需要了解一个中级Java应用程序。为了更快地理解流程,我有一个想法,如果我可以在运行时看到正在调用的函数,最后一个函数响应了,那么我就可以真正想到整个地图。
我已经使用了诸如AppDynamics之类的工具,该工具可以告知延迟/数据库调用等。但是我所需要的是可以告诉我运行时流程的工具。
喜欢,
Controller.getStudent() -> Service.getStudent() -> Repository.getStudent() -> ....
我想知道是否有这样的工具/技术。就像在调试模式下记录stacktrace一样。我可以想象有一种工具在做Thread.currentThread().getStackTrace()
。有人对如何做到这一点有想法吗? (我正在使用Springboot和Jboss)
编辑:我并不是真正在寻找日志,调试等内容。我觉得可能有些东西可以告诉正在执行的功能。并确定是否有任何限制。
答案 0 :(得分:1)
@Aspect
@Component
public class FunctionTraceAspect {
@Before("execution(* some.package.*.*.*(..))")
public void appendUserContext(JoinPoint joinPoint) {
System.out.println("TRACE: " + joinPoint.getSignature());
}
}