Format cpu names based on cpu count

This commit is contained in:
Caleb Bassi 2018-12-01 21:00:17 -08:00
parent 357050207e
commit 1b8c3ed918

View File

@ -15,16 +15,22 @@ type CPU struct {
Average bool // show average load
PerCPU bool // show per-core load
interval time.Duration
formatString string
}
func NewCPU(interval time.Duration, zoom int, average bool, percpu bool) *CPU {
count, _ := psCPU.Counts(false)
formatString := "CPU%1d"
if count > 10 {
formatString = "CPU%02d"
}
self := &CPU{
LineGraph: ui.NewLineGraph(),
Count: count,
interval: interval,
Average: average,
PerCPU: percpu,
formatString: formatString,
}
self.Label = "CPU Usage"
self.Zoom = zoom
@ -43,7 +49,7 @@ func NewCPU(interval time.Duration, zoom int, average bool, percpu bool) *CPU {
if self.PerCPU {
for i := 0; i < self.Count; i++ {
k := fmt.Sprintf("CPU%02d", i)
k := fmt.Sprintf(formatString, i)
self.Data[k] = []float64{0}
}
}
@ -85,7 +91,7 @@ func (self *CPU) update() {
))
}
for i := 0; i < self.Count; i++ {
k := fmt.Sprintf("CPU%02d", i)
k := fmt.Sprintf(self.formatString, i)
self.Data[k] = append(self.Data[k], percents[i])
self.Labels[k] = fmt.Sprintf("%3.0f%%", percents[i])
}