/System-Performance-Analyzer

A cross-platform System Performance Analyzer & Optimizer with a modern Python GUI. Monitor real-time CPU, memory, disk, and network stats, run benchmarks, and get AI-driven optimization suggestions. Features include historical analytics, export options, process management, and customizable settings—all with secure local data logging.

Primary LanguagePython

System Performance Analyzer & Optimizer

A modern, AI-powered system monitoring and optimization suite for Windows, macOS, and Linux. Features real-time performance dashboards, analytics, benchmarking, and automated optimization in a user-friendly CustomTkinter GUI.

Table of Contents

Key Features

  • Real-time Performance Monitoring
    • Multi-metric system monitoring (CPU, Memory, Disk, Network, Temperature)
    • High-frequency data collection with minimal system overhead
    • Historical data analysis and trend identification
    • Cross-platform compatibility (Windows, macOS, Linux)
  • AI-Powered Optimization Engine
    • Machine learning-driven performance analysis
    • Predictive bottleneck detection and prevention
    • Automated optimization recommendation system
    • Adaptive learning from user behavior and system patterns
  • Advanced Data Visualization
    • Real-time interactive charts and graphs
    • Modern, responsive GUI using CustomTkinter
    • Multiple chart types for comprehensive analysis
    • Export capabilities for reports and further analysis
  • Comprehensive System Tools
    • System benchmark testing suite
    • Process manager with advanced controls
    • System cleanup and maintenance tools
    • Emergency optimization capabilities -Database persistence for historical data

Screenshots

Main Page Screenshot 2025-05-31 at 4 02 25 AM

  • graphs for CPU usage, Memory usage, Disk usage
Screenshot 2025-05-31 at 4 03 18 AM - graphs for Network usage, Temperature (currently unavailable), System Health Score Screenshot 2025-05-31 at 4 05 09 AM - System Optimization Page Screenshot 2025-05-31 at 4 06 22 AM - Performance Analytics & Historical Data Page Screenshot 2025-05-31 at 4 07 24 AM - System Benchmark & Performance Testing Page Screenshot 2025-05-31 at 4 08 24 AM - System Information Page Screenshot 2025-05-31 at 4 09 20 AM - Settings Screenshot 2025-05-31 at 4 10 08 AM Screenshot 2025-05-31 at 4 10 28 AM - Theory page Screenshot 2025-05-31 at 4 10 48 AM - Team Info page Screenshot 2025-05-31 at 4 11 06 AM - Help page Screenshot 2025-05-31 at 4 11 24 AM

Project Objectives

  • Primary Goals
    • Real-time Performance Monitoring - Multi-metric system monitoring with minimal overhead
    • Intelligent AI-based Optimization - Machine learning-driven performance analysis
    • Advanced User Interface Design - Modern, responsive GUI with real-time visualization
    • Comprehensive Reporting - Detailed performance reports in multiple formats
    • System Integration - Seamless integration with operating system APIs
  • Secondary Goals
    • Educational Value - Demonstrate advanced programming concepts
    • Research Platform - Foundation for performance analysis research
    • Extensibility - Modular architecture for easy feature additions
    • Security - Secure handling of system information
    • Scalability - Support for monitoring multiple systems

System Architecture

The application employs a sophisticated multi-layered architecture:

  • Presentation Layer (CustomTkinter GUI)
    • Model-View-Controller (MVC) pattern
    • Tabbed interface system with custom widgets
    • Theme management and event handling
  • Business Logic Layer (Core Processing)
    • Service-Oriented Architecture (SOA)
    • Performance monitoring, AI analysis, and optimization services
    • Alert management and data persistence
  • Data Access Layer (System Integration)
    • Repository pattern for system metrics
    • SQLite database integration
    • Configuration management
  • AI Layer (Intelligence Engine)
    • Pipeline architecture for data processing
    • Statistical analysis and anomaly detection
    • Rule-based expert systems

Technology Stack

  • Core Technologies
    • Python 3.8+ - Cross-platform development language
    • CustomTkinter - Modern GUI framework with theming
    • Matplotlib - Real-time data visualization
    • psutil - Cross-platform system monitoring
    • SQLite - Embedded database for data persistence
  • Supporting Libraries
    • NumPy - Numerical computations
    • Threading - Concurrent operations
    • JSON/CSV - Data serialization and export
    • Collections - Advanced data structures
  • Optional Enhancements
    • ReportLab - Advanced PDF generation
    • Requests - HTTP client for cloud integration

Performance Metrics

  • System Metrics Monitored
    • CPU: Usage percentage, per-core distribution, temperature, frequency scaling
    • Memory: Physical/virtual memory usage, availability, allocation patterns
    • Storage: Disk space utilization, I/O operations, throughput, health indicators
    • Network: Bandwidth usage, packet statistics, connection rates
    • System Health: Overall health score, component indicators, stability metrics
  • Application Performance
    • Startup time and initialization speed
    • Memory footprint during monitoring
    • CPU overhead (< 2% during normal operation)
    • Data collection accuracy (±1% for CPU, ±0.5% for memory)
    • Real-time chart rendering (< 100ms updates)

Installation & Setup

  • Minimum: Python 3.6+, 4GB RAM, 100MB storage
  • Recommended: Python 3.8+, 8GB RAM, SSD storage

Installation Steps

  1. Clone the repository
git clone https://github.com/your-username/system-performance-analyzer.git
cd system-performance-analyzer
  1. Install Dependencies
pip install customtkinter matplotlib psutil numpy
  1. Optional Dependencies
pip install reportlab requests  # For PDF export and cloud features
  1. Run the Application
python final.py

Usage Guide

Quick Start

  1. Launch the application - monitoring starts automatically
  2. Navigate through tabs to explore different features
  3. Check the Dashboard for real-time system metrics
  4. Use AI Optimizer for intelligent system recommendations
  5. Customize settings in the Settings tab
  6. Export reports for analysis and record-keeping

Main Interface Tabs

  • Dashboard
    • Real-time performance metrics with enhanced cards
    • Interactive charts showing CPU, memory, disk, network usage
    • System health score and alerts panel
    • Quick action buttons for optimization and cleanup
  • AI Optimizer
    • Intelligent performance analysis and recommendations
    • Automated optimization suggestions
    • System health assessment
    • Deep analysis capabilities
  • Analytics
    • Historical performance data analysis
    • Time-range filtering (hour, day, week, month)
    • Performance trends and patterns
    • Statistical summaries
  • Benchmark
    • CPU, memory, and full system benchmarks
    • Performance scoring and comparison
    • Detailed benchmark results and analysis
  • System Info
    • Comprehensive system information display
    • Hardware specifications and status
    • Network interface details
    • System uptime and boot information
  • Settings
    • Theme customization (light/dark mode)
    • Performance monitoring configuration
    • Alert threshold settings
    • Notification preferences

Advanced Features

  • AI Analysis Engine
    • Statistical Analysis: Moving averages, trend detection, correlation analysis
    • Anomaly Detection: Threshold-based and pattern-based detection
    • Expert System: Rule-based recommendations with inference engine
    • Predictive Modeling: Time series forecasting and performance prediction
  • Benchmark Testing
    • CPU Benchmarks: Integer operations, floating-point, multi-threading
    • Memory Benchmarks: Allocation, access patterns, copy operations
    • Disk I/O Testing: Read/write performance analysis
    • Overall System Scoring: Comprehensive performance evaluation
  • Export & Reporting
    • PDF Reports: Comprehensive performance analysis with charts
    • CSV Data Export: Raw performance data for external analysis
    • Historical Analysis: Trend analysis and pattern recognition
    • Automated Scheduling: Configurable monitoring intervals

Security & Privacy

  • Security Measures
    • Read-only system monitoring (no unauthorized modifications)
    • Local data storage with encryption options
    • User permission validation for system operations
    • Audit logging of optimization actions
  • Privacy Protection
    • No network transmission without explicit consent
    • Anonymization options for exported data
    • User control over data collection scope
    • GDPR-compliant data handling

Configuration

  • Monitoring Settings
    • Refresh rate: 1-10 seconds (configurable)
    • Data retention: Up to 1 million data points
    • Alert thresholds: Customizable for all metrics
    • Logging: Enable/disable database persistence
  • Performance Optimization
    • Adaptive sampling rates based on system load
    • Efficient data compression for storage
    • Memory management with bounded data structures
    • Multi-threaded architecture for responsiveness

Testing & Validation

  • Performance Benchmarks
    • Application startup: < 3 seconds
    • Memory footprint: 30-50MB
    • CPU overhead: < 2%
    • Monitoring accuracy: ±1% (validated against system tools)
  • Compatibility Testing
    • Windows 10/11, macOS 10.14+, Linux (Ubuntu, CentOS, etc.)
    • Python 3.6+ compatibility
    • High DPI display support
    • Multi-monitor configurations

FAQ & Troubleshooting

  • How do I start monitoring?
    • Launch the app; monitoring starts automatically in the Dashboard.
  • How do I change refresh rate or thresholds?
    • Go to the Settings tab and adjust the sliders.
  • Where is my data stored?
    • All data is stored locally in performance_data.db.
  • Export fails or charts not updating?
    • Ensure all dependencies are installed.
    • Check file permissions and disk space.
    • Restart the application if needed.
  • More help?
    • See the Help tab or contact the team (below).

Team & Contact

Team Architechs

License

  • This project is developed as an academic project by the Architechs Team for SE(OS)-VI-T250. All rights reserved.
  • For collaboration, feature requests, or partnership opportunities, please contact the development team.
  • © Team Architechs

Acknowledgements

  • Built with Python, CustomTkinter, Matplotlib, psutil, and more.
  • Special thanks to all open-source contributors.