如何将prometheus irate函数转换为sql

时间:2019-08-14 15:07:54

标签: postgresql prometheus irate

我需要将prometheus irate函数转换为sql语言,并且我在任何地方都找不到真正的计算逻辑。

我在prometheus sql中有以下查询:

100-(按(实例)平均值(irate(node_cpu_seconds_total {job =“ node”,mode =“ idle”} [40s]))* 100)

假设我有一个CPU的以下数据:

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),但是40s窗口如何进入画面? ((201-200)/(50-40))/ 40吗?

上述普罗米修斯查询的正确数学计算是什么?

如果我有8个cpu数据,我应该怎么做? 我试图搜索文档,但找不到任何适当的解释。

谢谢

0 个答案:

没有答案