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