git.sophuwu.com > amdgpu-qstat   
              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.
`