Skip to content

DiegoAndradeD/system-monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

System Monitor

A simple, real-time system monitoring dashboard built with Go, raylib-go for rendering, and gopsutil for metrics collection.

This application provides a clean, visual overview of key system resources, including CPU, memory, disk, and network activity.

This project was created for learning purposes, as a way to explore Go programming and practice working with system metrics and graphics.

preview

Features

  • CPU Monitoring:
    • Real-time usage percentage displayed with a visual bar graph.
    • Current CPU frequency.
  • Memory Monitoring:
    • Real-time memory usage percentage with a visual bar graph.
    • Displays used vs. total available RAM.
    • Displays used vs. total available Swap memory.
  • Disk Monitoring:
    • Primary disk usage percentage with a visual bar graph.
    • Displays used vs. total available disk space.
  • Network Monitoring:
    • Live upload and download speed (KB/s).
    • Real-time line graphs showing the last 60 seconds of network activity.
    • Displays current speed and peak speed within the historical window.
    • Total data sent and received since system startup.

Prerequisites

Before you begin, ensure you have the following installed on your system:

  • Go: Version 1.18 or later.
  • A C Compiler: raylib is a C library, so a compiler like GCC or Clang is required for the bindings to work.
    • On Ubuntu/Debian: sudo apt-get install build-essential
    • On Fedora/RHEL: sudo dnf groupinstall "Development Tools"
    • On macOS: Install Xcode Command Line Tools.
    • On Windows: Install MinGW-w64 or TDM-GCC.
  • raylib System Dependencies: Follow the installation instructions for your OS on the raylib-go page.

Installation & Usage

  1. Clone the repository:

    git clone [https://github.com/your-username/system-monitor.git](https://github.com/DiegoAndradeD/system-monitor)
    cd system-monitor
  2. Tidy the dependencies: Go will automatically fetch the required packages (raylib-go and gopsutil).

    go mod tidy
  3. Run the application:

    go run cmd/monitor/main.go  

    The application window should appear, displaying your system's metrics in real-time.

Built With

  • Go - The programming language used.
  • raylib-go - For creating the graphical user interface.
  • gopsutil - For cross-platform system metrics collection.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A simple system monitor built in Go using Raylib and gopsutil, created as a small learning project.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages