Commit Graph

8 Commits

Author SHA1 Message Date
GitHub Copilot b5b144dcd0 Initialize sparklines to start at zero
Bump version to 0.2.6
2026-01-24 12:55:45 +00:00
GitHub Copilot cc2ab79859 Fix Docker sparklines and Ctrl-C exit
- Fix Ctrl-C to exit immediately by setting exit_event before cleanup
- Filter Docker containers by compose project name to match correct stack
- Derive compose project from manifest directory (matches docker-compose default)
- Improve Docker socket availability check to test actual connectivity
- Add DOCKER_HOST env var support for alternate socket paths
- Better error logging for socket permission issues

Bump version to 0.2.5
2026-01-24 12:53:09 +00:00
GitHub Copilot 6ab7503748 Clean up Docker stats logging
- Remove excessive debug logging
- Add single warning when no containers found (with hint about socket mount)
- Use HTTP/1.0 to avoid chunked encoding complexity
- Simplify response parsing
2026-01-24 12:30:39 +00:00
GitHub Copilot 83b6503501 Improve Docker API response parsing
- Refactor into separate methods for cleaner code
- Better handling of chunked transfer encoding
- Add more debug logging to diagnose parsing failures
- Log body preview when JSON not found
2026-01-24 12:25:08 +00:00
GitHub Copilot 8d966ca203 Add debug logging for Docker stats collection
Helps diagnose empty sparklines by logging:
- Container discovery results and matches
- Stats request failures
- CPU calculation results
- What containers/services were found vs expected
2026-01-24 12:21:55 +00:00
GitHub Copilot 02d941af6a Fix sparkline service name mapping
- Pass service names (not slugs) to DockerStatsCollector
- Create slug->name mapping for sparkline lookups
- Stats are stored by service name, looked up by slug
- Add debug logging when no containers found
2026-01-24 11:57:16 +00:00
GitHub Copilot 1ba4ce2a34 Adjust sparkline and screenshot timing
Sparklines:
- Poll interval: 2s -> 10s
- History size: 30 -> 180 readings
- Now shows 30 minutes of CPU history

Screenshots:
- Dashboard refresh interval: 15s -> 5s
- Combined with dirty tracking, updates on activity with 5s cap
2026-01-24 11:41:01 +00:00
GitHub Copilot 1f51d878c8 Add CPU sparkline to dashboard in compose mode
- New docker_stats.py module reads container stats from Docker socket
  using only asyncio + stdlib (no new dependencies)
- Calculates CPU % from delta of cpu_usage and system_cpu_usage
- Maintains ring buffer of last 30 CPU readings per container
- render_sparkline_svg() generates mini SVG chart from history
- DockerStatsCollector polls containers every 2 seconds
- New /cpu-sparkline.svg endpoint serves sparkline for a container
- Dashboard shows sparkline in tile header next to container name
- Only active in compose mode (--compose-manifest flag)
- Graceful degradation if Docker socket unavailable

Bump version to 0.1.17
2026-01-24 11:33:27 +00:00