From 003dc7956765712fdf4a893c2d541af2e2d0f300 Mon Sep 17 00:00:00 2001
From: jingrui <jingrui@huawei.com>
Date: Sat, 22 Dec 2018 15:44:50 +0800
Subject: [PATCH 02/27] sys:  sys: count steal time when calculating
 SystemCPUUsage

reason: count steal time when calculating SystemCPUUsage

cherry-pick from containerd-0.2.8

13f22eecd33d30520ace277822ac5f0acb387e75

containerd: count steal time when calculating SystemCPUUsage

[Changelog]: when counting docker stat in virtual machines, now containerd do not count steal time when calculating SystemCPUUsage, which causes that cpuusage value larger than its actua$
[Author]git

Change-Id: I2b62c9508cbdc444d514116f4bea5aad3d292af5
Signed-off-by: jingrui <jingrui@huawei.com>
---
 sys/proc.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys/proc.go b/sys/proc.go
index 496eb1f..82a6351 100644
--- a/sys/proc.go
+++ b/sys/proc.go
@@ -61,11 +61,11 @@ func GetSystemCPUUsage() (uint64, error) {
 		parts := strings.Fields(line)
 		switch parts[0] {
 		case "cpu":
-			if len(parts) < 8 {
+			if len(parts) < 9 {
 				return 0, fmt.Errorf("bad format of cpu stats")
 			}
 			var totalClockTicks uint64
-			for _, i := range parts[1:8] {
+			for _, i := range parts[1:9] {
 				v, err := strconv.ParseUint(i, 10, 64)
 				if err != nil {
 					return 0, fmt.Errorf("error parsing cpu stats")
-- 
2.7.4.3

