MSA

[MSA] Spring Boot - Micrometer란? Micrometer Timer example

차노도리 2023. 5. 15. 00:03

https://micrometer.io/

 

Micrometer Application Observability

 

micrometer.io

 

Micrometer

  • JVM기반의 애플리케이션의 Metrics 제공, 처리
  • Prometheus 등 다양한 모니터링 시스템을 지원한다.
  • Timer
    • 지연시간, 이벤트의 사용 빈도 측정
    • 시계열의 이벤트 시간, 호출 빈도 제공

 

의존성 주입 (build.gradle)

dependencies {
	...
	implementation 'io.micrometer:micrometer-registry-prometheus:1.10.5'
}

 

설정값 변경 (application.yml)

  • endpoint 추가
    • metrics
    • prometheus
management:
  endpoints:
    web:
      exposure:
        include: prometheus,metrics, ...

 

Times 사용 예시

  • 추적할 method에 @Timed 추가
    @GetMapping("/{userId}")
    @Timed(value = "user.account.id", longTask = true)
    public ResponseEntity<UserResponse> getUser(@PathVariable("userId") String userId, @RequestHeader HttpHeaders headers) {
	    ...
    }

 

metrics 지표 등록 확인

prometheus 지표 확인