diff options
author | valerijf <valerijf@yahoo-inc.com> | 2016-09-27 13:31:16 +0200 |
---|---|---|
committer | valerijf <valerijf@yahoo-inc.com> | 2016-09-29 09:45:46 +0200 |
commit | 86b706a244047e2b7f4e0a2443d3cc5e5a5c13c3 (patch) | |
tree | c2a5c9db5c5c20b72529fbc9d0f9300d08ad9946 /docker-api | |
parent | e35d3bdec5338dfae5883f23bd8814bde5bdcc15 (diff) |
Added null implementations for metric wrappers
Diffstat (limited to 'docker-api')
3 files changed, 53 insertions, 1 deletions
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/CounterWrapper.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/CounterWrapper.java index 7cfeb3d670e..0b3b4d8ada9 100644 --- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/CounterWrapper.java +++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/CounterWrapper.java @@ -26,4 +26,18 @@ public class CounterWrapper implements MetricValue { public Number getValue() { return value; } -} + + + static final class NullCounter extends CounterWrapper { + NullCounter() { + super(null); + } + + @Override + public void add() { + } + + public void add(long n) { + } + } +}
\ No newline at end of file diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/GaugeWrapper.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/GaugeWrapper.java index 4d9d00dcb0b..9ef37132b14 100644 --- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/GaugeWrapper.java +++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/GaugeWrapper.java @@ -19,4 +19,15 @@ public class GaugeWrapper implements MetricValue { public Number getValue() { return value; } + + + final static class NullGauge extends GaugeWrapper { + NullGauge() { + super(null); + } + + @Override + public void sample(double x) { + } + } } diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/MetricReceiverWrapper.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/MetricReceiverWrapper.java index a7923bf4526..eb1cf31d8e9 100644 --- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/MetricReceiverWrapper.java +++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/metrics/MetricReceiverWrapper.java @@ -3,6 +3,7 @@ package com.yahoo.vespa.hosted.dockerapi.metrics; import com.google.inject.Inject; import com.yahoo.metrics.simple.MetricReceiver; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -12,6 +13,8 @@ import java.util.Set; * @author valerijf */ public class MetricReceiverWrapper { + public static final MetricReceiverWrapper nullImplementation = new MetricReceiverWrapper.NullReceiver(); + private final Map<String, MetricValue> metrics = new HashMap<>(); private final MetricReceiver metricReceiver; @@ -39,4 +42,28 @@ public class MetricReceiverWrapper { public MetricValue getMetricByName(String name) { return metrics.get(name); } + + + private static final class NullReceiver extends MetricReceiverWrapper { + NullReceiver() { + super(null); + } + + @Override + public CounterWrapper declareCounter(String name) { + return new CounterWrapper.NullCounter(); + } + + public GaugeWrapper declageGauge(String name) { + return new GaugeWrapper.NullGauge(); + } + + public Set<String> getMetricNames() { + return Collections.emptySet(); + } + + public MetricValue getMetricByName(String name) { + return null; + } + } } |