Dropwizard指标 - 如何在报告间隔后重置计数器

fac*_*ace 8 metrics codahale-metrics

我正在使用codahale指标(现在是dropwizard指标)来监控我系统中发生的一些"事件".我正在使用counters指标来跟踪"事件"发生的时间.

我检查了记者为我的计数器指标打印的值,看起来价值一直在增加(并且永远不会下降).这似乎是合乎逻辑的,因为每当我的'事件'发生时我总是使用metrics.inc()函数.

What I really want is to get count of my 'event' happening between two reporting times为此,我需要在每次报告指标时重置计数器,但我在计数器指标中找不到任何选项来执行此操作.codahale用户是否有一种方法或一般做法来制作此类指标?

当前行为(报告时间10秒):

00:00:00 0
00:00:10 2 // event happened twice
00:00:20 2 // event did not occur
00:00:30 5 // event occured three times`
Run Code Online (Sandbox Code Playgroud)

预期指标:

00:00:00 0
00:00:10 2
00:00:20 0
00:00:30 3
Run Code Online (Sandbox Code Playgroud)

Dmi*_*hin 0

我认为这counter对于您的情况来说不是正确的指标。考虑使用meter它将为您提供每个时间间隔的费率:

while(...) {
    int stuffProcesssed = doStuff();
    meter.mark(stuffProcesssed);
}
Run Code Online (Sandbox Code Playgroud)