问题表现
spring-boot-starter-actuator
依赖后,Spring Boot应用会暴露出/hystrix.stream
端点以供监控工具读取该应用的Hystrix Metrics数据。但是默认情况下,该Endpoint每间500ms就会向建立连接的客户端发送metrics数据,频率太高了,浪费CPU和带宽资源。在Hystrix Dashboard主页中虽然有让你输入delay的输入框,如下图:
但是该参数根本不起作用!
查找原因
经过抓包,发现在设置delay参数后,实际向应用发的请求是
HystrixDashboardStream
类中:
dataEmissionIntervalInMs
已经被声明成了private static final
,所以这个参数是在应用启动时唯一确定好了,根本无法动态修改!坑!
解决方案
config.properties
文件,添加以下配置:
问题解决。