analytic_test.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package test
  2. import (
  3. "fmt"
  4. "runtime"
  5. "testing"
  6. "time"
  7. "github.com/0xJacky/Nginx-UI/internal/analytic"
  8. "github.com/shirou/gopsutil/v4/cpu"
  9. "github.com/shirou/gopsutil/v4/disk"
  10. "github.com/shirou/gopsutil/v4/load"
  11. "github.com/shirou/gopsutil/v4/mem"
  12. )
  13. func TestGoPsutil(t *testing.T) {
  14. fmt.Println("os:", runtime.GOOS)
  15. fmt.Println("threads:", runtime.GOMAXPROCS(0))
  16. v, _ := mem.VirtualMemory()
  17. loadAvg, _ := load.Avg()
  18. fmt.Println("loadavg", loadAvg.String())
  19. fmt.Printf("Total: %v, Free:%v, UsedPercent:%f%%\n", v.Total, v.Free, v.UsedPercent)
  20. cpuTimesBefore, _ := cpu.Times(false)
  21. time.Sleep(1000 * time.Millisecond)
  22. cpuTimesAfter, _ := cpu.Times(false)
  23. threadNum := runtime.GOMAXPROCS(0)
  24. fmt.Println(cpuTimesBefore[0].String(), "\n", cpuTimesAfter[0].String())
  25. cpuUserUsage := (cpuTimesAfter[0].User - cpuTimesBefore[0].User) / (float64(1000*threadNum) / 1000)
  26. cpuSystemUsage := (cpuTimesAfter[0].System - cpuTimesBefore[0].System) / (float64(1000*threadNum) / 1000)
  27. fmt.Printf("%.2f, %.2f\n", cpuUserUsage*100, cpuSystemUsage*100)
  28. diskUsage, _ := disk.Usage(".")
  29. fmt.Println(diskUsage.String())
  30. network, _ := analytic.GetNetworkStat()
  31. fmt.Println(network)
  32. time.Sleep(time.Second)
  33. network, _ = analytic.GetNetworkStat()
  34. fmt.Println(network)
  35. }