diff --git a/src/main/java/com/automattic/elasticsearch/statsd/StatsdService.java b/src/main/java/com/automattic/elasticsearch/statsd/StatsdService.java index bbec7d7..bbf18a2 100644 --- a/src/main/java/com/automattic/elasticsearch/statsd/StatsdService.java +++ b/src/main/java/com/automattic/elasticsearch/statsd/StatsdService.java @@ -117,6 +117,8 @@ public class StatsdReporterThread implements Runnable { public void run() { try { while (!StatsdService.this.closed.get()) { + long startTime = System.currentTimeMillis(); + ClusterState state; try { state = StatsdService.this.clusterService.state(); @@ -207,8 +209,10 @@ public void run() { } } + long elapsedTime = System.currentTimeMillis() - startTime; + try { - Thread.sleep(StatsdService.this.statsdRefreshInternal.millis()); + Thread.sleep(StatsdService.this.statsdRefreshInternal.millis() - elapsedTime); } catch (InterruptedException e1) { continue; }