Files
syspulse-rs/README.md

100 lines
2.8 KiB
Markdown

# ⚡ SysPulse
A professional, high-performance Linux system profiler built with **Rust** and **Tauri v2**. Monitor your Wayland system's performance, identify resource-hungry processes, and generate detailed profiling reports with a beautiful **Catppuccin Mocha** interface.
---
## 🚀 Usage
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**.
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
```
---
## 🏗️ Architecture
- **Backend**: Rust (Tauri v2)
- Uses the `sysinfo` crate for low-level system data retrieval.
- Implements an asynchronous snapshot system to capture performance data without blocking.
- Provides secure process management via Linux `pkexec`.
- **Frontend**: React + TypeScript + Tailwind CSS
- **Recharts**: For high-performance time-series visualization.
- **Lucide-React**: For a clean, modern icon system.
- **Framer Motion**: For smooth, native-feeling transitions.
- **Styling**: Catppuccin Mocha theme for a professional, low-strain developer experience.
---
## 🛠️ Development Setup
### Prerequisites
Ensure you have the following system dependencies installed (Ubuntu/Debian example):
```bash
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
```
### Installation
1. **Clone the repository**:
```bash
git clone https://github.com/your-username/syspulse-rs.git
cd syspulse-rs
```
2. **Install Node dependencies**:
```bash
npm install
```
3. **Start Development Mode**:
```bash
npm run tauri dev
```
---
## 📦 Build Instructions
To generate a production-ready binary and system packages (Debian, RPM, AppImage):
```bash
npm run tauri build
```
The output will be located in:
`src-tauri/target/release/bundle/`
*Note: Building an AppImage requires `appimagetool` and `squashfs-tools` to be installed on your system.*
---
## 🛡️ License
This project is open-source. See the [LICENSE](LICENSE) file for details.