在我的新任务中,我需要了解中级 Java 应用程序。为了更快地理解流程,我有这样的想法:如果我可以在运行时看到正在调用的函数,哪个函数最终响应,那么我就可以真正在脑海中获得整个映射。
我使用过像 AppDynamics 这样的工具,它可以告诉我延迟/数据库调用等。但我正在寻找的是能够告诉我运行时流程的东西。
就像,
Controller.getStudent() -> Service.getStudent() -> Repository.getStudent() -> ....
我想知道是否有这样的工具/技术。就像在 Debug模式下记录堆栈跟踪一样。我可以想象一个工具正在执行 Thread.currentThread().getStackTrace() 操作。有人知道如何做到这一点吗? (我使用的是Springboot和Jboss)
编辑:我并没有真正关心日志记录、调试等。我觉得可能有一些东西可以告诉正在执行哪些函数。并确定是否有任何限制。
最佳答案
@Aspect
@Component
public class FunctionTraceAspect {
@Before("execution(* some.package.*.*.*(..))")
public void appendUserContext(JoinPoint joinPoint) {
System.out.println("TRACE: " + joinPoint.getSignature());
}
}
关于java - 有什么方法可以监控 Java 应用程序的功能流程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55057999/