我试图在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(); }
但在普罗米修斯的仪表盘上,我看不到这样的指标。
我错过什么了吗?
编辑:在应用程序中。属性,我有:
management.endpoint.prometheus.enabled=true management.metrics.export.prometheus.enabled=true management.endpoint.health.show-details=always
我的问题是使用默认值 .register() 方法,该方法使用 defaultRegisty :
.register()
defaultRegisty
public C register() { return register(CollectorRegistry.defaultRegistry); }
以下是为我工作的代码(在注入 CollectorReqistry ):
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);