Любой способ контролировать поток функций приложения Java? - PullRequest
0 голосов
/ 08 марта 2019

В моем новом назначении мне нужно понять Java-приложение среднего уровня. Чтобы быстрее понять поток, у меня возникла идея, что если бы я мог видеть во время выполнения вызываемые функции, которые в конце концов ответили, то я мог бы действительно получить всю карту в своем уме.

Я работал с такими инструментами, как AppDynamics, которые сообщают о задержке / вызовах БД и т. Д. Но то, что я наблюдаю, - это то, что скажет мне поток во время выполнения. Мол,
Controller.getStudent() -> Service.getStudent() -> Repository.getStudent() -> ....

Мне интересно, есть ли какие-либо инструменты / методы как таковые. Как запись трассировки стека в режиме отладки. Я могу представить себе инструмент, который делает Thread.currentThread().getStackTrace(). У кого-нибудь есть идеи относительно того, как это можно сделать? (Я использую Springboot и Jboss)

Edit: я не особо слежу за ведением журнала, отладкой и т. Д. Я чувствую, что может быть что-то, что может сказать, какие функции выполняются. И определите, есть ли какие-либо ограничения.

1 Ответ

1 голос
/ 08 марта 2019
@Aspect
@Component
public class FunctionTraceAspect {
    @Before("execution(* some.package.*.*.*(..))")
    public void appendUserContext(JoinPoint joinPoint) {
        System.out.println("TRACE: " + joinPoint.getSignature());
   }
}
...