From 756e91c8f55c589c277c57041e4a7a504168e346 Mon Sep 17 00:00:00 2001 From: shirou Date: Sun, 31 Dec 2017 17:15:45 +0900 Subject: [PATCH] [disk]linux: use basename such as sda1 for IOCounters --- disk/disk_linux.go | 6 ++++++ disk/disk_test.go | 3 +++ 2 files changed, 9 insertions(+) diff --git a/disk/disk_linux.go b/disk/disk_linux.go index f31c391..8617288 100644 --- a/disk/disk_linux.go +++ b/disk/disk_linux.go @@ -5,6 +5,7 @@ package disk import ( "fmt" "os/exec" + "path/filepath" "strconv" "strings" @@ -280,6 +281,11 @@ func IOCounters(names ...string) (map[string]IOCountersStat, error) { ret := make(map[string]IOCountersStat, 0) empty := IOCountersStat{} + // use only basename such as "/dev/sda1" to "sda1" + for i, name := range names { + names[i] = filepath.Base(name) + } + for _, line := range lines { fields := strings.Fields(line) if len(fields) < 14 { diff --git a/disk/disk_test.go b/disk/disk_test.go index 436b8a5..269ca6c 100644 --- a/disk/disk_test.go +++ b/disk/disk_test.go @@ -25,6 +25,8 @@ func TestDisk_partitions(t *testing.T) { if err != nil || len(ret) == 0 { t.Errorf("error %v", err) } + t.Log(ret) + empty := PartitionStat{} if len(ret) == 0 { t.Errorf("ret is empty") @@ -46,6 +48,7 @@ func TestDisk_io_counters(t *testing.T) { } empty := IOCountersStat{} for part, io := range ret { + t.Log(part, io) if io == empty { t.Errorf("io_counter error %v, %v", part, io) }