개발자 되어버리기
Springboot (AOP) 메소드별 실행시간 구하기 본문
만약 메소드 단위별로 시간을 측정하고싶다면 (혹은 그 외의 무언가 특수한 공통적인 목적이 있을경우) 해당코드를 응용하면 좋을 것 같다.
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class TimeTraceAop {
@Around("execution(* com.mydirectory..*(..))")
public Object execute(ProceedingJoinPoint joinPoint) throws Throwable{
long start = System.currentTimeMillis();
System.out.println("START: " + joinPoint.toString());
try{
return joinPoint.proceed();
} finally {
long finish = System.currentTimeMillis();
long timeMs = finish - start;
System.out.println("END: " + joinPoint.toString() + " " + timeMs+"ms");
}
}
}
어딘가 병목현상이 일어났을 경우 쉽고 효율적으로 찾을 수 있다.
'개발 > Spring_Boot' 카테고리의 다른 글
Springboot 토큰 걸러내기 (0) | 2020.12.13 |
---|---|
SpringBoot 트래픽 제한하기 (0) | 2020.12.06 |
SpringBoot에서 Docker Redis를 이용해 jwt 로그아웃 처리하기 (0) | 2020.12.05 |
네이버 메일로 SMTP 사용하기 (0) | 2020.11.14 |
Springboot + NAVER S.E.N.S 보내기 (V2 헤더 세팅) (8) | 2020.11.14 |