2.8 KiB
⚡ 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
- Live Dashboard: Monitor real-time CPU and Memory load.
- Recording: Click Record Profile to start a session. The app automatically switches to a Minimal Footprint Mode.
- Analysis: Stop the recording to view a comprehensive Profiling Report.
- Inspection: Click any process in the report matrix to open the Process Inspector.
- 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.
# 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
sysinfocrate for low-level system data retrieval. - Implements an asynchronous snapshot system to capture performance data without blocking.
- Provides secure process management via Linux
pkexec.
- Uses the
- 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):
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
-
Clone the repository:
git clone https://github.com/your-username/syspulse-rs.git cd syspulse-rs -
Install Node dependencies:
npm install -
Start Development Mode:
npm run tauri dev
📦 Build Instructions
To generate a production-ready binary and system packages (Debian, RPM, AppImage):
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 file for details.