@@ -37,6 +37,7 @@ type DiskStatus struct {
37
37
38
38
type CpuStatus struct {
39
39
UsedPercentage float64 `json:"usedPercentage"`
40
+ Cores int `json:"cores"`
40
41
}
41
42
42
43
type MemoryStatus struct {
@@ -63,11 +64,6 @@ func getPath() string {
63
64
return "/"
64
65
}
65
66
66
- func getNodeId (cli * client.Client ) string {
67
- resp , _ := cli .Info (context .Background ())
68
- return resp .Swarm .NodeID
69
- }
70
-
71
67
func DiskUsage () (ds DiskStatus ) {
72
68
diskStat , err := disk .Usage (getPath ())
73
69
if err != nil {
@@ -81,7 +77,7 @@ func DiskUsage() (ds DiskStatus) {
81
77
return
82
78
}
83
79
84
- func CpuUsage () (cs CpuStatus ) {
80
+ func CpuUsage (cpuCores int ) (cs CpuStatus ) {
85
81
percentage , err := cpu .Percent (0 , true )
86
82
if err != nil {
87
83
return
@@ -94,6 +90,7 @@ func CpuUsage() (cs CpuStatus) {
94
90
95
91
cpuPercentage = cpuPercentAll / (float64 (len (percentage )))
96
92
cs .UsedPercentage = cpuPercentage
93
+ cs .Cores = cpuCores
97
94
return
98
95
}
99
96
@@ -180,12 +177,13 @@ func ContainerUsage(cli *client.Client, id string) (status ContainerStatus) {
180
177
func HandleStats (cli * client.Client ) {
181
178
for {
182
179
<- time .After (time .Duration (arg .StatsFrequency ) * time .Second )
180
+ resp , _ := cli .Info (context .Background ())
183
181
182
+ var id = resp .Swarm .NodeID
184
183
var memory = MemoryUsage ()
185
184
var disk = DiskUsage ()
186
- var cpu = CpuUsage ()
185
+ var cpu = CpuUsage (resp . NCPU )
187
186
var tasks = ContainersUsage (cli )
188
- var id = getNodeId (cli )
189
187
190
188
status := Status {Id : id , Disk : disk , Cpu : cpu , Memory : memory , Tasks : tasks }
191
189
swarmpit .SendEvent (swarmpit .STATS , status )
0 commit comments