Как превратить Imet функцию Прометей в SQL

Мне нужно превратить функцию Prometheus irate в язык SQL, и я не могу найти логику вычислений в любом месте.

У меня есть следующий запрос в Prometheus SQL:

100 - (avg by (instance) (irate (node_cpu_seconds_total {job = "node", mode = "idle"} [40s])) * 100)

Допустим, у меня есть следующие данные для процессора:

v  20     50     100     200     201      230   
----x-+----x------x-------x-------x--+-----x-----
t  10     20     30      40      50       60   
    |      <--     range=40s   -->|
                                  t   

Мой вопрос не имеет отношения к postgres, так как я мог бы решить эту проблему в SQL, если бы я знал, какую формулу я должен разработать.

я понимаю, что мне нужно получить разницу между двумя последними точками данных и разделить value_diff с time_diff:

(201-200) / (50-40), но как окно 40-х годов входит в картину? ((201-200)/(50-40))/40?

Каков будет правильный математический расчет для вышеуказанного запроса Прометея?

И как мне сделать то же самое, если у меня есть данные 8 процессоров? Я пытался найти документацию, но не смог найти правильного объяснения того, что происходит позади.

Спасибо

0 ответов

Другие вопросы по тегам