我在spring-boot-actuator世界.
如何添加我自己的指标从自定义函数到来自@Service类的
我希望有这样的东西
meterRegistry.registerNewGauge(
"animals_count",
"cats",
animalCounterService::countCatsFromDatabase
);目前,我只能找到简单的度量标准,如
meterRegistry.counter("animals_count").increment();但是,当我必须聚合数据库条目这样的事情时,这并没有多大帮助。我需要一个更灵活的。我还发现了一些类似MeterBinder.bindTo的东西,但没有奏效。没有错误,没有度量标准。我已经找了好几个月了,但没有成功。
谢谢
发布于 2020-02-17 08:56:42
我猜你是用千分尺来测量的,对吧?
如果是这样的话,您可以创建一个量规,并将其绑定到任何提供返回如下双倍的方法的对象:
@Service
public class MyService {
...
public double calculateValueForGauge() {...}
}
MyService service = ...// get from spring
MeterRegistry registry = ... // get from spring
// here is how you can create a gauge and bind it to an arbitrary method of your service
Gauge.builder("some.name.goes.here, service, (service) -> service.calculateValueForGauge())
.register(registry);例如,您可以将量规注册代码放置到侦听器,在启动应用程序上下文时调用该监听器:
@EventListener
public void onApplicationStarted(ApplicationReadyEvent event) {
// register gauges here
}https://stackoverflow.com/questions/60251274
复制相似问题