From 18ab22b6fc5eaae24d9b6ee3edd76332488e803b Mon Sep 17 00:00:00 2001 From: Shirou WAKAYAMA Date: Fri, 13 Feb 2015 14:55:42 +0900 Subject: [PATCH] cpu: should be divided by CPU_TICK --- cpu/cpu_linux.go | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/cpu/cpu_linux.go b/cpu/cpu_linux.go index d3a77b5..aa1dd90 100644 --- a/cpu/cpu_linux.go +++ b/cpu/cpu_linux.go @@ -154,16 +154,18 @@ func parseStatLine(line string) (*CPUTimesStat, error) { if err != nil { return nil, err } + + cpu_tick := float32(100) // TODO: how to get _SC_CLK_TCK ? ct := &CPUTimesStat{ CPU: cpu, - User: float32(user), - Nice: float32(nice), - System: float32(system), - Idle: float32(idle), - Iowait: float32(iowait), - Irq: float32(irq), - Softirq: float32(softirq), - Stolen: float32(stolen), + User: float32(user) / cpu_tick, + Nice: float32(nice) / cpu_tick, + System: float32(system) / cpu_tick, + Idle: float32(idle) / cpu_tick, + Iowait: float32(iowait) / cpu_tick, + Irq: float32(irq) / cpu_tick, + Softirq: float32(softirq) / cpu_tick, + Stolen: float32(stolen) / cpu_tick, } if len(fields) > 9 { // Linux >= 2.6.11 steal, err := strconv.ParseFloat(fields[9], 32)