普罗米修斯中未显示自定义直方图指标

时间:2020-12-22 03:38:42

标签: java prometheus

我正在尝试在 spring 应用程序的纯 Java 类中添加一个 merics,就像解释的一样 here

static final Histogram requestLatency = Histogram.build()
        .name("my_custom_service_method_latency_seconds")
        .help("Request latency in seconds for my_custom_service

.").register();

...然后在方法中:

Histogram.Timer requestTimer = requestLatency.startTimer();

try{
....

}finally{
    requestTimer.observeDuration();
}

但在 prometheus 仪表板上我看不到这样的指标。

我在这里遗漏了什么吗?

编辑:在 application.properties 中,我有:

management.endpoint.prometheus.enabled=true
management.metrics.export.prometheus.enabled=true
management.endpoint.health.show-details=always

1 个答案:

答案 0 :(得分:0)

我的问题是使用默认的 .register() 方法,该方法使用了 defaultRegisty

public C register() {
  return register(CollectorRegistry.defaultRegistry);
}

这是对我有用的代码(在注入 CollectorReqistry 之后):

              Histogram.build()
                  .name("requests_latency")
                  .help("Request latency in seconds.")
                  .buckets(0.05, 0.1, 0.15, 0.2, 0.25, 0.3)
                  .labelNames("my label")
                  .register(collectorRegistry);