Записывать данные в grafana каждую минуту

Приведенный ниже код регистрирует пять показателей count, oneminuteRate, fiftenMinuteRate, FiveMinuteRate, meanRate в графите каждые 30 секунд из моего приложения.

public void collectMetric(string metricName, long metricValue){
        mr.meter(metricName).mark(value)
    }

Я хотел бы показать на панели инструментов Grafana количество запросов, полученных каждую минуту (т.е. если в первую минуту получено 60, во вторую минуту получено 120). увеличивается, и все значения *Rate являются событиями в секунду. Я не уверен, как зарегистрировать метрику на панели инструментов Grafana, которая отображает количество запросов, полученных в минуту. Любой совет высоко ценится?

Предположим, если я использую mr.counter(metricName).inc(value), есть ли способ сбрасывать счетчики каждую 1 минуту?


person Harish    schedule 29.04.2019    source источник


Ответы (1)


У меня такая же проблема. Способ, который я нашел, заключается в том, что я решил это в Grafana. Когда вы находитесь в метриках панели, вы можете добавить функцию к своему запросу следующим образом:

Скриншот

Вы можете попробовать функцию derivative() или функцию perSecond(), но эти функции не совсем надежны, это зависит от того, что вы делаете с ними на панели. Но с ними вы увидите количество входов во времени, а не общее количество.

person Jean    schedule 30.04.2019
comment
У меня есть две метрики успеха и подсчета, которые берутся с использованием посекундной функции. Как нам рассчитать процент успеха в другой панели? - person Harish; 02.05.2019
comment
вы можете добавить функцию, например asPercent(<your metric>,<the maximum>). - person Jean; 02.05.2019
comment
Каков порядок использования persecond и hitcount (1minute) при агрегировании количества метрик на основе минуты - person Harish; 02.05.2019
comment
Вы имеете в виду, какую функцию вы должны поместить внутрь другой? Извините, я не понимаю вашей точки зрения. - person Jean; 02.05.2019