Skip to content

buildingBuild/GoWhoAteMy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoWhoAteMy

GoWhoAteMy is a CLI tool that helps answer a simple question:

what is slowing my computer down right now?

When your system starts lagging, you usually have to jump between a bunch of tools: top for CPU, Activity Monitor for memory, network commands for ports, and logs for clues. Even then, you mostly get dumped raw numbers instead of a clear answer about what changed and which process is responsible.

This tool GOs through it (pun intended)


Features

  • real-time process monitoring for CPU, memory, and networking
  • tracks process behavior over time
  • detects CPU spikes, memory growth, high swap usage, and network changes
  • flags abnormal things like sudden resource jumps and new listening ports
  • identifies the main process causing slowdown
  • notification system for important alerts
  • simple, readable explanations instead of raw stats
  • lightweight CLI

The idea

System tools today are good at showing data, but bad at explaining it.

GoWhoAteMyCPU focuses on:

  • what changed
  • how quickly it changed
  • and what actually caused the slowdown

How it works (high level)

  • collect system + process metrics
  • keep a short rolling history
  • compare current values with recent behavior
  • detect patterns like spikes and pressure
  • output a simple explanation
  • send out important notifications (Fully supports mac)

Tech stack

  • Go
  • gopsutil for CPU, memory, disk, process, and network metrics
  • macOS osascript for system notifications
  • Kong for cli management

How to run

full macOS-first support. Some features, like system notifications and system info may not work on Windows yet.

go build -o gowhoatemy .
./gowhoatemy --computer

To install it somewhere on your PATH, build it into a path folder like ~/bin:

go build -o ~/bin/gowhoatemy .

Then run it from anywhere:

gowhoatemy --computer

Flags available:

gowhoatemy --cpu : gives you the cpu memtric 
gowhoatemy --memory : gives you the memory metrics
gowhoatemy --network : gives you network metrics
gowhoatemy --computer : gives you all the computer metrics and sends out notification on new or abnormal events. to process every 10 seconds
gowhoatemy --computer --interval [seconds]  gives you all the computer metrics and sends out notification on new or abnormal events

This project is being built for the
Rebuilding the OS: Core System Utilities Hackathon

About

CLI tool that helps narrow down system lag or errors

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages