disk.go 1.3 KB
Newer Older
1
package gopsutil
W
WAKAYAMA Shirou 已提交
2

3 4 5 6
import (
	"encoding/json"
)

W
WAKAYAMA Shirou 已提交
7
type DiskUsageStat struct {
W
WAKAYAMA Shirou 已提交
8 9 10 11
	Path              string  `json:"path"`
	Total             uint64  `json:"total"`
	Free              uint64  `json:"free"`
	Used              uint64  `json:"used"`
12 13 14 15 16
	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"`
W
WAKAYAMA Shirou 已提交
17 18
}

W
WAKAYAMA Shirou 已提交
19
type DiskPartitionStat struct {
20 21 22 23 24 25
	Device     string `json:"device"`
	Mountpoint string `json:"mountpoint"`
	Fstype     string `json:"fstype"`
	Opts       string `json:"opts"`
}

W
WAKAYAMA Shirou 已提交
26
type DiskIOCountersStat struct {
27 28 29 30 31 32
	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"`
33
	Name         string `json:"name"`
34 35
	IoTime       uint64 `json:"io_time"`
	SerialNumber string `json:"serial_number"`
W
WAKAYAMA Shirou 已提交
36
}
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

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)
}