Grafana + PostgreSQL = ♥️#
Grafana SQL Distribution (Histogram)#
Grafana 11
query
WITH raw AS (
SELECT
(width_bucket(ai_score, 0, 1, 100))::TEXT AS bucket,
count(*)
FROM foo
GROUP BY bucket
ORDER BY bucket
)
SELECT
bucket,
count
FROM raw
WHERE bucket IS NOT NULL
Bar chart
X Axis: bucket
Grafana SQL Stacked Bar Chart#
Grafana 11
query
SELECT
'score' AS label,
count(*) FILTER (WHERE score IS NOT NULL) AS scored,
count(*) FILTER (WHERE score IS NULL) AS missing
FROM foo
;
It is imperative to have a string label as first column.
Bar chart
X Axis: label
Stacking: Normal
Legend
Table
Right
Values: Last*
Color scheme: Single color (green)
Field Override 1
Field with name: “missing”
Color scheme: Single color (red)
Typst