我不熟悉使用 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 文件夹,但我没有在列表中看到我的计时器(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);
});