goperfwatch

command module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2024 License: MIT Imports: 11 Imported by: 0

README

GoPerfWatch

GoPerfWatch is a CLI-based system monitoring utility written in Go for Linux systems. It displays real-time metrics of hardware such as CPU, GPU, and memory.

Features

  • CPU Monitoring: Displays clock speed, temperature, and usage.
  • GPU Monitoring: Tracks VRAM usage and temperature.
  • Memory Monitoring: Shows memory usage in GB and / total on a usage bar.
  • Real-time Updates: Data is refreshed at configurable intervals (must modify source code).

image

Dependencies

Before attempting install GoPerfWatch, ensure that the following packages are present on your system:

Golang

For Ubuntu

sudo apt-get install golang-go

For Fedora

sudo dnf install golang

For Arch

sudo pacman -Syu go

OR download the latest Linux release of Go from the official site

lm-sensors

For Ubuntu

sudo apt-get install lm-sensors

For Fedora

sudo dnf install lm_sensors

For Arch

sudo pacman -Syu lm_sensors
glxinfo

For Ubuntu

sudo apt-get install mesa-utils

For Fedora

sudo dnf install glx-utils

For Arch

sudo pacman -Syu mesa-utils

Installation

Clone the repo
git clone https://github.com/vibraniumdroid/goperfwatch.git
cd goperfwatch
Initialize the module and install termui
go mod init goperfwatch
go get github.com/gizak/termui/v3
go mod tidy
Build or run directly
go build
chmod u+x goperfwatch
./goperfwatch

OR

go run main.go

Usage

Running the programming begins live-monitoring. So long as dependencies are satisfied further configuration is not required. To exit GoPerfWatch's interface once launched, simply enter any mouse or keyboard input.

Users looking to modify polling intervals should adjust the polling interval variables found in main and the usage package.

To do

  • Implement GPU clock monitoring
  • Verify support for existing GPU features on Nvidia GPUs
  • Implement power consumption monitoring on supported hardware
  • Allow for arguments when executing to enable different display modes
  • Quit program only upon receiving specific input (rather than any)
  • Possibly phase out some use of lm-sensors where more universal implementations may be possible

License

GoPerfWatch is licensed under the MIT License. Refer to the LICENSE file for additional details.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cpu
gpu

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL