gopsutil
gopsutil copied to clipboard
No result using variadic function disk.IOCounters with arguments
Hi,
If I understand well, adding arguments to the function disk.IOCounters()
will always return an empty map[string]IOCountersStat
as len(names)
is > 0.
if len(names) > 0 && !common.StringsHas(names, name) {
continue
}
https://github.com/shirou/gopsutil/blob/master/disk/disk_linux.go#L291
In my environment,
ret, err := IOCounters("vda1")
fmt.Println(ret, err)
returns this.
map[vda1:{"readCount":68022,"mergedReadCount":5,"writeCount":768588,"mergedWriteCount":686205,"readBytes":1546142720,"writeBytes":14503629824,"readTime":62068,"writeTime":697344,"iopsInProgress":0,"ioTime":329020,"weightedIO":759240,"name":"vda1","serialNumber":""}] <nil>
In my environment,
ret, err := IOCounters("vda1") fmt.Println(ret, err)
returns this.
map[vda1:{"readCount":68022,"mergedReadCount":5,"writeCount":768588,"mergedWriteCount":686205,"readBytes":1546142720,"writeBytes":14503629824,"readTime":62068,"writeTime":697344,"iopsInProgress":0,"ioTime":329020,"weightedIO":759240,"name":"vda1","serialNumber":""}] <nil>
hi, when adding arguments to the function disk.IOCounters(), like your "vda1", should i add mountPath? or device?. when not adding any arguments, i got a map which store a key = "disk0", but i have no idea about "disk0".
` disks, err := disk.Partitions(true) if err != nil{ fmt.Println(err.Error()) }
for _, dsk := range disks{
fmt.Println(dsk.String())
//usage, err := disk.Usage(dsk.Mountpoint)
//if err != nil{
// fmt.Println(err.Error())
//}
//fmt.Println("USAGE:", usage.String())
}
ioCtr, err := disk.IOCounters()
if err != nil{
fmt.Println(err.Error())
} else {
for k, v := range ioCtr{
fmt.Println(k, v.String())
}
}`
{"device":"/dev/disk1s1s1","mountpoint":"/","fstype":"apfs","opts":"ro,journaled,multilabel"}
{"device":"devfs","mountpoint":"/dev","fstype":"devfs","opts":"rw,nobrowse,multilabel"}
{"device":"/dev/disk1s5","mountpoint":"/System/Volumes/VM","fstype":"apfs","opts":"rw,noexec,nobrowse,journaled,multilabel,noatime"}
{"device":"/dev/disk1s3","mountpoint":"/System/Volumes/Preboot","fstype":"apfs","opts":"rw,nobrowse,journaled,multilabel"}
{"device":"/dev/disk1s6","mountpoint":"/System/Volumes/Update","fstype":"apfs","opts":"rw,nobrowse,journaled,multilabel"}
{"device":"/dev/disk1s2","mountpoint":"/System/Volumes/Data","fstype":"apfs","opts":"rw,nobrowse,journaled,multilabel"}
{"device":"map auto_home","mountpoint":"/System/Volumes/Data/home","fstype":"autofs","opts":"rw,nobrowse,automounted,multilabel"}
{"device":"/dev/disk1s1","mountpoint":"/System/Volumes/Update/mnt1","fstype":"apfs","opts":"rw,nobrowse,journaled,multilabel"}
disk0 {"readCount":1086670,"mergedReadCount":0,"writeCount":1856891,"mergedWriteCount":0,"readBytes":16016609280,"writeBytes":31076941824,"readTime":649537,"writeTime":860502,"iopsInProgress":0,"ioTime":1510040,"weightedIO":0,"name":"disk0","serialNumber":"","label":""}
so, which device does the "disk0" represent? thanks a lot.