package main import ( "bufio" "flag" "fmt" "github.com/oz123/gupta" "log" "os" "time" ) func main() { var freq int var partition, netInterface string var load, memory, cpu bool flag.IntVar(&freq, "frequency", 5, "Frequency of polling in secods") flag.IntVar(&freq, "f", 5, "Frequency of polling in secods") flag.BoolVar(&memory, "m", false, "Poll memory") flag.BoolVar(&load, "l", false, "Poll load") flag.BoolVar(&cpu, "c", false, "poll CPU usage") flag.StringVar(&partition, "p", "", "Poll disk usage (partition)") flag.StringVar(&netInterface, "n", "", "Network usage (interface)") flag.Parse() f, err := os.Open("/proc/stat") defer f.Close() rd := bufio.NewReader(f) line, err := rd.ReadString('\n') if err != nil { log.Fatalf("could not read /proc/stat, error: %v", err) } fmt.Println(gupta.Hello()) for true { cpustat := gupta.NewCPUStat(line) fmt.Printf("cpustat %d\n", cpustat.User) time.Sleep(time.Duration(freq) * time.Second) } }