52 lines
1.3 KiB
Go
52 lines
1.3 KiB
Go
|
package disk
|
||
|
|
||
|
import (
|
||
|
"encoding/json"
|
||
|
)
|
||
|
|
||
|
type DiskUsageStat struct {
|
||
|
Path string `json:"path"`
|
||
|
Total uint64 `json:"total"`
|
||
|
Free uint64 `json:"free"`
|
||
|
Used uint64 `json:"used"`
|
||
|
UsedPercent float64 `json:"used_percent"`
|
||
|
InodesTotal uint64 `json:"inodes_total"`
|
||
|
InodesUsed uint64 `json:"inodes_used"`
|
||
|
InodesFree uint64 `json:"inodes_free"`
|
||
|
InodesUsedPercent float64 `json:"inodes_used_percent"`
|
||
|
}
|
||
|
|
||
|
type DiskPartitionStat struct {
|
||
|
Device string `json:"device"`
|
||
|
Mountpoint string `json:"mountpoint"`
|
||
|
Fstype string `json:"fstype"`
|
||
|
Opts string `json:"opts"`
|
||
|
}
|
||
|
|
||
|
type DiskIOCountersStat struct {
|
||
|
ReadCount uint64 `json:"read_count"`
|
||
|
WriteCount uint64 `json:"write_count"`
|
||
|
ReadBytes uint64 `json:"read_bytes"`
|
||
|
WriteBytes uint64 `json:"write_bytes"`
|
||
|
ReadTime uint64 `json:"read_time"`
|
||
|
WriteTime uint64 `json:"write_time"`
|
||
|
Name string `json:"name"`
|
||
|
IoTime uint64 `json:"io_time"`
|
||
|
SerialNumber string `json:"serial_number"`
|
||
|
}
|
||
|
|
||
|
func (d DiskUsageStat) String() string {
|
||
|
s, _ := json.Marshal(d)
|
||
|
return string(s)
|
||
|
}
|
||
|
|
||
|
func (d DiskPartitionStat) String() string {
|
||
|
s, _ := json.Marshal(d)
|
||
|
return string(s)
|
||
|
}
|
||
|
|
||
|
func (d DiskIOCountersStat) String() string {
|
||
|
s, _ := json.Marshal(d)
|
||
|
return string(s)
|
||
|
}
|