From b47634176fa48ad925f79886c6aaca225cb9af64 Mon Sep 17 00:00:00 2001 From: izeye Date: Thu, 4 Jun 2015 22:50:53 +0900 Subject: [PATCH] Remove duplicate code in new metrics code Refactor BufferMetricReader, CounterBuffers and GaugeBuffers to reduce duplicate code. Closes gh-3117 --- .../metrics/buffer/BufferMetricReader.java | 67 ++++++++----------- .../metrics/buffer/CounterBuffers.java | 14 +--- .../actuate/metrics/buffer/GaugeBuffers.java | 7 +- 3 files changed, 32 insertions(+), 56 deletions(-) diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/buffer/BufferMetricReader.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/buffer/BufferMetricReader.java index d59aee945fc..79f247bcbf5 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/buffer/BufferMetricReader.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/buffer/BufferMetricReader.java @@ -49,28 +49,6 @@ public class BufferMetricReader implements MetricReader, PrefixMetricReader { this.gauges = gauges; } - @Override - public Iterable> findAll(String prefix) { - final List> metrics = new ArrayList>(); - this.counters.forEach(Pattern.compile(prefix + ".*").asPredicate(), - new BiConsumer() { - @Override - public void accept(String name, LongBuffer value) { - metrics.add(new Metric(name, value.getValue(), new Date( - value.getTimestamp()))); - } - }); - this.gauges.forEach(Pattern.compile(prefix + ".*").asPredicate(), - new BiConsumer() { - @Override - public void accept(String name, DoubleBuffer value) { - metrics.add(new Metric(name, value.getValue(), new Date( - value.getTimestamp()))); - } - }); - return metrics; - } - @Override public Metric findOne(final String name) { LongBuffer buffer = this.counters.find(name); @@ -88,22 +66,12 @@ public class BufferMetricReader implements MetricReader, PrefixMetricReader { @Override public Iterable> findAll() { - final List> metrics = new ArrayList>(); - this.counters.forEach(this.all, new BiConsumer() { - @Override - public void accept(String name, LongBuffer value) { - metrics.add(new Metric(name, value.getValue(), new Date(value - .getTimestamp()))); - } - }); - this.gauges.forEach(this.all, new BiConsumer() { - @Override - public void accept(String name, DoubleBuffer value) { - metrics.add(new Metric(name, value.getValue(), new Date(value - .getTimestamp()))); - } - }); - return metrics; + return findAll(this.all); + } + + @Override + public Iterable> findAll(String prefix) { + return findAll(Pattern.compile(prefix + ".*").asPredicate()); } @Override @@ -111,4 +79,27 @@ public class BufferMetricReader implements MetricReader, PrefixMetricReader { return this.counters.count() + this.gauges.count(); } + private Iterable> findAll(Predicate predicate) { + final List> metrics = new ArrayList>(); + this.counters.forEach(predicate, new BiConsumer() { + + @Override + public void accept(String name, LongBuffer value) { + metrics.add(new Metric(name, value.getValue(), new Date(value + .getTimestamp()))); + } + + }); + this.gauges.forEach(predicate, new BiConsumer() { + + @Override + public void accept(String name, DoubleBuffer value) { + metrics.add(new Metric(name, value.getValue(), new Date(value + .getTimestamp()))); + } + + }); + return metrics; + } + } diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/buffer/CounterBuffers.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/buffer/CounterBuffers.java index c46a687459b..1d0e3b5625c 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/buffer/CounterBuffers.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/buffer/CounterBuffers.java @@ -52,12 +52,7 @@ public class CounterBuffers { } public void get(final String name, final Consumer consumer) { - read(name, new Consumer() { - @Override - public void accept(LongBuffer adder) { - consumer.accept(adder); - } - }); + read(name, consumer); } public void increment(final String name, final long delta) { @@ -83,12 +78,7 @@ public class CounterBuffers { } private void read(final String name, final Consumer consumer) { - acceptInternal(name, new Consumer() { - @Override - public void accept(LongBuffer adder) { - consumer.accept(adder); - } - }); + acceptInternal(name, consumer); } private void write(final String name, final Consumer consumer) { diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/buffer/GaugeBuffers.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/buffer/GaugeBuffers.java index a381a11e8af..aa899c1a612 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/buffer/GaugeBuffers.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/buffer/GaugeBuffers.java @@ -52,12 +52,7 @@ public class GaugeBuffers { } public void get(final String name, final Consumer consumer) { - acceptInternal(name, new Consumer() { - @Override - public void accept(DoubleBuffer value) { - consumer.accept(value); - } - }); + acceptInternal(name, consumer); } public void set(final String name, final double value) {