首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹簧引导执行器2来自自定义功能

弹簧引导执行器2来自自定义功能
EN

Stack Overflow用户
提问于 2020-02-16 17:39:16
回答 1查看 855关注 0票数 0

我在spring-boot-actuator世界.

如何添加我自己的指标从自定义函数到来自@Service类

我希望有这样的东西

代码语言:javascript
复制
meterRegistry.registerNewGauge(
    "animals_count",
    "cats",
    animalCounterService::countCatsFromDatabase
);

目前,我只能找到简单的度量标准,如

代码语言:javascript
复制
meterRegistry.counter("animals_count").increment();

但是,当我必须聚合数据库条目这样的事情时,这并没有多大帮助。我需要一个更灵活的。我还发现了一些类似MeterBinder.bindTo的东西,但没有奏效。没有错误,没有度量标准。我已经找了好几个月了,但没有成功。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-17 08:56:42

我猜你是用千分尺来测量的,对吧?

如果是这样的话,您可以创建一个量规,并将其绑定到任何提供返回如下双倍的方法的对象:

代码语言:javascript
复制
@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);

例如,您可以将量规注册代码放置到侦听器,在启动应用程序上下文时调用该监听器:

代码语言:javascript
复制
@EventListener
public void onApplicationStarted(ApplicationReadyEvent event) {
  // register gauges here
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60251274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档