- Create AlertSystem for configurable threshold checks
- Define Alert struct for alert history tracking
- Implement check_cpu_alert() for CPU threshold violations
- Implement check_memory_alert() for memory threshold violations
- Implement check_disk_alert() for disk threshold violations
- Add trigger_alert() to record and display alerts
- Maintain alert history for later analysis
- Integrate alert system into SystemMonitor
- Add visual alert indicators with ⚠️ emoji
- Create SystemMonitor as main monitoring orchestrator
- Implement CPU usage tracking with accurate sampling
- Implement memory info collection (total, used, available, percent)
- Implement disk usage across all mounted disks
- Implement network statistics (bytes sent/received, packets)
- Add display_stats() for formatted output
- Define data structures: MemoryInfo, DiskInfo, NetworkStats
- Integrate with logger for metric recording
- Use sysinfo's System, Disks, and Networks APIs
- Create ProcessMonitor using sysinfo System
- Define ProcessInfo struct for process data
- Implement get_top_processes() to find high CPU processes
- Calculate CPU and memory usage percentages
- Sort processes by CPU usage (descending)
- Implement get_process_count() for total process count
- Add display_processes() for formatted console output
- Replicate Python version's process monitoring functionality
- Create TrackerLogger for file-based logging
- Auto-create logs directory if not exists
- Generate daily log files with timestamp format
- Support different log levels (INFO, WARNING, ERROR)
- Implement log_stats() for metric logging
- Implement log_alert() for alert logging
- Implement log_error() for error logging
- Maintain compatibility with Python version's logging format
- Create Config struct with serde support for JSON parsing
- Define DisplayConfig for UI toggle options
- Define AlertThresholds for monitoring alerts
- Implement Default trait for sensible defaults
- Add load() method to read config from file
- Support same config format as Python version for compatibility
- Set up basic Cargo project with tracker-rs name
- Initialize source directory with main.rs template
- Establish foundation for Rust rewrite of system tracker