我相信这一定是由我设置 statsd/graphite 的方式引起的,但是我似乎无法弄清楚:
通常,当通过快速连续发送不同指标的计时器值来创建新度量时,statsd 似乎只将它应该为每个计时器创建的一些变化发送到石墨,例如,如果我执行以下操作并让它创建几个指标:
while true;do echo "test$RANDOM:38|ms" | nc -w 1 -u localhost 8125;done
我最终得到类似以下的内容,即仅为某些指标创建数据文件,但有些丢失并且即使经过一段时间也没有出现。
$ cd /opt/graphite/storage/whisper/stats/timers
$ ls test9304/
count.wsp lower.wsp mean_90.wsp std.wsp sum.wsp upper.wsp
$ ls test31877/
count_ps.wsp count.wsp lower.wsp mean_90.wsp mean.wsp std.wsp sum_90.wsp sum.wsp upper_90.wsp upper.wsp
似乎这些缺失的会出现在有时稍后再次发送度量之后,但它在某种程度上是不确定的,哪些是在何时创建的。
那么这是有原因的吗?某些内部优化或缓存仅在比宣传的 10 秒更长的时间后刷新内容?