From 62de3217d95aaacec7c1f838b74ff347c9150491 Mon Sep 17 00:00:00 2001 From: Matt Jacobs Date: Wed, 22 Jun 2016 06:06:05 -0700 Subject: [PATCH] Made dashboard data emission interval configurable on startup --- .../hystrix/metric/consumer/HystrixDashboardStream.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/hystrix-data-stream/src/main/java/com/netflix/hystrix/metric/consumer/HystrixDashboardStream.java b/hystrix-data-stream/src/main/java/com/netflix/hystrix/metric/consumer/HystrixDashboardStream.java index eb47253ce..7913424b9 100644 --- a/hystrix-data-stream/src/main/java/com/netflix/hystrix/metric/consumer/HystrixDashboardStream.java +++ b/hystrix-data-stream/src/main/java/com/netflix/hystrix/metric/consumer/HystrixDashboardStream.java @@ -15,6 +15,8 @@ */ package com.netflix.hystrix.metric.consumer; +import com.netflix.config.DynamicIntProperty; +import com.netflix.config.DynamicPropertyFactory; import com.netflix.hystrix.HystrixCollapserMetrics; import com.netflix.hystrix.HystrixCommandMetrics; import com.netflix.hystrix.HystrixThreadPoolMetrics; @@ -31,6 +33,9 @@ public class HystrixDashboardStream { final Observable singleSource; final AtomicBoolean isSourceCurrentlySubscribed = new AtomicBoolean(false); + private static final DynamicIntProperty dataEmissionIntervalInMs = + DynamicPropertyFactory.getInstance().getIntProperty("hystrix.stream.dashboard.intervalInMilliseconds", 500); + private HystrixDashboardStream(int delayInMs) { this.delayInMs = delayInMs; this.singleSource = Observable.interval(delayInMs, TimeUnit.MILLISECONDS) @@ -60,7 +65,9 @@ public void call() { .onBackpressureDrop(); } - private static final HystrixDashboardStream INSTANCE = new HystrixDashboardStream(500); + //The data emission interval is looked up on startup only + private static final HystrixDashboardStream INSTANCE = + new HystrixDashboardStream(dataEmissionIntervalInMs.get()); public static HystrixDashboardStream getInstance() { return INSTANCE;