Skip to content

Commit d96fe61

Browse files
committed
Prevent multiple submissions in SimpleMetrics
1 parent ad15529 commit d96fe61

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

core/src/main/java/org/faststats/SimpleMetrics.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ protected void startSubmitting(int initialDelay, int period, TimeUnit unit) {
3030
return;
3131
}
3232

33+
if (isSubmitting()) {
34+
debug("Metrics already submitting, not starting again");
35+
return;
36+
}
37+
3338
this.executor = Executors.newSingleThreadScheduledExecutor(runnable -> {
3439
var thread = new Thread(runnable, "metrics-submitter");
3540
thread.setDaemon(true);
@@ -40,6 +45,10 @@ protected void startSubmitting(int initialDelay, int period, TimeUnit unit) {
4045
executor.scheduleAtFixedRate(this::submitData, initialDelay, period, unit);
4146
}
4247

48+
protected boolean isSubmitting() {
49+
return executor != null && !executor.isShutdown();
50+
}
51+
4352
@Override
4453
public void addChart(Chart<?> chart) {
4554
charts.add(chart);

0 commit comments

Comments
 (0)