gopsutil icon indicating copy to clipboard operation
gopsutil copied to clipboard

No result using variadic function disk.IOCounters with arguments

Open bjorand opened this issue 7 years ago • 2 comments

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

bjorand avatar Jul 04 '17 15:07 bjorand

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>

shirou avatar Jul 05 '17 12:07 shirou

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.

liqisa avatar Mar 01 '21 09:03 liqisa