目前项目中使用的spring-boot版本是1.5.11,spring-cloud版本是Dalston.SR5。
spring-boot-actuator中MetricRepository中自动配置类是MetricRepositoryAutoConfiguration,当引入spring-cloud之后ServoMetricsAutoConfiguration会通过@AutoConfigureBefore(MetricRepositoryAutoConfiguration.class)覆盖掉spring boot默认的配置,目前我们使用的spring cloud的ServoMetricsAutoConfiguration中的CounterService有bug,值永远只会为1,具体源码ServoMetricServices如下:
调用countService的increment方法时候如果你的name中不含有status或者meter关键字,就把count的值当gauge来设置,值永远为1,由于我的项目目前不需要关注spring cloud吐出的metrics,所以直接禁用掉ServoMetrics,禁用的配置项为:
spring.metrics.servo.enabled=false
禁用掉之后就只会展示spring boot和自己项目吐出的metrics了。