Easily create graphs from cli commands and view them in the terminal. Like the watch
command but with a graph of the output.
I also work on Robusta - a Kubernetes monitoring and automation platform. It makes your Prometheus alerts better.
Joe Schaefer (joesuf4) forked this repo to make it zsh -ic friendly, so his https://github.com/joesuf4/home/tree/wsl rcfiles work cleanly as command-line args to swag
.
git clone https://github.com/aantn/smag.git
cargo install --path .
Binaries for Mac, Windows, and Linux are available under Releases.
Just run smag [shell_cmd]
or smag [cmd1] [cmd2]
if you want to graph multiple commands at once.
You can control how often the graph updates with the -n
flag. You can also graph a derivative of the command's output using -d
.
smag
can graph any command which outputs an integer or float. Any whitespace before/after the number is trimmed automatically.
Pull requests for more features or fixes are welcome.
- Graph number of processes:
smag "ps aux | wc -l"
- Graph number of bash processes and ssh processes as two separate lines:
smag "ps aux | grep ssh | wc -l" "ps aux | grep bash | wc -l"
- Graph number of running Kubernetes pods:
smag "kubectl get pods -A | grep Running | wc -l"
$ smag --help ✔ 2355 17:59:43
smag 0.5.0
Show Me A Graph - Like the `watch` command but with a graph of previous values.
USAGE:
smag [FLAGS] [OPTIONS] <cmds>...
FLAGS:
-d, --diff Graph the diff of subsequent command outputs
--help Prints help information
-V, --version Prints version information
OPTIONS:
-h, --history <buffer-size> Specify number of points to 'remember' and graph at once for each commands
[default: 100]
-n, --interval <polling-interval> Specify update interval in seconds. [default: 1.0]
ARGS:
<cmds>... Command(s) to run
smag was inspired and based on code from the wonderful gping tool by Tom Forbes