From 40f6755c6b86cc3b2bc9a8363f26abdda44484d0 Mon Sep 17 00:00:00 2001 From: cgeoffroy Date: Thu, 12 Nov 2015 13:53:18 +0100 Subject: [PATCH] docker: fix static /sys paths by using env variables --- docker/docker_linux.go | 12 ++++++------ docker/docker_notlinux.go | 5 +++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docker/docker_linux.go b/docker/docker_linux.go index bc2fd6e..9e7ca59 100644 --- a/docker/docker_linux.go +++ b/docker/docker_linux.go @@ -45,12 +45,12 @@ func GetDockerIDList() ([]string, error) { // containerid = docker-.scope and base=/sys/fs/cgroup/cpuacct/system.slice/ func CgroupCPU(containerid string, base string) (*cpu.CPUTimesStat, error) { if len(base) == 0 { - base = "/sys/fs/cgroup/cpuacct/docker" + base = common.HostSys("fs/cgroup/cpuacct/docker") } statfile := path.Join(base, containerid, "cpuacct.stat") if _, err := os.Stat(statfile); os.IsNotExist(err) { - statfile = path.Join("/sys/fs/cgroup/cpuacct/system.slice", "docker-"+containerid+".scope", "cpuacct.stat") + statfile = path.Join(common.HostSys("fs/cgroup/cpuacct/system.slice"), "docker-"+containerid+".scope", "cpuacct.stat") } lines, err := common.ReadLines(statfile) @@ -82,17 +82,17 @@ func CgroupCPU(containerid string, base string) (*cpu.CPUTimesStat, error) { } func CgroupCPUDocker(containerid string) (*cpu.CPUTimesStat, error) { - return CgroupCPU(containerid, "/sys/fs/cgroup/cpuacct/docker") + return CgroupCPU(containerid, common.HostSys("fs/cgroup/cpuacct/docker")) } func CgroupMem(containerid string, base string) (*CgroupMemStat, error) { if len(base) == 0 { - base = "/sys/fs/cgroup/memory/docker" + base = common.HostSys("fs/cgroup/memory/docker") } statfile := path.Join(base, containerid, "memory.stat") if _, err := os.Stat(statfile); os.IsNotExist(err) { - statfile = path.Join("/sys/fs/cgroup/memory/system.slice", "docker-"+containerid+".scope", "memory.stat") + statfile = path.Join(common.HostSys("fs/cgroup/memory/system.slice"), "docker-"+containerid+".scope", "memory.stat") } // empty containerid means all cgroup @@ -171,7 +171,7 @@ func CgroupMem(containerid string, base string) (*CgroupMemStat, error) { } func CgroupMemDocker(containerid string) (*CgroupMemStat, error) { - return CgroupMem(containerid, "/sys/fs/cgroup/memory/docker") + return CgroupMem(containerid, common.HostSys("fs/cgroup/memory/docker")) } func (m CgroupMemStat) String() string { diff --git a/docker/docker_notlinux.go b/docker/docker_notlinux.go index fb59e21..b45f96c 100644 --- a/docker/docker_notlinux.go +++ b/docker/docker_notlinux.go @@ -6,6 +6,7 @@ import ( "encoding/json" "github.com/shirou/gopsutil/cpu" + "github.com/shirou/gopsutil/internal/common" ) // GetDockerIDList returnes a list of DockerID. @@ -23,7 +24,7 @@ func CgroupCPU(containerid string, base string) (*cpu.CPUTimesStat, error) { } func CgroupCPUDocker(containerid string) (*cpu.CPUTimesStat, error) { - return CgroupCPU(containerid, "/sys/fs/cgroup/cpuacct/docker") + return CgroupCPU(containerid, common.HostSys("fs/cgroup/cpuacct/docker")) } func CgroupMem(containerid string, base string) (*CgroupMemStat, error) { @@ -31,7 +32,7 @@ func CgroupMem(containerid string, base string) (*CgroupMemStat, error) { } func CgroupMemDocker(containerid string) (*CgroupMemStat, error) { - return CgroupMem(containerid, "/sys/fs/cgroup/memory/docker") + return CgroupMem(containerid, common.HostSys("fs/cgroup/memory/docker")) } func (m CgroupMemStat) String() string {