{"id":20601938,"url":"https://github.com/aymane-maghouti/real-time-computer-performance-dashboard","last_synced_at":"2025-08-23T14:14:50.278Z","repository":{"id":187533408,"uuid":"676604267","full_name":"aymane-maghouti/Real-time-Computer-Performance-Dashboard","owner":"aymane-maghouti","description":"This project aims to capture, store, and visualize real-time system performance metrics through an end-to-end data pipeline. By leveraging Python, MySQL, SQL Server, and Power BI, we've created a comprehensive solution to enhance decision-making.","archived":false,"fork":false,"pushed_at":"2023-09-24T09:00:14.000Z","size":912,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-20T14:07:41.635Z","etag":null,"topics":["dashboard","data-pipeline","mysql-connector","mysql-database","powerbi","pyodbc","python","sql-server-database"],"latest_commit_sha":null,"homepage":"https://aymane-maghouti.github.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aymane-maghouti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-09T15:23:19.000Z","updated_at":"2025-03-14T21:39:03.000Z","dependencies_parsed_at":"2024-11-16T09:12:31.922Z","dependency_job_id":"5a4f0472-2f8c-4fb5-ab5a-7a160cfe1208","html_url":"https://github.com/aymane-maghouti/Real-time-Computer-Performance-Dashboard","commit_stats":null,"previous_names":["aymane-maghouti/real-time-computer-performance-dashboard"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aymane-maghouti/Real-time-Computer-Performance-Dashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aymane-maghouti%2FReal-time-Computer-Performance-Dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aymane-maghouti%2FReal-time-Computer-Performance-Dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aymane-maghouti%2FReal-time-Computer-Performance-Dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aymane-maghouti%2FReal-time-Computer-Performance-Dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aymane-maghouti","download_url":"https://codeload.github.com/aymane-maghouti/Real-time-Computer-Performance-Dashboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aymane-maghouti%2FReal-time-Computer-Performance-Dashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271751926,"owners_count":24814707,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dashboard","data-pipeline","mysql-connector","mysql-database","powerbi","pyodbc","python","sql-server-database"],"created_at":"2024-11-16T09:12:27.864Z","updated_at":"2025-08-23T14:14:50.253Z","avatar_url":"https://github.com/aymane-maghouti.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Performance Monitoring and Data Visualization Project\n\nWelcome to the Performance Monitoring and Data Visualization project! This project aims to capture, store, and visualize real-time system performance metrics through an end-to-end data pipeline. By leveraging Python, MySQL, SQL Server, and Power BI, we've created a comprehensive solution to enhance decision-making.\n\n----\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Features](#features)\n- [Technologies Used](#technologies-used)\n- [Setup Instructions](#setup-instructions)\n- [Usage](#usage)\n- [Data Flow](#data-flow)\n- [Dashboard Preview](#dashboard-preview)\n- [Acknowledgments](#acknowledgments)\n- [Contact](#contact)\n\n----\n## Introduction\n\nSystem performance monitoring is crucial for maintaining operational efficiency and preemptively identifying potential issues. This project takes a data-driven approach to capture, store, and visualize performance metrics in real-time, providing insights for informed decision-making.\n\n---\n## Features\n\n- Fetches real-time Performance Monitoring Data using Python scripts(using psutil library).\n- Stores captured data securely in a MySQL database (using mysql-connector-python API).\n- Establishes a data pipeline to transfer data from MySQL to SQL Server database(using pyodbc API).\n- Connects SQL Server to Power BI for creating dynamic visualizations.\n- Constructs an interactive real-time dashboard for monitoring system performance.\n\n---\n## Technologies Used\n\n- Python\n- MySQL\n- SQL Server\n- Power BI\n\n---\n## Setup Instructions\n\n1. Clone the repository: `git clone https://github.com/aymane-maghouti/Real-time-Computer-Performance-Dashboard.git`\n2. Install required dependencies by following the instructions in the `requirements.txt` file after navigating to the project folder:\n`pip install -r requirements.txt`\n3. Set up the MySQL and SQL Server databases according to the provided schema.(Execute the `database_installation.sql` script on both the MySQL and SQL Server databases.)\n4. Configure the Python scripts with the necessary connection details.\n\n    **For MySQL:**\n\n    *host* = 'localhost'\n\n    *database* = 'system_Performance'\n\n    *user* = your username (root by default)\n\n    *password* = your password\n\n    *table_name* = 'performance'\n\n    **For SQL Server:**\n\n    *Driver*={SQL Server};\n\n    *Server*=your server name;\n\n    *Database*=System_Performance;\n\n    *Trusted_Connection*=yes;\n\n\n5. Install Power BI and connect to the SQL Server database(Or you can just open the system_performance.pbix file with powerBI software).\n\n---\n## Usage\n\n1. Run the Python script to fetch Performance Monitoring Data.(main.py script)\n2. Data is automatically stored in the MySQL database.\n3. The data pipeline transfers data from MySQL to SQL Server.\n4. Open the Power BI file to access the real-time dashboard.\n\nIf you want to see how it's work, check the LinkedIn post where there is a video explaining how to use it, here it is the link of the post : \u003ca href=\"https://www.linkedin.com/posts/aymane-maghouti_dataengineering-powerbi-realtimedata-activity-7095452030726455296-oTct?utm_source=share\u0026utm_medium=member_desktop\" target=\"_blank\"\u003eClick here\u003c/a\u003e\n\n---\n## Data Flow\n\n1. Python script fetches data →\n2. Data stored in MySQL database →\n3. Data transferred to SQL Server via pipeline →\n4. Power BI accesses SQL Server and creates visualizations.\n\n![Screenshot of the Real-time Dashboard](/images/workFlow.png)\n\n---\n## Dashboard Preview\n\nThe final result of the project is a `real time dashboard`\n\n![Screenshot of the Real-time Dashboard](/images/system_performance.png)\n\n---\n## Acknowledgments\n-We would like to express our gratitude to the following resources for their valuable contributions to this project:\n\nThe official documentation of `Python` language.\n\nThe documentation provided by `MySQL` and `SQL Server` for configuring and working with the database.\n\nThe `Power BI` documentation, which aided in creating the dashboard.\n\n\nFeel free to customize the content and functionality of this Project according to your specific requirements.\n\n---\n## Contact\n\u003ca href=\"https://www.linkedin.com/in/aymane-maghouti/\" target=\"_blank\"\u003eAymane Maghouti\u003c/a\u003e\u003cbr\u003e\n\n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faymane-maghouti%2Freal-time-computer-performance-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faymane-maghouti%2Freal-time-computer-performance-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faymane-maghouti%2Freal-time-computer-performance-dashboard/lists"}