103 lines
2.5 KiB
Go
103 lines
2.5 KiB
Go
package main
|
|
|
|
import (
|
|
"github.com/mackerelio/go-osstat/memory"
|
|
"github.com/mackerelio/go-osstat/loadavg"
|
|
"github.com/mackerelio/go-osstat/network"
|
|
"github.com/mackerelio/go-osstat/uptime"
|
|
"github.com/mackerelio/go-osstat/cpu"
|
|
"github.com/hako/durafmt"
|
|
|
|
"fmt"
|
|
"os"
|
|
"amuz.es/src/infra/goutils/misc"
|
|
)
|
|
|
|
func a() {
|
|
memory, err := memory.Get()
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "%s\n", err)
|
|
return
|
|
}
|
|
//Total
|
|
//Used
|
|
//Buffers
|
|
//Cached
|
|
//Free
|
|
//Active
|
|
//Inactive
|
|
//SwapTotal
|
|
//SwapUsed
|
|
//SwapCached
|
|
//SwapFree uint64
|
|
fmt.Println("memory total: ", misc.FileSizeIEC(memory.Total))
|
|
fmt.Println("memory active: ", misc.FileSizeIEC(memory.Active))
|
|
fmt.Println("memory cached: ", misc.FileSizeIEC(memory.Cached))
|
|
fmt.Println("memory free: ", misc.FileSizeIEC(memory.Free))
|
|
fmt.Println("memory inactive: ", misc.FileSizeIEC(memory.Inactive))
|
|
fmt.Println("memory swapFree: ", misc.FileSizeIEC(memory.SwapFree))
|
|
fmt.Println("memory swapTotal: ", misc.FileSizeIEC(memory.SwapTotal))
|
|
fmt.Println("memory swapUsed: ", misc.FileSizeIEC(memory.SwapUsed))
|
|
fmt.Println("memory used: ", misc.FileSizeIEC(memory.Used))
|
|
|
|
}
|
|
|
|
func b() {
|
|
load, err := loadavg.Get()
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "%s\n", err)
|
|
return
|
|
}
|
|
fmt.Printf("load Loadavg1: %f \n", load.Loadavg1)
|
|
fmt.Printf("load Loadavg5: %f \n", load.Loadavg5)
|
|
fmt.Printf("load Loadavg15: %f \n", load.Loadavg15)
|
|
|
|
}
|
|
|
|
func c() {
|
|
netios, err := network.Get()
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "%s\n", err)
|
|
return
|
|
}
|
|
for _, netio := range netios {
|
|
fmt.Println("netio name: ", netio.Name)
|
|
fmt.Println("netio rxBytes: ", misc.FileSizeIEC(netio.RxBytes))
|
|
fmt.Println("netio txBytes: ", misc.FileSizeIEC(netio.TxBytes))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
func d() {
|
|
ut, err := uptime.Get()
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "%s\n", err)
|
|
return
|
|
}
|
|
fmt.Printf("uptime: %s\n", durafmt.Parse(ut).String())
|
|
|
|
}
|
|
|
|
func e() {
|
|
ct, err := cpu.Get()
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "%s\n", err)
|
|
return
|
|
}
|
|
fmt.Printf("cpu idle: %d\n", ct.Idle)
|
|
fmt.Printf("cpu nice: %d\n", ct.Nice)
|
|
fmt.Printf("cpu system: %d\n", ct.System)
|
|
fmt.Printf("cpu total: %d\n", ct.Total)
|
|
fmt.Printf("cpu user: %d\n", ct.User)
|
|
|
|
fmt.Printf("cpu idle: %f%%\n", float64(ct.Idle*100)/float64(ct.Total))
|
|
fmt.Printf("cpu nice: %f%%\n", float64(ct.Nice*100)/float64(ct.Total))
|
|
fmt.Printf("cpu system: %f%%\n", float64(ct.System*100)/float64(ct.Total))
|
|
fmt.Printf("cpu user: %f%%\n", float64(ct.User*100)/float64(ct.Total))
|
|
}
|
|
|
|
func f() {
|
|
fmt.Fprintf(os.Stderr, "%s\n", "not supported")
|
|
}
|