feat: implement CLI interface for headless profiling and report viewing

This commit is contained in:
2026-02-23 01:35:16 +01:00
parent 47452d9330
commit e6c5adca5e
4 changed files with 197 additions and 99 deletions

View File

@@ -6,11 +6,31 @@ A professional, high-performance Linux system profiler built with **Rust** and *
## 🚀 Usage
1. **Live Dashboard**: Monitor real-time CPU and Memory load. Use the "Hide SysPulse" toggle to exclude the profiler's own overhead from the results.
2. **Recording**: Click **Record Profile** to start a session. The app automatically switches to a **Minimal Footprint Mode** to ensure the most accurate results by reducing UI overhead.
1. **Live Dashboard**: Monitor real-time CPU and Memory load.
2. **Recording**: Click **Record Profile** to start a session. The app automatically switches to a **Minimal Footprint Mode**.
3. **Analysis**: Stop the recording to view a comprehensive **Profiling Report**.
4. **Inspection**: Click any process in the report matrix to open the **Process Inspector**, showing a dedicated time-series graph of that application's resource consumption throughout the session.
5. **Admin Control**: Hover over any process and click the **Shield** icon to terminate it (uses `pkexec` for secure sudo authentication).
4. **Inspection**: Click any process in the report matrix to open the **Process Inspector**.
5. **Admin Control**: Hover over any process and click the **Shield** icon to terminate it.
---
## 💻 CLI Interface
SysPulse can be controlled via the command line for headless profiling or automated data collection.
```bash
# Start a 60-second headless profiling run and save to a specific file
./syspulse --headless --duration 60 --output my_report.json
# Run a headless profile and immediately open the results in the GUI
./syspulse --headless --duration 10 --gui
# Open an existing JSON report file directly in the GUI
./syspulse --file my_report.json
# Show all CLI options
./syspulse --help
```
---