如何重置dropwizard指标的计时器?

Bal*_*gyi 3 metrics timer dropwizard codahale-metrics

我们正在定期处理消息.我们使用codahale dropwizard指标"计时器"来衡量处理它们所需的时间.

我发现有人在这里有同样的问题:"指数衰减库存的问题是,如果没有新数据进入,它将一直保持给出相同的数字.例如,假设你用5和7更新一个计时器(然后不要放任何东西),那么无论你何时看到(即使在x小时后),计时器仍将显示平均值为6,这无论如何都不能代表最后5分钟.因此,它只适用于数据一直在到达."

正如您所看到的深蓝色线条: 在此输入图像描述

但是没有任何建议可以解决它.他们说它不会实现:https://github.com/dropwizard/metrics/issues/399

如何正确地重置这些计时器或如何将其可视化以使其不会混淆?

zlo*_*ter 8

Note: It is too long for comment.
Run Code Online (Sandbox Code Playgroud)

使用SlidingTimeWindowReservoir遗嘱将涵盖大多数用例.但正如本评论中指出的那样,根据事件的数量可能存在问题:它将窗口中的所有测量值保留在内存中,这在大量事件中变得不可接受

我们可以做得更好吗?我们继续搜索.如果我们很幸运,我们会找到这篇博文.它描述了你的问题.有一个简单的脏解决方案的链接.还建议使用HdrHistogram.

此外,在指标邮件列表上,还有几条关于此问题的消息.对于例如与指向马歇尔皮尔斯/ hdrhistogram度量储.HdrHistogram使用它来衡量延迟的原因和原因是检查项目描述.

最后经过一些挖掘,你还可以找到vladimir-bukhtoyarov/metrics-core-hdr 项目.它HdrHistogram也在使用.

因此,有两个类似的库使用相同的数据结构并声称可以解决您遇到的问题.