将涌入 stddev 转换为 promQL

问题描述

在 promQL 中编写这个涌入查询的最佳方法是什么?

SELECT Stddev(value) FROM db WHERE cat = 'time' AND metricName = 'cpu Time' AND (server='s1' OR server='s2') AND time > Now() - 1h GROUP BY server

解决方法

这可以通过从 v1.56.0 开始的 VictoriaMetrics 中的以下 MetricsQL 查询来完成:

unsigned int packet;
Sin >> packet;
ap_uint<32> packet_uint32 = *((ap_uint<32>*)&packet); // casting (not elegant,but works)
ap_int<8> b = packet_uint32.range(7,0);
ap_int<8> g = packet_uint32.range(15,8);
ap_int<8> r = packet_uint32.range(23,16); // In case they are in the wrong bit range/order,just flip the r,g,b assignements
b /= 2;
g /= 2;
r /= 2;
packet_uint32.range(7,0) = b;
packet_uint32.range(15,8) = g;
packet_uint32.range(23,16) = r;
packet = packet_uint32.to_int();
Sout << packet;

此查询必须发送到 histogram_stddev( sum( histogram_over_time( db_value{cat="time",metric_name="CPU Time",server=~"s1|s2"}[1h] ) ) by (vmrange,server) ) 处理程序。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...