我们希望使用Graphite绘制与事件相关的值,例如“已发布N个消息的数据包”。如果没有发布数据包,则根本不会运行任何代码,因此我们无法向Graphite发送零。
基本上,我们希望每秒计算某种出版率。
以下是我们发送给Graphite的一些示例数据(添加了时间戳):
summarize()
在14:46:33到15:01:36之间,没有发送任何消息。但是,在15:01:36和15:01:37之间,发送了13条消息(报告为两个值,12和1)。
我已经尝试了summarize()
函数,但它没有给出对我有意义的结果,即我无法将我发送给Graphite的内容与Graphite显示的内容相关联。而且,似乎perSecond()
不支持1秒间隔(我已经尝试了“1秒”和“1s”作为interval参数)。
{{1}}函数计算变化率(即衍生物),但我们发送的内容已经是一种衍生物(也许它更接近狄拉克三角洲?)所以它没有意义我们的背景。
我们是完全关闭的,还是有办法让这项工作与Graphite一起使用?
编辑:我想我们需要为我们的数据添加聚合阶段。碳汇聚会符合这个要求吗?
答案 0 :(得分:0)
事实证明,我们已将指标发送至statsd
,该c
支持通过abs()
指标类型进行汇总,以及其他一些非常好的事情:https://github.com/etsy/statsd/blob/master/docs/metric_types.md