Remove duplicate code in new metrics code
Refactor BufferMetricReader, CounterBuffers and GaugeBuffers to reduce duplicate code. Closes gh-3117
This commit is contained in:
parent
0d6c197c39
commit
b47634176f
|
@ -49,28 +49,6 @@ public class BufferMetricReader implements MetricReader, PrefixMetricReader {
|
||||||
this.gauges = gauges;
|
this.gauges = gauges;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Iterable<Metric<?>> findAll(String prefix) {
|
|
||||||
final List<Metric<?>> metrics = new ArrayList<Metric<?>>();
|
|
||||||
this.counters.forEach(Pattern.compile(prefix + ".*").asPredicate(),
|
|
||||||
new BiConsumer<String, LongBuffer>() {
|
|
||||||
@Override
|
|
||||||
public void accept(String name, LongBuffer value) {
|
|
||||||
metrics.add(new Metric<Long>(name, value.getValue(), new Date(
|
|
||||||
value.getTimestamp())));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
this.gauges.forEach(Pattern.compile(prefix + ".*").asPredicate(),
|
|
||||||
new BiConsumer<String, DoubleBuffer>() {
|
|
||||||
@Override
|
|
||||||
public void accept(String name, DoubleBuffer value) {
|
|
||||||
metrics.add(new Metric<Double>(name, value.getValue(), new Date(
|
|
||||||
value.getTimestamp())));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return metrics;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Metric<?> findOne(final String name) {
|
public Metric<?> findOne(final String name) {
|
||||||
LongBuffer buffer = this.counters.find(name);
|
LongBuffer buffer = this.counters.find(name);
|
||||||
|
@ -88,22 +66,12 @@ public class BufferMetricReader implements MetricReader, PrefixMetricReader {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Iterable<Metric<?>> findAll() {
|
public Iterable<Metric<?>> findAll() {
|
||||||
final List<Metric<?>> metrics = new ArrayList<Metric<?>>();
|
return findAll(this.all);
|
||||||
this.counters.forEach(this.all, new BiConsumer<String, LongBuffer>() {
|
}
|
||||||
@Override
|
|
||||||
public void accept(String name, LongBuffer value) {
|
@Override
|
||||||
metrics.add(new Metric<Long>(name, value.getValue(), new Date(value
|
public Iterable<Metric<?>> findAll(String prefix) {
|
||||||
.getTimestamp())));
|
return findAll(Pattern.compile(prefix + ".*").asPredicate());
|
||||||
}
|
|
||||||
});
|
|
||||||
this.gauges.forEach(this.all, new BiConsumer<String, DoubleBuffer>() {
|
|
||||||
@Override
|
|
||||||
public void accept(String name, DoubleBuffer value) {
|
|
||||||
metrics.add(new Metric<Double>(name, value.getValue(), new Date(value
|
|
||||||
.getTimestamp())));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return metrics;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -111,4 +79,27 @@ public class BufferMetricReader implements MetricReader, PrefixMetricReader {
|
||||||
return this.counters.count() + this.gauges.count();
|
return this.counters.count() + this.gauges.count();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Iterable<Metric<?>> findAll(Predicate<String> predicate) {
|
||||||
|
final List<Metric<?>> metrics = new ArrayList<Metric<?>>();
|
||||||
|
this.counters.forEach(predicate, new BiConsumer<String, LongBuffer>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void accept(String name, LongBuffer value) {
|
||||||
|
metrics.add(new Metric<Long>(name, value.getValue(), new Date(value
|
||||||
|
.getTimestamp())));
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
this.gauges.forEach(predicate, new BiConsumer<String, DoubleBuffer>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void accept(String name, DoubleBuffer value) {
|
||||||
|
metrics.add(new Metric<Double>(name, value.getValue(), new Date(value
|
||||||
|
.getTimestamp())));
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
return metrics;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,12 +52,7 @@ public class CounterBuffers {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void get(final String name, final Consumer<LongBuffer> consumer) {
|
public void get(final String name, final Consumer<LongBuffer> consumer) {
|
||||||
read(name, new Consumer<LongBuffer>() {
|
read(name, consumer);
|
||||||
@Override
|
|
||||||
public void accept(LongBuffer adder) {
|
|
||||||
consumer.accept(adder);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void increment(final String name, final long delta) {
|
public void increment(final String name, final long delta) {
|
||||||
|
@ -83,12 +78,7 @@ public class CounterBuffers {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void read(final String name, final Consumer<LongBuffer> consumer) {
|
private void read(final String name, final Consumer<LongBuffer> consumer) {
|
||||||
acceptInternal(name, new Consumer<LongBuffer>() {
|
acceptInternal(name, consumer);
|
||||||
@Override
|
|
||||||
public void accept(LongBuffer adder) {
|
|
||||||
consumer.accept(adder);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void write(final String name, final Consumer<LongBuffer> consumer) {
|
private void write(final String name, final Consumer<LongBuffer> consumer) {
|
||||||
|
|
|
@ -52,12 +52,7 @@ public class GaugeBuffers {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void get(final String name, final Consumer<DoubleBuffer> consumer) {
|
public void get(final String name, final Consumer<DoubleBuffer> consumer) {
|
||||||
acceptInternal(name, new Consumer<DoubleBuffer>() {
|
acceptInternal(name, consumer);
|
||||||
@Override
|
|
||||||
public void accept(DoubleBuffer value) {
|
|
||||||
consumer.accept(value);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void set(final String name, final double value) {
|
public void set(final String name, final double value) {
|
||||||
|
|
Loading…
Reference in New Issue