A Python-based tool for measuring system response times, checking OS updates, monitoring system metrics like CPU, memory, disk usage, and network traffic, as well as conducting network speed tests.
- Installation
- Features
- Prerequisites
- Usage
- Examples
- Getting Started
- Dependencies
- Contributing
- License
To install System Analyzer, follow the steps below:
git clone https://github.com/quarj0/system-analyzer
First, install the required dependencies using:
pip install -r requirements.txt
Alternatively, install the tool via pip
after packaging:
pip install system-analyzer
- Response Time Measurement: Measure response time for a given URL or IP address.
- OS Update Check: Check for available OS updates and provide upgrade options.
- CPU & Memory Monitoring: Track CPU and memory usage.
- Disk Monitoring: Monitor disk usage.
- Network Monitoring: Track network traffic (bytes sent and received).
- Network Speed Test: Test internet connection speeds.
Before using this tool, ensure that you have the following:
- Python 3.x installed.
- The following Python libraries:
requests
(for making HTTP requests)psutil
(for system information)tabulate
(for pretty printing tables)
To install these, you can run:
pip install requests psutil tabulate
To use the System Analyzer, follow these steps:
-
Clone the repository to your local machine.
-
Install the required dependencies (see Prerequisites).
-
Run the script using the command:
python system-analyzer.py [URL]
If no URL or IP address is provided, the tool will prompt you to enter one.
-
Follow the on-screen instructions to get system metrics and network information.
- Tool will generate logs for further usage. This is done with json and with in-depth details in the log file.
- The script will prompt whether you want to run a network speed test. You can choose 'yes' or 'no' as needed.
Enter the URL to measure response time: example.com
Enter the URL to measure response time: 192.168.0.1
Enter the URL to measure response time: localhost
Do you want to run a network speed test? (yes/no): yes
- Run the tool: Start by running the script, optionally providing a URL/IP address.
- Check OS updates: The tool will automatically check for updates and notify you if any are available.
- View metrics: Once the tool runs, it will display system metrics like CPU usage, memory usage, disk space, network traffic, and more.
- Speed test: You’ll be prompted to test your network speed.
The System Analyzer relies on the following libraries:
psutil
: For gathering system-related information.requests
: For making HTTP requests to check response times.tabulate
: For formatting and displaying the data.speedtest-cli
: For running network speed tests.plyer
: For notifications.cpuinfo
: For retrieving processor information.colorama
: For adding color to terminal output.
Contributions are welcome! Feel free to fork this repository, open issues, or submit pull requests. Whether it's a bug fix, new feature, or improvement, your contribution will be appreciated.
This project is licensed under the MIT License - see the LICENSE file for more details.