我一直在玩spring-boot中的度量标准,并且在spring-cloud似乎改变行为方式时遇到了一些困惑。春季引导指标与春季云指标
具有致动器,并与单个控制器的简单最小弹簧引导1.3.3.RELEASE应用:
@RestController
public class HelloController {
@Autowired
private CounterService counterService;
@RequestMapping("/hello")
public String sayHello(@RequestParam("name") String name) {
counterService.increment("counter.calls.hello");
return "Hello, " + name;
}
}
度量端点用于该应用具有
...
gauge.response.hello: 5,
gauge.response.metrics: 69,
gauge.response.star-star.favicon.ico: 2,
counter.status.200.star-star.favicon.ico: 4,
counter.status.200.metrics: 1,
counter.calls.hello: 5,
counter.status.200.hello: 5
其是如上述春季启动文档。我的自定义计数器(counter.calls.hello)按照预期的方式用作计数器。
现在,如果我增加了Spring的云起动尤里卡(Brixton.RC1)到我的聚甲醛,不别人改变什么,指标端点有
...
gauge.servo.counter.calls.hello: 1,
normalized.servo.rest.totaltime: 0,
normalized.servo.rest.count: 0,
gauge.servo.rest.min: 0,
gauge.servo.rest.max: 0,
gauge.servo.response.hello: 7,
gauge.servo.response.star-star.favicon.ico: 2,
正常MVC指标都没有了。响应代码信息在哪里?我的自定义计数器报告为gauge.servo.counter.calls.hello,但它不再用作计数器,即使我已经对HelloController进行了5次调用,它似乎也只显示值1。一些调试和搜索让我将计数器度量名称更改为meter.calls.hello,这导致度量响应中的counter.servo.calls.hello,并恢复计数器功能。
进一步阅读表明春天云默认伺服度量指标,并指出如果我使用Java 8,我应该使用观众。添加弹簧云起动观众到我的POM,并回到“counter.calls.hello”作为计数器的度量标准名称,度量端点有
...
counter.calls.hello(): 3,
response.hello(): 7,
response.metrics(): 9,
response.star-star.favicon.ico(): 2,
这甚至更少内置信息有关休息端点,但我的自定义计数器似乎功能。
有关指标的Spring-cloud文档似乎表明我应该使用ServoRegistry,无论是使用伺服还是旁观者。观众指标部分的术语不同。柜台不按我期望的方式工作。如文档中所述,当我使用ServoRegistry发布一个简单的计数器时,我会返回度量标准端点中的某种比率。
在伺服和/或旁观者中,是否有一些额外的价值与Spring-Boot提供的内容有关? Spring-cloud文档表明,有更多信息记录在默认控制器指标中,但它们没有显示在/度量标准中。我应该排除ServoMetricsAutoConfiguration并使用spring-boot实现吗?