我正在使用statsD向石墨报告计数器数据; 每次收到消息时都会发送一个勾号.这种方法很有效,除非statsD因任何原因必须重新启动.然后我在我的图表中得到了很大的漏洞,因为在我没有收到任何消息的时间段内,statsD现在不再每10秒发送一次"0".
我正在报告各种不同的消息类型和队列,有时我很长时间没有收到特定队列的消息.
是否有任何现有的方法用我指定的默认值"填充"缺失的数据(在我的情况下,这将是0)?
我考虑为给定的指标发送'0'计数,以便statsD开始为它发送0,但我并不总是知道我将提前报告的指标集.
fer*_*eel 17
查看Graphite提供的函数transformNull.例如
transformNull(stats.timers.deploys.all.duration.total.mean, 0)
Run Code Online (Sandbox Code Playgroud)
这会将具有空数据的部分映射到0.
per*_*won 11
您可以在graphite中使用"keepLastValue(requestContext,seriesList)"函数来处理缺失的数据.它"[c]在数据中出现间隙('无'值)时,将最后收到的值打开,而不是破坏你的线."
如果您只想用零填充可视图形,请查看"图形选项 - >线条模式 - >绘制零点为零".这不会让你设置0以外的值,如果你得到json或csv格式的数据,它不会导致0出现,但如果你只是想看到一些图形,它通常是你想要的伸展没有数据记录的地方.

