com.codahale.metrics.Counter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of metrics-core Show documentation
Show all versions of metrics-core Show documentation
Metrics is a Java library which gives you unparalleled insight into what your code does in
production. Metrics provides a powerful toolkit of ways to measure the behavior of critical
components in your production environment.
package com.codahale.metrics;
import java.util.concurrent.atomic.LongAdder;
/**
* 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();
}
}