1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package test
- import (
- "fmt"
- humanize "github.com/dustin/go-humanize"
- "github.com/mackerelio/go-osstat/cpu"
- "github.com/mackerelio/go-osstat/memory"
- "github.com/minio/minio/pkg/disk"
- "os"
- "runtime"
- "testing"
- "time"
- )
- func TestGetArch(t *testing.T) {
- fmt.Println("os:", runtime.GOOS)
- fmt.Println("threads:", runtime.GOMAXPROCS(0))
- memoryStat, err := memory.Get()
- if err != nil {
- fmt.Fprintf(os.Stderr, "%s\n", err)
- return
- }
- fmt.Println("memory total:", humanize.Bytes(memoryStat.Total))
- fmt.Println("memory used:", humanize.Bytes(memoryStat.Used))
- fmt.Println("memory cached:", humanize.Bytes(memoryStat.Cached))
- fmt.Println("memory free:", humanize.Bytes(memoryStat.Free))
- before, err := cpu.Get()
- if err != nil {
- fmt.Println(err)
- }
- time.Sleep(time.Duration(1) * time.Second)
- after, err := cpu.Get()
- if err != nil {
- fmt.Println(err)
- }
- total := float64(after.Total - before.Total)
- fmt.Printf("cpu user: %f %%\n", float64(after.User-before.User)/total*100)
- fmt.Printf("cpu system: %f %%\n", float64(after.System-before.System)/total*100)
- fmt.Printf("cpu idle: %f %%\n", float64(after.Idle-before.Idle)/total*100)
- err = diskUsage(".")
- if err != nil {
- fmt.Println(err)
- }
- }
- func diskUsage(path string) error {
- di, err := disk.GetInfo(path)
- if err != nil {
- return err
- }
- percentage := (float64(di.Total-di.Free) / float64(di.Total)) * 100
- fmt.Printf("%s of %s disk space used (%0.2f%%)\n",
- humanize.Bytes(di.Total-di.Free),
- humanize.Bytes(di.Total),
- percentage,
- )
- return nil
- }
|