Increment 6: final verification + docs

- Full XCTest suite green (55 tests)
- Visual verification of all tabs (screenshots): Processes (Energy/Disk columns +
  live data), Performance (range picker + P/E core charts), Power & Storage
  (Health score 55/Fair + battery 97%/114 cycles + preserved System/GPU)
- Ground-truth cross-checks: memory 12.31GB vs 12.53GB reported (16KB pages),
  battery vs ioreg/pmset, per-process CPU vs ps, disk vs df — all consistent
- README updated to document new capabilities; testing docs referenced

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
hariel1985
2026-07-02 20:35:09 +02:00
szülő 2e3574f6e3
commit d4db0a7972

Fájl megtekintése

@@ -29,10 +29,13 @@ A native macOS system monitor application built with SwiftUI. TopManager provide
## Features ## Features
### Processes Tab ### Processes Tab
- View all running processes with CPU, memory, and thread information - View all running processes with CPU, memory, thread, **energy-impact**, and
- Sort by any column (name, PID, CPU%, memory, threads, user, state) **per-process disk I/O** information
- Sort by any column (name, PID, CPU/Core, CPU/Total, Energy, memory, Disk I/O, threads, user, state)
- Process states: Running, Sleeping, Stopped, Zombie - Process states: Running, Sleeping, Stopped, Zombie
- Context menu to terminate, force kill, suspend, or resume processes - Context menu to terminate, force kill, suspend, or resume processes
- **Deep-dive inspector** (double-click / ⌘I): full executable path, launch
arguments, open-file count, disk totals, energy, parent PID, Reveal in Finder
- Search processes by name or PID - Search processes by name or PID
### Apps Tab ### Apps Tab
@@ -43,17 +46,38 @@ A native macOS system monitor application built with SwiftUI. TopManager provide
### Performance Tab ### Performance Tab
- Real-time CPU usage graphs (global and per-core) - Real-time CPU usage graphs (global and per-core)
- **Selectable time range** (Live / 5m / 30m / 1h / 24h) backed by persistent history
- Memory usage visualization with donut chart - Memory usage visualization with donut chart
- Network throughput monitoring - Network throughput monitoring
- Support for Apple Silicon P-cores and E-cores - Support for Apple Silicon P-cores and E-cores
### Power & Storage Tab ### Power & Storage Tab
- **System Health score (0–100)** with plain-language diagnosis of what's wrong
- **Recent Alerts** inbox
- **Battery & Power**: charge, health (cycle-adjusted), cycle count, condition,
temperature, power draw, time remaining, adapter wattage (via IOKit)
- System status: macOS version, uptime, thermal state - System status: macOS version, uptime, thermal state
- CPU and GPU core counts - CPU and GPU core counts
- GPU memory/VRAM usage - GPU memory/VRAM usage
- Storage volumes with usage bars - Storage volumes with usage bars
- Network interface statistics - Network interface statistics
### Proactive monitoring
- **Alerts engine** with native macOS notifications on sustained high CPU,
critical memory pressure, disk almost full, thermal throttling, runaway
processes, and low battery — de-duplicated so you're never spammed
- **Persistent metric history** stored to disk; trends survive restarts
### Menu Bar
- Configurable menu-bar metric (CPU % / Memory % / Health / Download)
- Dropdown with live CPU/memory/network/GPU/battery, System Health score, and
**Top CPU Consumers** with one-click quit
### Settings (⌘,)
- **Launch at login** (SMAppService)
- Adjustable refresh interval (1–30 s)
- Notification toggle and alert thresholds (CPU, disk, low battery)
## Requirements ## Requirements
- macOS 13.0 or later - macOS 13.0 or later
@@ -74,10 +98,20 @@ A native macOS system monitor application built with SwiftUI. TopManager provide
This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details. This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details.
## Testing
Logic is covered by an XCTest suite (`TopManagerTests`, 55 tests) run via
`scripts/test.sh test`. The full manual + automated process is documented in
[docs/TESTING.md](docs/TESTING.md), and the product direction in
[docs/VALUE_PLAN.md](docs/VALUE_PLAN.md).
## Acknowledgments ## Acknowledgments
Built with SwiftUI and native macOS APIs including: Built with SwiftUI and native macOS APIs including:
- `libproc` for process information - `libproc` / `rusage_info` for process information, disk I/O and energy signals
- `IOKit` for GPU and hardware monitoring - `IOKit` for GPU, battery (AppleSmartBattery) and hardware monitoring
- `Metal` for GPU detection - `Metal` for GPU detection
- `SystemConfiguration` for network monitoring - `SystemConfiguration` for network monitoring
- `UserNotifications` for proactive alerts
- `ServiceManagement` (SMAppService) for launch-at-login
- Swift `Charts` for time-series visualization