Skip to content

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.

Notifications You must be signed in to change notification settings

Harshitjasuja/System-Performance-Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages