Графит - графитируйте соответствующую метрику в виде списка серий

Я хочу изобразить среднее время ответа для 10 вызовов API, которые вызываются чаще всего.

У меня: api.<route>.count api.<route>.mean

Я хочу изобразить среднее значение для серии с наивысшими показателями.

У меня 10 наивысших результатов при использовании highestCount( api.*.count ), так как мне взять этот список и заменить .count на .mean

Метод useSeriesAbove очень близок к тому, что я хочу ... но я не хочу предоставлять ему статический счетчик.

useSeriesAbove (seriesList, value, search, replace) Сравнивает максимум каждой серии с заданным значением. Если максимум серии больше значения, поиск и замена регулярного выражения применяются к имени серии для построения связанной метрики.

например учитывая useSeriesAbove (ganglia.metric1.reqs, 10, ’reqs’, ’time’), показатель времени ответа будет отображаться только тогда, когда максимальное значение соответствующей метрики запроса / с> 10

& target = useSeriesAbove (ganglia.metric1.reqs, 10, "reqs", "time")


person blak3r    schedule 12.09.2016    source источник


Ответы (1)


Используйте limit(sortByMaxima(api.<route>.mean),10) для получения 10 лучших результатов. Кроме того, возможно, среднее время - это не то, что вам нужно, если вы хотите измерить задержку - используйте 95-й или 999-й процентиль - см. https://news.ycombinator.com/item?id=10485804

person deniszh    schedule 13.09.2016
comment
Спасибо, но я хочу получить count за 10 самых медленных mean. Я использую mean_90, как правило, просто хотел, чтобы это было просто. Спасибо за ссылку, хотя я проверю. - person blak3r; 15.09.2016