如何向Spring Boot添加一个指标?

时间:2013-12-20 16:18:51

标签: java spring metrics spring-boot

Spring Boot已预先配置了指标。据我所知,它使用http://metrics.codahale.com/库。如何让MetricRegistry对象添加自定义指标?

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

Spring Boot不使用Codahale Metrics(尚未)。计划是支持它作为选项,如果它在类路径上。如果您希望以这种方式执行,那么MetricRegistry将位于应用程序上下文中,您只需@Autowire并使用它即可。您可以在a branch in my fork上看到正在进行的工作。

用于添加指标的引导界面为GaugeServiceCounterService。您注入并使用它们来记录测量值。当Codahale得到支持时,这也是推荐的入口点,所以你可以立即开始使用它,如果你愿意,可以在以后添加Codahale。

答案 2 :(得分:-1)

http://www.ryantenney.com/metrics-spring/完成了一些集成魔术,它将codahale指标连接到执行器/health端点。

包含此依赖项,

compile 'com.ryantenney.metrics:metrics-spring:3.0.0-RC2'

您可以在应用程序配置中“enableMetrics”

@EnableMetrics
public class ApplicationConfiguration {
    ...

这允许您使用@timed注释对每个请求进行计时:

@Timed
@RequestMapping(method=RequestMethod.GET)
public @ResponseBody
Foo foo() {
    ...

并让您与MetricRegistry的其他互动聚合到执行机构/health端点。

我已经整理了一个实现此集成的示例应用程序:

https://github.com/benschw/consul-cluster-puppet/tree/master/demo

在这里写了一篇更深入的教程: http://txt.fliglio.com/2014/10/spring-boot-actuator/