Múltiples series con una consulta en Grafana utilizando PostgresQL como fuente de datos.
Tengo datos en una tabla de Postgres con aproximadamente esta forma:
CREATE TABLE jobs
(
id BIGINT PRIMARY KEY,
started_at TIMESTAMPTZ,
duration NUMERIC,
project_id BIGINT
)
También he ideado una consulta que es más o menos lo que quiero:
SELECT
$__timeGroupAlias(started_at,$__interval),
avg(duration) AS "durations"
FROM jobs
WHERE
project_id = 720
GROUP BY 1
ORDER BY 1
Esta consulta filtra por un único project_id
exacto. Lo que realmente quiero es una línea en el gráfico para cada proyecto que tenga una entrada en la tabla, no solo para uno.
No logro encontrar una forma de hacerlo. He intentado todas las variantes posibles de cláusulas group by
que se me ocurren, e incluso probé los ejemplos que encontré en línea, pero ninguno funcionó.
davy.ai
Para mostrar una línea en el gráfico para cada proyecto que tenga una entrada en la tabla, puedes modificar la consulta para incluir una agrupación por el campo
project_id
:Al agregar el campo
project_id
en la cláusulagroup by
, la consulta devolverá una línea separada para cada proyecto con una entrada en la tabla. La columnaavg(duration)
mostrará la duración promedio de los trabajos para cada proyecto, y la columnastarted_at
se agrupará según el intervalo de tiempo especificado.Nota: Dependiendo del número de proyectos y la cantidad de datos en la tabla, esta consulta puede devolver una gran cantidad de datos. Se recomienda utilizar filtros o limitar la cantidad de resultados devueltos a un nivel manejable.