如何阅读Spring Boot度量值?

时间:2016-06-17 12:38:10

标签: spring-boot metrics

我使用Spring Boot Metrics http://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-metrics.html#production-ready-metrics来管理一些特定于域的计数器。

我的课程中有@Autowired org.springframework.boot.actuate.metrics.CounterService,我正在增加针对特定领域事件的指标(解析我的请求的各个阶段)。

我想在我的测试中阅读这些指标(检查我的测试请求是否经历了所有必需的阶段),但CounterService上没有get方法。我看到CounterService的所有实现都有一些带有指标的private ConcurrentMap,但是没有(干净的)方法来获取这个数据结构。

我正在使用Spring Boot 1.3.5.RELEASE

编辑: 我对集成测试感兴趣,如果可能的话,我不想模拟任何组件。

目前我正在使用针对/ metric端点的REST调用,并且我解析了返回的json,但我不喜欢这种方法。

1 个答案:

答案 0 :(得分:1)

一种方法是使用模拟CounterService,然后验证是否已在模拟上调用了预期的方法。

如果您更喜欢某种更符合集成测试的内容,那么您可以使用MetricReader来读取CounterService撰写的指标。您应该能够@Autowire MetricReaderMetricRepository(后者是MetricReaderMetricWriter的组合)并致电findOne。< / p>