石墨指标显示错误结果

问题描述:

我正在使用Codahale Graphite来记录来自我的java服务器的指标。我有一个块的代码看起来就像这样:石墨指标显示错误结果

public void foo() { 
    try (Timer.Context ignored = myTimer.start()) { 
    // Some code 
    } 
} 

当我看到今天的事件计数(每个定时器也是一个计数器)我看到,我们打的百元左右计算一分钟,这意味着几千小时。当我将日期范围扩大到包括昨天时,我发现结果在数百万范围内,我无法弄清楚原因。

结果nonNegativeDerivative操作后,会显示在指标

今天的成绩:

Today

随着昨天的成绩:

enter image description here

+0

图形看上去并不像计图表。计数器通常单调递增,您需要在Graphite中应用nonNegativeDerivative()函数以获取每分钟(每个度量间隔)的确切数量的调用。 – deniszh

+0

你是对的,那是在应用nonNegatvieDerivative()之后。编辑。 – Avi

+0

然后我怀疑你的问题是什么。您应该应用衍生产品的总和(** sumSeries(nonNegativeDerivative(...))**)而不是总和的衍生 - http://www.jilles.net/perma/2013/08/22/how-待办事项 - 石墨 - 衍生物-正确/ – deniszh

如果使用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