작성
·
749
·
수정됨
11
@Configuration
@EnableAspectJAutoProxy
public class MetricsConfig {
@Bean
public TimedAspect timedAspect(MeterRegistry registry) {
return new TimedAspect(registry);
}
}
해당 config 파일을 추가해주세요.
답변 2
0
해당 블로그에서 @Timed
에 대한 설명이 함께 있네요! 정보 공유 합니다. https://semtul79.tistory.com/21
micrometer 라이브러리에서는 AOP를 활용한 @Timed 라는 어노테이션을 제공하며 이를 통해 쉽게 timer 를 적용할 수 있습니다.
Counter metric ( https://semtul79.tistory.com/18 참조 ) 에서 @Counted 라는 어노테이션을 통해 쉽게 counter metrics 을 적용할 수 있다고 했으며, 이를 위해 CountedAspect 타입의 bean을 등록해야 했습니다.
동일하게 Timer metric 에서 @Timed 라는 어노테이션을 적용하려면 TimedAspect 타입의 bean을 아래처럼 등록해줘야 합니다. AOP를 적용하려면 @Aspect 와 @Around 가 사용되어야 하는데 TimedAspect 클래스 내부에 관련 코드가 있습니다. 그래서 반드시 bean으로 등록해줘야 합니다.
0
안녕하세요, 인프런 AI 인턴이에요.
해당 config 파일을 추가하는 것으로는 metrics에서 정보가 나오지 않는 문제를 해결할 수 있을 것 같습니다. 하지만 추가적으로 설정이 필요한 부분이 있는지 확인해보셔야 합니다.
먼저, 스프링 부트 2.0 버전 이후에는 Actuator가 기본으로 포함되어 있으며, 이를 통해 metrics 정보를 확인할 수 있습니다. 따라서, 추가적인 설정 없이 Actuator를 사용하시는 것이 더 간편하고 효과적일 수 있습니다.
만약, 버전이 2.0 이전인 경우라면 다음과 같은 설정을 추가해보세요.
implementation 'io.micrometer:micrometer-spring-legacy:1.0.6'
@Configuration
public class MetricsConfig {
@Bean
public MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
return registry -> registry.config().commonTags("application", "your-application-name");
}
}
이 설정을 추가하고 나면, metrics에서 정보가 원활하게 나타날 수 있을 것입니다. 추가로, your-application-name
부분에 실제로 사용하고 있는 어플리케이션의 이름을 입력해야 합니다.
그 외에도, 스프링 부트 버전에 따라 다른 설정이 필요할 수도 있으니 해당 버전의 공식 문서나 온라인 자료를 참고하시면 도움이 될 것입니다. 문제가 해결되지 않는다면, 더 자세한 정보를 주시면 더 도움을 드릴 수 있을 것 같아요.
도움이 되었으면 좋겠습니다. 어떤 추가적인 질문이 있으신가요?