From e5a0392994b66ecf23eea42061b5d41f6c1f4f67 Mon Sep 17 00:00:00 2001 From: shikhman Date: Tue, 6 Sep 2016 14:01:43 -0700 Subject: [PATCH] Make StackdriverWriter#flush() return early when attempting to flush empty timeseries ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=132359115 --- .../registry/monitoring/metrics/StackdriverWriter.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/java/google/registry/monitoring/metrics/StackdriverWriter.java b/java/google/registry/monitoring/metrics/StackdriverWriter.java index d77cb3baa..0b3e72fbd 100644 --- a/java/google/registry/monitoring/metrics/StackdriverWriter.java +++ b/java/google/registry/monitoring/metrics/StackdriverWriter.java @@ -193,6 +193,12 @@ public class StackdriverWriter implements MetricWriter { public void flush() throws IOException { checkState(timeSeriesBuffer.size() <= 200, FLUSH_OVERFLOW_ERROR); + // Return early; Stackdriver throws errors if we attempt to send empty requests. + if (timeSeriesBuffer.isEmpty()) { + logger.fine("Attempted to flush with no pending points, doing nothing"); + return; + } + ImmutableList timeSeriesList = ImmutableList.copyOf(timeSeriesBuffer); timeSeriesBuffer.clear();