@@ -49,9 +49,10 @@ func Stats(cl *client.Client) (*map[string]*ResourceStats, error) {
4949 // create a new ResourceStats if it doesn't exist
5050 if _ , ok := statsMap [serviceName ]; ! ok {
5151 statsMap [serviceName ] = & ResourceStats {
52- CpuUsagePercent : 0 ,
53- UsedMemoryMB : 0 ,
54- NetStat : NetStat {
52+ ServiceCpuTime : 0 ,
53+ SystemCpuTime : 0 ,
54+ UsedMemoryMB : 0 ,
55+ NetStat : & NetStat {
5556 SentKB : 0 ,
5657 RecvKB : 0 ,
5758 },
@@ -72,7 +73,8 @@ func Stats(cl *client.Client) (*map[string]*ResourceStats, error) {
7273 }
7374
7475 // save the stats
75- rs .CpuUsagePercent = rs .CpuUsagePercent + calculateCPUPercentUnix (& statsJSON )
76+ rs .ServiceCpuTime = rs .ServiceCpuTime + uint64 (statsJSON .CPUStats .CPUUsage .TotalUsage - statsJSON .PreCPUStats .CPUUsage .TotalUsage )
77+ rs .SystemCpuTime = uint64 (statsJSON .CPUStats .SystemUsage - statsJSON .PreCPUStats .SystemUsage )
7678 rs .UsedMemoryMB = rs .UsedMemoryMB + memoryUsageMB (& statsJSON )
7779 rs .NetStat .SentKB = rs .NetStat .SentKB + networkSentKB (& statsJSON )
7880 rs .NetStat .RecvKB = rs .NetStat .RecvKB + networkRecvKB (& statsJSON )
@@ -106,12 +108,12 @@ func calculateNetStatDiffFromLastRecord(statsMap *map[string]*ResourceStats) {
106108 if currentSentKB < oldSentKB {
107109 statsMapRef [serviceName ].NetStat .SentKB = 0
108110 } else {
109- statsMapRef [serviceName ].NetStat .SentKB = currentSentKB - oldSentKB
111+ statsMapRef [serviceName ].NetStat .SentKB = currentSentKB - oldSentKB
110112 }
111113 if currentRecvKB < oldRecvKB {
112114 statsMapRef [serviceName ].NetStat .RecvKB = 0
113115 } else {
114- statsMapRef [serviceName ].NetStat .RecvKB = currentRecvKB - oldRecvKB
116+ statsMapRef [serviceName ].NetStat .RecvKB = currentRecvKB - oldRecvKB
115117 }
116118 serviceLastNetStats [serviceName ].SentKB = currentSentKB
117119 serviceLastNetStats [serviceName ].RecvKB = currentRecvKB
0 commit comments