Как рассчитать время отклика всех внутренних служб, вызываемых в классе контроллера, используя AOP - PullRequest
0 голосов
/ 23 апреля 2019

My Rest Api разработан в Spring Boot, и для ведения журнала мы используем Splunk и Spring AOP. Мой вопрос заключается в том, как рассчитать время отклика всех вызываемых внутренних служб. На данный момент я могу получить время ответа от конца до конца. Это необходимо для создания панели мониторинга в Splunk для отслеживания производительности Api.

1 Ответ

0 голосов
/ 23 апреля 2019

Вот пример использования аннотации @Around AspectJ.

@Aspect
@Configuration
public class MethodExecutionCalculationAspect {

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    @Around("@annotation(com.in28minutes.springboot.tutorial.basics.example.aop.TrackTime)")
    public void around(ProceedingJoinPoint joinPoint) throws Throwable {
        long startTime = System.currentTimeMillis();

        joinPoint.proceed();

        long timeTaken = System.currentTimeMillis() - startTime;
        logger.info("Time Taken by {} is {}", joinPoint, timeTaken);
    }
}

Итак, я думаю, это то, что вы хотите сделать.

...