From 34a0cdf91447f9862400ede67afbed54baca8089 Mon Sep 17 00:00:00 2001 From: rays Date: Mon, 12 Oct 2026 15:49:47 +0000 Subject: [PATCH] Dashboard: plain row names (#210) Co-Authored-By: Claude Opus 5.5 --- grafana/dashboard.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/grafana/dashboard.py b/grafana/dashboard.py index 03e0df0..4385bd6 100644 --- a/grafana/dashboard.py +++ b/grafana/dashboard.py @@ -170,7 +170,7 @@ ts("Network", [prom('sum(rate(node_network_receive_bytes_total{job="node", devic y += 8 # ---- ipx-web: Caddy, the way in. Serves the page itself, passes /api and /media to ipx -row("ipx-web: the page, and the way in") +row("ipx-web") ts("Requests by kind", [loki(f'sum by (kind) (count_over_time({WEB_ALL} [$__interval]))', legend="{{kind}}")], 0, w=8, bars=True, stack=True, desc="Everything through Caddy, from the LAN and the tunnel. The API and media go on to ipx.") ts("Page and files by status", [loki(f'sum by (status) (count_over_time({WEB} [$__interval]))', legend="{{status}}")], @@ -201,7 +201,7 @@ ts("Open connections", [prom('max(ipx_http_requests_in_flight{job="ipx"})', lege y += 8 # ---- ipx: the worker, one job at a time: scans, downloads, DeadAir -row("ipx: worker (scans and downloads)") +row("ipx: worker") ts("Worker", [prom('max by (kind) (ipx_worker_job_seconds{job="ipx"})', legend="on a {{kind}} for"), prom('max(ipx_last_scan_age_seconds{job="ipx"})', ref="B", legend="since the last scan finished")], 0, w=8, unit="s", desc="A job's time that only climbs, or no scan for over 10 minutes, means the worker is stuck; the healthcheck still passes.") @@ -295,7 +295,7 @@ table("Snapshots by server", [loki(f'sum by (instance) (count_over_time({DIR} | y += 8 # ---- Traces: ipx's, to Tempo; ipx-web and the directory send none -row("Traces (ipx)") +row("ipx: traces") for x, title, q in [(0, "Recent traces", TRACES + "}"), (12, "Slow traces (over 2s)", TRACES + " && duration > 2s}")]: panel("table", title, 12, 10, x,