【发布时间】:2018-09-13 21:32:44
【问题描述】:
我已经将基于 Spring Boot (1.5) 的应用程序与 Dropwizard Metrics & Prometheus 集成在一起。当我在 Controller 类中使用 'metricRegistry.mark()' 方法时,我可以在 Prometheus 中看到 DropWizard 指标。
现在我想显示与异常相关的指标,所以我添加了:
@ExceptionMetered(name="getMessages", cause=Exception.class)
@Counted(name = "getMessages")
public ResponseEntity<List<Message>> getMessages() {
但是当我点击时,没有任何与异常相关的东西出现: http://localhost:9001/metrics http://localhost:9001/prometheus
我也尝试启用 ConsoleReporter:
@PostConstruct
public void startConsoleReporter() {
consoleReporter = ConsoleReporter.forRegistry(dropwizardMetricRegistry)
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.build();
consoleReporter.start(5, TimeUnit.SECONDS);
}
但它只是一直显示:
-- Meters ----------------------------------------------------------------------
myMeter
count = 0
mean rate = 0.00 events/second
1-minute rate = 0.00 events/second
5-minute rate = 0.00 events/second
15-minute rate = 0.00 events/second
如何让 DropWizard 注释与 Sprint Boot 1.5 一起使用?
【问题讨论】:
-
嘿,我觉得在使用 spring boot 时(一般来说,考虑到库的状态)你应该选择 micrometer 而不是 dropwizard 指标(虽然,老实说,我还没有尝试过 micrometer然而)
-
相信我,我也想用千分尺!但是我们使用的是 Spring Boot 1.5,我不相信 Micrometer 与该版本集成得很好。此外,我们的管理层希望坚持使用 DropWizard 指标还有其他原因 -:(
-
至于带弹簧靴1.5的千分尺:github.com/TechPrimers/…
-
至于管理层的偏好,我不知道是什么,但也许你有责任强调使用非常不活跃的库的技术成本:最后一个稳定版本是 8几个月前,问题可能需要几个月甚至几年才能通过主项目解决。
-
这并没有说明 Micrometer 如何帮助处理与 Java 异常相关的指标。
标签: java spring spring-boot dropwizard prometheus