Enterprise-grade system performance monitoring with real-time analytics and beautiful visualizations π
- CPU Analysis: Per-core utilization, load averages, and top consumers
- Memory Tracking: RAM usage, swap statistics, and memory-hungry processes
- Disk Insights: I/O operations, partition usage, and storage trends
- Network Stats: Bandwidth usage, connection tracking, and error monitoring
- Process Management: Top resource consumers with detailed statistics
- Real-time Visualization: Beautiful, interactive charts and graphs
- Smart Alerts: Intelligent threshold monitoring and anomaly detection
- Executive Summaries: Clear, actionable insights for decision-makers
- Historical Trends: Track performance patterns over time
- Resource Optimization: Identify bottlenecks and optimization opportunities
Click to see the beautiful report output π
- Python 3.8 or higher
- pip or uv package manager
- Administrative privileges for some metrics
# Clone the repository
git clone https://github.com/yourusername/system-performance-sentinel.git
cd system-performance-sentinel
# Install using pip
pip install -r requirements.txt
# Or using uv (recommended)
uv pip install -r requirements.txt
# Run with default settings (2 minutes monitoring)
python monitor_v2.py
# Custom duration (e.g., 1 hour)
python monitor_v2.py --duration 3600
# Quiet mode (minimal output)
python monitor_v2.py --quiet
# Specify report retention
python monitor_v2.py --keep-reports 10
10:30:15 [INFO] Starting performance monitoring for 120 seconds
10:30:15 [INFO] Reports will be saved in: /path/to/performance_reports
Collecting metrics: 100%|ββββββββββ| 24/24 [02:00<00:00, 5.00s/sample]
10:32:15 [INFO] Generating performance report...
10:32:16 [INFO] Report generated successfully: /path/to/report.html
The tool generates a comprehensive HTML report with:
- Interactive performance charts
- System resource utilization metrics
- Process-level analytics
- Network and disk statistics
- Anomaly detection and alerts
THRESHOLDS = {
'cpu_percent': 90,
'memory_percent': 90,
'disk_io_percent': 80,
'load_1': (os.cpu_count() * 2),
'load_5': (os.cpu_count() * 1.5),
'load_15': os.cpu_count()
}
Argument | Description | Default |
---|---|---|
--duration |
Monitoring duration in seconds | 120 |
--keep-reports |
Number of reports to retain | 5 |
--quiet |
Suppress progress bar and non-essential output | False |
# Create virtual environment
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\\Scripts\\activate # Windows
# Install dev dependencies
pip install -r requirements-dev.txt
pytest tests/ -v --cov=src
Detailed documentation is available in the docs directory:
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Made with β€οΈ by Rajeshkanaka