# ⚡ 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.