Я отслеживаю очередь, чтобы отслеживать количество сообщений об ошибках с течением времени в Graphite. Сообщения с ошибками находятся в конечном состоянии «ошибка», и поэтому простая отправка счетчика на датчик или счетчик не работает должным образом.
Проиллюстрировать:
minute path result
--- ---- ------
1 queue.errors 3000 3000 errors (the baseline)
2 queue.errors 3002 2 errors
3 queue.errors 3005 3 errors
4 queue.errors 3010 5 errors
Есть ли способ с помощью statsd или graphite обрабатывать такие показатели? Количество ошибок в очереди будет увеличиваться навсегда, но на самом деле значимое значение — это только изменение с момента последнего значения.
Я читал о Gauge Delta от statsd, который поддерживает напротив того, что мне нужно:
statsd.gauge('foo', 70) # Set the 'foo' gauge to 70.
statsd.gauge('foo', 1, delta=True) # Set 'foo' to 71.
Но что мне действительно нужно, так это:
statsd.gauge('foo', 70) # Set the 'foo' gauge to 70.
statsd.gauge('foo', 71, ?????=True) # Set 'foo' to 1.