Dropwizard计数器和仪表计数相同吗?

时间:2016-12-22 21:05:18

标签: dropwizard metrics

我想知道" Counter"是否有区别?并且计数由" Meter"类?我也了解Meter测量速率,但我很想知道是否有一个计数器和一个仪表同时更新(计数器增加),我认为这两个数字是相同的。这个假设我错了吗?

2 个答案:

答案 0 :(得分:4)

Meter还可以跟踪仪表上标记事件的数量。它以与计数器相同的方式这样做,因此Meter只是一个保持计数器内部的对象+用于测量发生事件的速率的逻辑。

这是一个代码示例:

public class MetricTest {
    public static void main(String[] args) {
        MetricRegistry r = new MetricRegistry();
        Counter counter = r.counter("counter");
        Meter meter = r.meter("meter");

        counter.inc();
        meter.mark();

        System.out.println(counter.getCount());
        System.out.println(meter.getCount());

        counter.inc(10);
        meter.mark(10);

        System.out.println(counter.getCount());
        System.out.println(meter.getCount());
    }
}

将打印:

1
1
11
11

所以是的,如果计数器和仪表以相同的方式更新,它们将具有相同的计数。仪表另外使用计数来计算平均速率(除1/5/15分钟之外)

我希望有所帮助,

Artur

答案 1 :(得分:3)

计数器可以减少。仪表不能减少。因此,当计数器和仪表一起使用时,"计数器和#34;计数器值递减时会有所不同。