Linux/OSX simple monitor resources in terminal, as well as background tracking of resources in a file with the ability to visualize this data using matplotlib.
- Dynamic real-time monitoring
- Visual notification of system load (emoji status), which reflects the current load on the cores
- UNIX-like system: (Linux distribution, Mac OS)
Tested on:
- Mac OS 14.1 (The temperature indicator is not working)
- Linux Mint 21.1 (The temperature indicator is working)
- Python 3.9+ Tested on Python 3.11.6
Clone repository:
https://github.com/Berliner187/UnixMonitor.git
Change direcotry:
cd UnixMonitor
Install the dependencies from the file with the command: pip install -r requirements.txt
Or manual: pip install psutil
Run with command: python3 system_monitor.py
Or make it executable: chmod +x system_monitor.py
Then you can run it with the command: ./system_monitor.py
- Added an entity that implements a binary clock and display it in terminal
- A little refactoring
- More comments in the methods
- Cosmetic changes
- The load status of the machine has been moved to a separate method
- Added a system of transitions between program windows
- Added an art logo
- Added additional actions for the user: closing the program and restarting
- Partial refactoring of some functions
- Improved the appearance of displaying resource information: the progress bar takes up more space, resource information is displayed in an improved form
- Refactoring of some functions
- Some of the individual operations are carried out in separate methods
- Unnecessary data visualization methods have been removed
- Stress test implemented
- The essence of the stress test has been expanded: random calculations occupy all parallel threads
- The interface has been partially rewritten: at the start, there is a choice between starting the monitor and starting the stress test
- The loading status of the machine and the name of the program with the loading status are separated for further scaling
- The InterfaceSystemMonitor entity has been added so that the user can control the program
- Accelerated program launch
- Improved the appearance of the indicators
- Optimized the use of functions: the text in the center completely centers the Monitor Interface method
- Added a code name: Zenitha
- Refactoring and renaming functions
- Optimize methods
- MPV: The main components of monitoring are implemented
- Added CPU cores, RAM, ROM for display
- Added class StressTest, which will include all kinds of loads on the system (not involved)
- Добавлено больше пояснительных комментариев
- Добавлена в большинстве методов статическая типизация возвращаемых значений в методах
- Добавлена быстрая визуализация времени (по приколу)
- Добавлена сущность, которая реализует двоичные часы и отображает их в терминале
- Небольшой рефакторинг
- Больше комментариев к методам
- Косметические изменения
- Статус загруженности машины вынесен в отдельный метод
- Добавлена система переходов между окнами программы
- Добавлен арт-логотип
- Добавлены дополнительные действия для пользователя: закрытие программы и перезагрузка
- Частичный рефакторинг некоторых функций
- Улучшен внешний вид отображения информации о ресурсах: прогресс бар занимает больше места, информация о ресурсах отображается в улучшенном виде
- Рефакторинг некоторых функций
- Часть отдельных операций вынесены в отдельные методы
- Убраны лишние методы визуализации данных
- Реализован стресс-тест
- Расширена сущность стресс-теста: случайные вычисления занимают все параллельные потоки
- Частично переписан интерфейс: на старте есть выбор между запуском монитора и запуском стресс-теста
- Статус загрузки машины и наименование программы со статусом загруженности разделены в целях дальнейшего масштабирования
- Добавлена сущность InterfaceSystemMonitor, чтобы пользователь могу управлять программой
- Ускорен запуск программы
- Улучшен внешний вид индикаторов
- Оптимизиновано использование функций: текст по центру полностью центрирует метод MonitorInterface
- Добавлено кодовое имя: Zenitha (Зенита)
- Рефакторинг и переименование функций
- Оптимизированы методы
- MPV: Реализованы основные компоненты мониторинга
- Добавлены ядра процессора, оперативная память, ПЗУ для отображения
- Добавлен класс StressTest, который будет включать всевозможные нагрузки на систему (не задействован)