com.pdd.pop.ext.codahale.metrics.Counter Maven / Gradle / Ivy
package com.pdd.pop.ext.codahale.metrics;
/**
* An incrementing and decrementing counter metric.
*/
public class Counter implements Metric, Counting {
private final LongAdder count;
public Counter() {
this.count = new LongAdder();
}
/**
* Increment the counter by one.
*/
public void inc() {
inc(1);
}
/**
* Increment the counter by {@code n}.
*
* @param n the amount by which the counter will be increased
*/
public void inc(long n) {
count.add(n);
}
/**
* Decrement the counter by one.
*/
public void dec() {
dec(1);
}
/**
* Decrement the counter by {@code n}.
*
* @param n the amount by which the counter will be decreased
*/
public void dec(long n) {
count.add(-n);
}
/**
* Returns the counter's current value.
*
* @return the counter's current value
*/
@Override
public long getCount() {
return count.sum();
}
}