feat: initialize SysPulse-rs profiler project with Tauri v2 and React
This commit is contained in:
79
README.md
Normal file
79
README.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# ⚡ 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. 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.
|
||||
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).
|
||||
|
||||
---
|
||||
|
||||
## 🏗️ 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.
|
||||
Reference in New Issue
Block a user