0

我们现在的生态系统是石墨/grafana,我们使用 codahale 指标 java 库。

我定义了一个计数器

requestCounter = registry.counter(MetricNamespaces.REQUEST_COUNT);

并在每次请求命中我们的应用程序时增加

requestCounter.inc();

我们用 codahale 观察到的是,counter sa cumalative value...当我们查看 grafana 中的原始数据时,它是在一段时间内增加的值

我在石墨中使用什么功能,以便我可以获得每分钟的请求数

我试过这个

alias(summarize(perSecond(sumSeries(app.request.count.*)), 
'1m', 'sum',     false), 'Request Count')

还有这个

hitcount(perSecond(app.request.count.*), '1m')

似乎不对,有人可以建议推荐的方法是什么,如果我们可以让 codahale 在递增而不是累积计数时只发送原始数据

4

1 回答 1

0

nonNegativeDerivative如果您想查看计数器的速率,您应该使用石墨 API 的功能:

nonNegativeDerivative(sumSeries('app.request.count.*))

您需要注意,您还需要为您的指标配置石墨保留策略。否则,如果您的指标分辨率不符合从 codahale 发送的方式,您将得到奇怪的未缩放结果。

例如 - 在我们公司中,codahale 配置为每两秒发送一次数据。石墨保留策略是前 6 小时为 1 秒,然后为 10 秒。如果我们尝试查看超过 6 小时的结果,则它们的缩放比例不正确。在尝试解决此问题时,我实际上遇到了这个问题。当我有答案时,我会在这里更新。

于 2017-04-20T08:02:49.923 回答