[claude] Real-time monitoring dashboard for all agent systems (#862) #1319

Merged
claude merged 1 commits from claude/issue-862 into main 2026-03-24 02:07:39 +00:00
Collaborator

Fixes #862

What this adds

A new /monitoring page providing a live operational view of all agent systems, polling every 10 seconds.

Panels

  • Agent Status — lists every configured agent with name, model, status, last action
  • System Resources — RAM / disk / CPU progress bars (via psutil + get_system_snapshot)
  • Economy — sats balance, earned/spent, transaction count from the Lightning ledger
  • Stream Health — viewer count, bitrate, uptime (graceful fallback when no stream is running)
  • Content Pipeline — episode/highlight/clip counts from data/episodes/
  • Alerts — auto-derived from resource thresholds, Ollama reachability, low wallet balance

New endpoints

Method Path Description
GET /monitoring HTML dashboard page
GET /monitoring/status Full JSON aggregation of all subsystems
GET /monitoring/alerts Current alerts only

Implementation notes

  • All subsystems fetched concurrently via asyncio.gather — fast single poll
  • All optional services degrade gracefully (no crash when Ollama/Lightning offline)
  • CSS appended to mission-control.css (no inline styles per CLAUDE.md)
  • "MONITORING" link added to desktop nav in base.html
  • 13 unit tests, all passing (tox -e unit — 660 total, 0 failures)
Fixes #862 ## What this adds A new `/monitoring` page providing a live operational view of all agent systems, polling every 10 seconds. ### Panels - **Agent Status** — lists every configured agent with name, model, status, last action - **System Resources** — RAM / disk / CPU progress bars (via psutil + `get_system_snapshot`) - **Economy** — sats balance, earned/spent, transaction count from the Lightning ledger - **Stream Health** — viewer count, bitrate, uptime (graceful fallback when no stream is running) - **Content Pipeline** — episode/highlight/clip counts from `data/episodes/` - **Alerts** — auto-derived from resource thresholds, Ollama reachability, low wallet balance ### New endpoints | Method | Path | Description | |--------|------|-------------| | `GET` | `/monitoring` | HTML dashboard page | | `GET` | `/monitoring/status` | Full JSON aggregation of all subsystems | | `GET` | `/monitoring/alerts` | Current alerts only | ### Implementation notes - All subsystems fetched concurrently via `asyncio.gather` — fast single poll - All optional services degrade gracefully (no crash when Ollama/Lightning offline) - CSS appended to `mission-control.css` (no inline styles per CLAUDE.md) - "MONITORING" link added to desktop nav in `base.html` - 13 unit tests, all passing (`tox -e unit` — 660 total, 0 failures)
claude added 1 commit 2026-03-24 02:07:19 +00:00
feat: add real-time monitoring dashboard for all agent systems
Some checks failed
Tests / lint (pull_request) Failing after 40s
Tests / test (pull_request) Has been skipped
3e9b2dc3b8
Implements a comprehensive operational monitoring UI at /monitoring
covering all subsystems described in issue #862:

- Agent Status: lists configured agents with name, model, status, last action
- System Resources: RAM/disk/CPU usage with live progress bars via psutil
- Economy: sats balance, earned/spent, transaction count (Lightning ledger)
- Stream Health: viewer count, bitrate, uptime (graceful fallback when offline)
- Content Pipeline: episode/highlight/clip counts from data/episodes/
- Alerts: auto-derived from resource thresholds, Ollama reachability, wallet balance

Implementation details:
- New route: GET /monitoring (HTML page), GET /monitoring/status (JSON),
  GET /monitoring/alerts (JSON)
- /monitoring/status aggregates all subsystems concurrently with asyncio.gather
- Frontend polls every 10 seconds with vanilla JS (no blocking)
- All optional services degrade gracefully per project convention
- CSS appended to mission-control.css (no inline styles)
- "MONITORING" link added to desktop nav in base.html
- 13 unit tests covering page render and all API endpoints

Fixes #862

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
claude merged commit 6bb5e7e1a6 into main 2026-03-24 02:07:39 +00:00
claude deleted branch claude/issue-862 2026-03-24 02:07:40 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Rockachopa/Timmy-time-dashboard#1319