commit b25998e57b92c955465c9759c2a1409c60c17992 Author: m1ngsama Date: Fri Nov 1 09:00:00 2024 +0800 Initial commit: project structure and basic tracker diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..660d985 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +.env +.venv +env/ +venv/ +.DS_Store diff --git a/README.md b/README.md new file mode 100644 index 0000000..668acd8 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# Tracker + +A comprehensive system monitoring tool for tracking various machine health metrics and performance indicators. + +## Features + +- CPU usage monitoring +- Memory utilization tracking +- Disk I/O statistics +- Network traffic analysis +- Process monitoring +- Temperature sensors +- System uptime tracking + +## Installation + +```bash +pip install -r requirements.txt +``` + +## Usage + +```bash +python tracker.py +``` + +## Requirements + +- Python 3.8+ +- psutil +- GPUtil (for GPU monitoring) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..eef0fdf --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +psutil>=5.9.0 +GPUtil>=1.4.0 +requests>=2.28.0 diff --git a/tracker.py b/tracker.py new file mode 100644 index 0000000..8da3cf2 --- /dev/null +++ b/tracker.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python3 +""" +System Tracker - Monitor machine health and performance +""" + +import psutil +import time +from datetime import datetime + + +class SystemTracker: + def __init__(self): + self.start_time = time.time() + + def get_cpu_usage(self): + """Get current CPU usage percentage""" + return psutil.cpu_percent(interval=1) + + def get_memory_info(self): + """Get memory usage statistics""" + mem = psutil.virtual_memory() + return { + 'total': mem.total, + 'available': mem.available, + 'percent': mem.percent, + 'used': mem.used + } + + def get_disk_usage(self): + """Get disk usage statistics""" + disk = psutil.disk_usage('/') + return { + 'total': disk.total, + 'used': disk.used, + 'free': disk.free, + 'percent': disk.percent + } + + def display_stats(self): + """Display all system statistics""" + print(f"\n{'='*50}") + print(f"System Tracker - {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}") + print(f"{'='*50}\n") + + print(f"CPU Usage: {self.get_cpu_usage()}%") + + mem = self.get_memory_info() + print(f"Memory: {mem['percent']}% ({mem['used'] / (1024**3):.2f}GB / {mem['total'] / (1024**3):.2f}GB)") + + disk = self.get_disk_usage() + print(f"Disk: {disk['percent']}% ({disk['used'] / (1024**3):.2f}GB / {disk['total'] / (1024**3):.2f}GB)") + + +if __name__ == "__main__": + tracker = SystemTracker() + tracker.display_stats()