石墨指标显示错误结果
问题描述:
我正在使用Codahale Graphite来记录来自我的java服务器的指标。我有一个块的代码看起来就像这样:石墨指标显示错误结果
public void foo() {
try (Timer.Context ignored = myTimer.start()) {
// Some code
}
}
当我看到今天的事件计数(每个定时器也是一个计数器)我看到,我们打的百元左右计算一分钟,这意味着几千小时。当我将日期范围扩大到包括昨天时,我发现结果在数百万范围内,我无法弄清楚原因。
结果nonNegativeDerivative操作后,会显示在指标
今天的成绩:
随着昨天的成绩:
答
如果使用nonNegativeDerivative() - 请先应用衍生工具,然后sumSeries() - 反之亦然。请检查http://www.jilles.net/perma/2013/08/22/how-to-do-graphite-derivatives-correctly/
另外,你需要像你不想在dropwizard柜台使用和http://obfuscurity.com/2012/05/A-Precautionary-Tale-for-Graphite-Users
答
描述树立正确的聚合(总和)的计数器。你想使用“最后”他们递增递减量表。你也想要perSecond()和hitcount(10s)而不是衍生物。上述
http://graphite.readthedocs.io/en/latest/functions.html#graphite.render.functions.perSecond
图形看上去并不像计图表。计数器通常单调递增,您需要在Graphite中应用nonNegativeDerivative()函数以获取每分钟(每个度量间隔)的确切数量的调用。 – deniszh
你是对的,那是在应用nonNegatvieDerivative()之后。编辑。 – Avi
然后我怀疑你的问题是什么。您应该应用衍生产品的总和(** sumSeries(nonNegativeDerivative(...))**)而不是总和的衍生 - http://www.jilles.net/perma/2013/08/22/how-待办事项 - 石墨 - 衍生物-正确/ – deniszh