gpt4 book ai didi

java - Spring-boot micrometer timer() 它是如何工作的?

转载 作者:行者123 更新时间:2023-12-03 18:45:30 26 4
gpt4 key购买 nike

我是使用 spring-boot 指标的新手,并从千分尺开始。我找不到在我的 spring-boot 应用程序中执行计时器指标的好例子(它是新的事实)。我正在使用 spring-boot-starter-web:2.0.2.RELEASE 依赖项。
但是运行 spring-boot 服务器并启动 jconsole,我没有看到它显示 Metrics (MBeans),所以我还明确包含了以下依赖项:

spring-boot-starter-actuator:2.0.2.RELEASE

还有千分尺依赖: 'io.micrometer:micrometer-registry-jmx:latest'添加执行器后,它确实显示了 Metrics 文件夹,但我在列表中没有看到我的 timer(app.timer) 属性。难道我做错了什么?任何建议表示赞赏!

下面的代码片段:
MeterRegistry registry = new CompositeMeterRegistry();
long start = System.currentTimeMillis();
Timer timer = registry.timer("app.timer", "type", "ping");
timer.record(System.currentTimeMillis() - start, TimeUnit.MILLISECONDS);

这有效:
Metrics.timer("app.timer").record(()-> {

didSomeLogic;
long t = timeOccurred - timeScheduled;
LOG.info("recorded timer = {}", t);
});

最佳答案

this part的文档。我对其进行了调整,使其与您想要的更相似。您只需要注册您的 TimerAutoConfigured MetricRegistry :

@Component
public class SampleBean {

private final Timer timer;

public SampleBean(MeterRegistry registry) {
long start = System.currentTimeMillis();
this.timer = registry.timer("app.timer", "type", "ping");
}

public void handleMessage(String message) {
timer.record(System.currentTimeMillis() - start, TimeUnit.MILLISECONDS);
}

}

关于java - Spring-boot micrometer timer() 它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51952855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com