2017-02-08 8 views
0

Наша экосистема прямо сейчас является графитом/графаной, и мы используем java-библиотеку metagale.Совокупные подсчеты в минуту с использованием графитовых функций с данными счетчика кошаги.

определяет счетчик

requestCounter = registry.counter(MetricNamespaces.REQUEST_COUNT); 

и приращение на каждом запросе попали в нашем приложении

requestCounter.inc(); 

Что мы observerd с codahale является то, что значение счетчика cumalative са ... Когда мы смотрим по необработанным данным в графане, это увеличивающееся значение в течение периода времени

Какие функции я использую в графите, чтобы получить количество запросов в минуту

Я попробовал этот

alias(summarize(perSecond(sumSeries(app.request.count.*)), 
'1m', 'sum',  false), 'Request Count') 

и также это

hitcount(perSecond(app.request.count.*), '1m') 

Это не кажется правильным, Может кто-то пожалуйста, советом, что является рекомендуемым способом, а также, если мы можем иметь codahale отправить только необработанные данные при приращении вместо кумулятивного счета

ответ

0

Вы должны использовать функцию графитового API nonNegativeDerivative, если хотите видеть счетчик:

nonNegativeDerivative(sumSeries('app.request.count.*))

Вы должны заметить, что вам также необходимо настроить политику хранения графита для метрик. В противном случае, если разрешение ваших показателей не соответствует способу его отправки из codahale, вы получите странные немасштабированные результаты.

Например, в нашей компании codahale настроен на отправку данных каждые две секунды. Политика хранения графита составляет 1 секунду в течение первых 6 часов, а затем 10 секунд. Если мы попытаемся взглянуть на результаты более 6 часов, они будут неправильно масштабированы. Я действительно добрался до этого вопроса, пытаясь решить эту проблему. Я буду обновлять здесь, когда у меня будет ответ.

Смежные вопросы