forked from iceopen/sys-getinfo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
52 lines (48 loc) · 1.16 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package main
import (
"gopkg.in/gin-gonic/gin.v1"
"github.com/shirou/gopsutil/mem"
"github.com/shirou/gopsutil/cpu"
"github.com/shirou/gopsutil/disk"
)
func main() {
gin.SetMode("release")
r := gin.Default()
//SWAP大小
r.GET("/swap/info", func(c *gin.Context) {
swap, _ := mem.SwapMemory()
c.JSON(200, swap)
})
//虚拟内存
r.GET("/vmem/info", func(c *gin.Context) {
vmem, _ := mem.VirtualMemory()
c.JSON(200, vmem)
})
//CPU 信息详细
r.GET("/cpu/info", func(c *gin.Context) {
cpuinfo, _ := cpu.Info()
c.JSON(200, cpuinfo)
})
//CPU 运行时情况
r.GET("/cpu/time", func(c *gin.Context) {
cpuTime, _ := cpu.Times(true)
c.JSON(200, cpuTime)
})
////硬盘列表 信息详细
r.GET("/disk/list",func(c *gin.Context) {
diskPart, _ := disk.Partitions(true)
c.JSON(200, diskPart)
})
//硬盘使用 信息详细
r.GET("/disk/usage", func(c *gin.Context) {
diskInfo, _ := disk.Usage("/")
c.JSON(200, diskInfo)
})
//制定目录使用 信息详细
r.POST("/disk/path", func(c *gin.Context){
path := c.PostForm("path")
diskInfo, _ := disk.Usage(path)
c.JSON(200, diskInfo)
})
r.Run(":8848") // listen and serve on 0.0.0.0:8080
}