增加磁盘信息
This commit is contained in:
parent
516382c402
commit
3aaffbeab2
@ -9,6 +9,7 @@ package system
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/shirou/gopsutil/cpu"
|
"github.com/shirou/gopsutil/cpu"
|
||||||
|
"github.com/shirou/gopsutil/disk"
|
||||||
"github.com/shirou/gopsutil/load"
|
"github.com/shirou/gopsutil/load"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -34,3 +35,24 @@ type CPUCoreCnt struct {
|
|||||||
Logical int `json:"logical"` // 逻辑核数
|
Logical int `json:"logical"` // 逻辑核数
|
||||||
Physical int `json:"physical"` // 物理核数
|
Physical int `json:"physical"` // 物理核数
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DiskDetail 磁盘信息
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 8:12 下午 2021/10/12
|
||||||
|
type DiskDetail struct {
|
||||||
|
PartitionStat disk.PartitionStat `json:"partition_stat"`
|
||||||
|
DiskStat *disk.UsageStat `json:"disk_stat"`
|
||||||
|
MemoryUnit string `json:"memory_unit"` // 空间的单位 KB / MB / GB
|
||||||
|
}
|
||||||
|
|
||||||
|
// OutputDiskInfo 磁盘信息
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 8:40 下午 2021/10/12
|
||||||
|
type OutputDiskInfo struct {
|
||||||
|
DiskList []*DiskDetail `json:"disk_list"`
|
||||||
|
IOStat map[string]disk.IOCountersStat `json:"io_stat"`
|
||||||
|
}
|
||||||
|
48
system/disk.go
Normal file
48
system/disk.go
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
// Package system...
|
||||||
|
//
|
||||||
|
// Description : system...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 2021-10-12 8:06 下午
|
||||||
|
package system
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/shirou/gopsutil/disk"
|
||||||
|
)
|
||||||
|
|
||||||
|
// GetDiskInfo 获取磁盘信息
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 8:06 下午 2021/10/12
|
||||||
|
func GetDiskInfo() (*OutputDiskInfo, error) {
|
||||||
|
var (
|
||||||
|
partitionList []disk.PartitionStat
|
||||||
|
diskUseStatList []*disk.UsageStat
|
||||||
|
err error
|
||||||
|
diskList []*DiskDetail
|
||||||
|
)
|
||||||
|
|
||||||
|
partitionList = make([]disk.PartitionStat, 0)
|
||||||
|
diskUseStatList = make([]*disk.UsageStat, 0)
|
||||||
|
diskList = make([]*DiskDetail, 0)
|
||||||
|
|
||||||
|
if partitionList, err = disk.Partitions(true); nil != err {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, part := range partitionList {
|
||||||
|
diskInfo, _ := disk.Usage(part.Mountpoint)
|
||||||
|
diskList = append(diskList, &DiskDetail{
|
||||||
|
PartitionStat: part,
|
||||||
|
DiskStat: diskInfo,
|
||||||
|
})
|
||||||
|
diskUseStatList = append(diskUseStatList, diskInfo)
|
||||||
|
}
|
||||||
|
ioStat, _ := disk.IOCounters()
|
||||||
|
return &OutputDiskInfo{
|
||||||
|
DiskList: diskList,
|
||||||
|
IOStat: ioStat,
|
||||||
|
}, nil
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user