Dropwizard Counter 和 Meter 计数相同吗?
Are Dropwizard Counter and Meter count the same?
我想知道 "Counter" 和 "Meter" class 维护的计数是否有区别?我也了解仪表测量速率,但我很想知道是否同时更新了一个计数器和一个仪表(计数器增加),我认为这两个数字会相同。我这个假设错了吗?
仪表还简单地跟踪仪表上标记事件的计数。它以与计数器相同的方式执行此操作,因此 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 - 分钟)
希望对您有所帮助,
阿图尔
计数器可以递减。仪表不能递减。所以,当counter和meter一起使用时,"counters"的值随着Counter的值递减而不同。
我想知道 "Counter" 和 "Meter" class 维护的计数是否有区别?我也了解仪表测量速率,但我很想知道是否同时更新了一个计数器和一个仪表(计数器增加),我认为这两个数字会相同。我这个假设错了吗?
仪表还简单地跟踪仪表上标记事件的计数。它以与计数器相同的方式执行此操作,因此 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 - 分钟)
希望对您有所帮助,
阿图尔
计数器可以递减。仪表不能递减。所以,当counter和meter一起使用时,"counters"的值随着Counter的值递减而不同。