99
package config
import (
"fmt"
"os"
"strings"
)
var ShowErr = false
var Use = false
var Temp = false
var Mem = false
var MemPerc = false
var Power = false
var Freq = false
var MemFreq = false
var Fan = false
func init() {
help := false
all := func() {
Use = true
Temp = true
Mem = true
MemPerc = true
Power = true
Freq = true
MemFreq = true
Fan = true
}
for _, arg := range os.Args[1:] {
if strings.HasPrefix(arg, "--") {
switch arg {
case "--show-err":
ShowErr = true
case "--help":
help = true
case "--all":
all()
}
} else if strings.HasPrefix(arg, "-") {
for _, c := range arg[1:] {
switch c {
case '?', 'h':
help = true
case 'e':
ShowErr = true
case 'a':
all()
case 'u':
Use = true
case 't':
Temp = true
case 'm':
Mem = true
case 'p':
Power = true
case 'f':
Freq = true
case 'M':
MemFreq = true
case 'F':
Fan = true
case '%':
MemPerc = true
}
}
continue
}
}
if help {
fmt.Printf(helpMenu, os.Args[0])
os.Exit(0)
}
if !(Use || Temp || Mem || MemPerc || Power || Freq || MemFreq || Fan) {
Use = true
Temp = true
MemPerc = true
}
}
var helpMenu = `Usage: %s [options]
A utility to query AMD GPU statistics.
Options:
-h, --help Show this help message and exit
-e, --err Show error messages
-a, --all Show all statistics
-u Show GPU utilization
-f Show GPU core frequency
-t Show GPU temperature
-m Show GPU memory usage
-%% Show GPU memory usage percentage
-M Show GPU memory frequency
-p Show GPU power consumption
-F Show GPU fan speed
If no options are given, -ut%% are assumed.
`