aboutsummaryrefslogtreecommitdiffstats
path: root/simplemetrics
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahoo-inc.com>2016-11-03 13:10:32 +0100
committerArne H Juul <arnej@yahoo-inc.com>2016-11-03 13:10:32 +0100
commit73a36c047c979469d756804ab0120955cd4ea110 (patch)
tree6e3f27c06f51c50d7911ebaa71ced1e66dc67eba /simplemetrics
parent6db5c7649be957e34a66d4fe6dc1abd99bccd965 (diff)
make a simple mock for unit testing
Diffstat (limited to 'simplemetrics')
-rw-r--r--simplemetrics/src/main/java/com/yahoo/metrics/simple/MetricReceiver.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/simplemetrics/src/main/java/com/yahoo/metrics/simple/MetricReceiver.java b/simplemetrics/src/main/java/com/yahoo/metrics/simple/MetricReceiver.java
index c45d50db065..0cb67351b9f 100644
--- a/simplemetrics/src/main/java/com/yahoo/metrics/simple/MetricReceiver.java
+++ b/simplemetrics/src/main/java/com/yahoo/metrics/simple/MetricReceiver.java
@@ -74,6 +74,29 @@ public class MetricReceiver {
}
}
+ public static final class MockReceiver extends MetricReceiver {
+ private final ThreadLocalDirectory<Bucket, Sample> collection;
+ private MockReceiver(ThreadLocalDirectory<Bucket, Sample> collection) {
+ super(collection, null);
+ this.collection = collection;
+ }
+ public MockReceiver() {
+ this(new ThreadLocalDirectory<>(new MetricUpdater()));
+ }
+ /** gathers all data since last snapshot */
+ public Bucket getSnapshot() {
+ final Bucket merged = new Bucket();
+ for (Bucket b : collection.fetch()) {
+ merged.merge(b, true);
+ }
+ return merged;
+ }
+ /** utility method for testing */
+ public Point point(String dim, String val) {
+ return pointBuilder().set(dim, val).build();
+ }
+ }
+
private static final class NullReceiver extends MetricReceiver {
NullReceiver() {
super(null, null);