I believe it must be somehow caused by the way I set up statsd/graphite, however I cannot seem to figure out:
Often, when a new measure is created by sending timer values for different metrics in quick succession, statsd seems to only send some of the variations that it is supposed to create for each timer to graphite, e.g. if I do the following and let it create a few metrics:
while true;do echo "test$RANDOM:38|ms" | nc -w 1 -u localhost 8125;done
I end up with something like the following, i.e. data-files were created only for some of the metrics, but some are missing and are not showing up even after some time.
$ 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
It seems that these missing ones appear after the measure is sent again sometimes later, but it is somehow non-deterministic, which ones are created when.
So is there a reason for this? Some internal optimization or caching which only flushes things after a longer period than the advertised 10 seconds?