-
메트릭 등록 - 게이지스프링/스프링부트 2023. 10. 3. 22:20
게이지는 임의로 오르내릴 수 있는 단일 숫자 값을 나타내는 메트릭이다.
카운터와 게이지는 값이 감소할 수 있는지의 차이이다.
@Configuration public class StockConfigV1 { @Bean public MyStockMetric myStockMetric(OrderService orderService, MeterRegistry registry) { return new MyStockMetric(orderService, registry); } @Slf4j static class MyStockMetric { private OrderService orderService; private MeterRegistry registry; public MyStockMetric(OrderService orderService, MeterRegistry registry) { this.orderService = orderService; this.registry = registry; } @PostConstruct // 외부에서 메트릭을 확인할 때마다 호출되며 이 함수의 반환 값이 게이지의 값이다. public void init() { Gauge.builder("my.stock", orderService, service -> { log.info("stock gauge call"); return service.getStock().get(); }).register(registry); } } }
게이지는 단순하게 Configuration만 만들어주면 된다. 빈으로 등록해주고, 생성자를 만든 다음에 @PostContruct로 외부에서 메트릭을 확인할 때마다 호출해주면 된다.
그라파나에서도 쉽게 확인할 수 있다.
@Slf4j @Configuration public class StockConfigV2 { @Bean public MeterBinder stockSize(OrderService orderService) { return registry -> Gauge.builder("my.stock", orderService, service -> { log.info("stock gauge call"); return service.getStock().get(); }).register(registry); } }
StockConfigV2도 위와같이 코드를 간단하게 줄일 수 있다.
'스프링 > 스프링부트' 카테고리의 다른 글
메트릭 등록 - Timer (0) 2023.10.03 메트릭 등록 - 카운터 (0) 2023.10.03 그라파나 - 공유 대시보드 활용 (0) 2023.10.02 그라파나 - 대시보드 만들기 (0) 2023.10.02 그라파나 - 설치 및 연동 (0) 2023.10.02