Я считаю, что это должно быть как-то вызвано тем, как я настроил statsd/graphite, однако я не могу понять:
Часто, когда новая мера создается путем отправки значений таймера для разных метрик в быстрой последовательности, statsd, кажется, отправляет в graphite только некоторые из вариантов, которые он должен создать для каждого таймера, например. если я сделаю следующее и позволю ему создать несколько показателей:
while true;do echo "test$RANDOM:38|ms" | nc -w 1 -u localhost 8125;done
У меня получается что-то вроде следующего, т.е. data-файлы созданы только для некоторых метрик, а некоторые отсутствуют и не отображаются даже спустя какое-то время.
$ 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 секунд?