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.

# 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):

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:

    git clone https://github.com/your-username/syspulse-rs.git
    cd syspulse-rs
    
  2. Install Node dependencies:

    npm install
    
  3. 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.

Description
No description provided
Readme 349 KiB
Languages
TypeScript 58.1%
Rust 33.8%
CSS 7.4%
HTML 0.7%