6 Commits

Author SHA1 Message Date
Space-Banane 5c1861ec82 Add unwrapped dashboard spec for Grafana UI import
The exported dashboard-1783595688930.json wraps the model in the
apiVersion/kind/metadata/spec envelope. Grafana's "Import via JSON"
validates the pasted top level against the dashboard-spec schema and
reports every required field (annotations, elements, layout,
timeSettings, etc.) as missing because they live under spec.

dashboard-import.json is the same dashboard with the envelope stripped,
so the required fields sit at the top level and the UI importer accepts
it. The original envelope file is kept for API/provisioning use.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 13:37:20 +02:00
Space-Banane 14ee6bf350 Make Grafana dashboard panels respect selected time range
The panels queried raw openclaw_daily_* cumulative gauges, which carry a
date label and reset at midnight. Across a range crossing midnight this
produced two date-labeled series, so stat cards showed duplicate values
and the pies/bar gauges had duplicated legend rows; the queries also
ignored the picked timeframe entirely.

Reduce each query over $__range with max_over_time (per-day cumulative
peak) and aggregate away the date/tz labels so every panel yields a
single range-aware value. Drop the misleading "today" from titles and
bump rowHeightMode short -> standard for taller panels (width unchanged).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 13:26:42 +02:00
luna 43be027b5d Refactor exporter into modules 2026-07-09 10:21:37 +00:00
luna dc8aa26893 Expand OpenClaw usage metrics exporter 2026-07-08 21:38:16 +00:00
luna f3113a2eb9 Make repo path canonical runtime 2026-07-08 21:11:23 +00:00
luna f214e2eafe Initial OpenClaw usage exporter 2026-07-08 21:07:59 +00:00