Прометей сумма один результат значение NaN в NaN.Как этого избежать? - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть следующие метрики в Prometheus: он считает команду memcached по секундам:

sum (irate (memcached_commands_total{instance="memcached-instance"}[5m])) by (command)

Результат:

{command="delete"}  0
{command="flush"}   0
{command="get"} 62.733333333333334
{command="incr"}    0
{command="set"} 93.43333333333334
{command="touch"}   NaN
{command="cas"} 0
{command="decr"}    0

Я хочу считать команды по секундам (без отдельной ставки дляразные команды).Я попробовал следующую формулу:

sum (irate (memcached_commands_total{instance="memcached-instance"}[5m]))

Но результат:

{}  NaN

Я ожидаю около 155, но это NaN.Я полагаю, это команда = "коснуться" преступника.Можно ли исключить NaN из суммы?

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Единственный способ, которым irate может создать NaN, - это если ему дают NaN в качестве входных данных.Учитывая, что irate предназначен для работы на счетчиках, это должно быть невозможно.Я бы посоветовал выяснить, почему memcached_commands_total создает NaN.

0 голосов
/ 22 ноября 2018

Я понял это:

sum (irate (memcached_commands_total{instance="memcached-instance"}[5m]) > 0)

возвращает правильный номер.>0 делает трюк.

...