弹簧靴中的动态公制计数器-Prometheus Pushgateway

时间:2020-02-25 07:01:01

标签: spring-boot prometheus prometheus-pushgateway

我有一个json格式的传入事件(到Spring Boot应用程序),其中包含一个名为“ component”的字段。 我需要创建一个指标计数器,并按每个组件推送至prometheus pushgateway。 每种类型的组件应有单独的计数器。 如何实现呢?

1 个答案:

答案 0 :(得分:0)

您可以为此实现组件。 Autowire MeterRegistry

private MeterRegistry registry;

并在其中放置计数器地图。

private Map<String, Counter> counters = new ConcurrentHashMap<>();

添加方法:

public void increment(String componentName){
  Counter counter = counters.get(componentName);
  if(counter == null) {
    counter = Counter.builder("your.metrics.name").tags("component", componentName).register(registry);
    counters.put(tagValue, counter);
  }
  counter.increment();
}