es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

PromQL: cómo combinar “sum_over_time” con “by” PromQL: cómo combinar “sum_over_time” con “by”.

Estoy tratando de escribir una consulta que devuelva la siguiente información:

para la métrica m1 (de tipo contador) – devolver la suma de los valores, agrupados por (p1,p2) en una ventana deslizante de 1h.

Creo que la base debería ser algo como:

sum_over_time(m1[1h])

pero esto no puede agruparse por (p1,p2).

Una forma de hacer el agrupamiento es usando:

sum(sum_over_time(m1[1h])) by (p1, p2)

pero no estoy seguro si agregar la suma externa aquí, solo para agrupar, es la manera correcta de hacerlo.

Otra posibilidad es hacer:

topk(100, sum_over_time(m1[1h])) by (p1, p2)

pero en este caso, el agrupamiento no parece funcionar correctamente, ya que los resultados contienen muchas filas con el mismo (p1,p2) y diferentes en algunas etiquetas (p3,p4).

¿Cuál es la forma correcta de sumar una métrica en una ventana deslizante, por algunas etiquetas?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en Grafana y PromQL, sugiero usar la siguiente consulta para obtener la información requerida:

    sum by (p1, p2) (rate(m1[1h]))
    

    Esta consulta utiliza la función rate para calcular la tasa de aumento por segundo de la métrica m1 en la última ventana de 1 hora. Luego, agrupa los resultados por las etiquetas p1 y p2 y suma los valores de cada grupo.

    Esta consulta devolverá la suma de los valores de la métrica m1, agrupados por (p1, p2) en una ventana deslizante de 1 hora, sin necesidad de una suma externa o utilizando la función topk.

Comments are closed.