如何在石墨中进行求和,但排除不存在所有数据的情况

时间:2014-06-12 19:37:56

标签: graphite

我们有4个数据系列,偶尔有4个中的一个有空,因为我们错过了读数据点。这使得图表看起来像是因为我们只是丢失了数据点而导致数据丢失的可怕峰值。

我正在为服务器1,2,3,4做一个基本的sumSeries(server * .InboundCount),其中*是。

有没有一种方法可以使石墨不能对线上的位置求和,只是对这些时间点的总和也为空,这样它就会将有数据点的线连接到有数据的下一点。

注意:我们还会单独显示图形服务器* .InboundCount以监视各个服务器上的峰值。

或者可能有这样的函数,它查看所有系列,如果任何值为null,则为X系列的每个系列返回null,并将X系列点返回到sum函数为null + null + null + null希望不会导致尖峰并显示null。

感谢, 迪安

1 个答案:

答案 0 :(得分:4)

这是一个古老的问题,但仍然值得作为参考的答案,我相信的是函数KeepLastValue

  

采用一个度量标准或通配符seriesList,并可选择限制要跳过的“无”值的数量。当数据中出现间隙(“无”值)时,继续使用最后收到的值,而不是破坏您的行。

这会使你的功能

 sumSeries(keepLastValue(server*.InboundCount)) 

如果您在此处有一个空数据点,这将正常工作。如果您有多个连续的空数据点,则可以指定在空值中断数据之前的距离。例如,以下内容将在sumSeries中断之前回溯最多10个值:

 sumSeries(keepLastValue(server*.InboundCount, 10)) 

我确信你已经解决了你的问题,但我希望这有助于某人。