ctop/widgets/util.go
2017-01-11 17:51:23 -05:00

46 lines
698 B
Go

package widgets
import (
"fmt"
"strconv"
ui "github.com/gizak/termui"
)
const (
kb = 1024
mb = kb * 1024
gb = mb * 1024
)
// convenience method
func byteFormatInt(n int) string {
return byteFormat(int64(n))
}
func byteFormat(n int64) string {
if n < kb {
return fmt.Sprintf("%sB", strconv.FormatInt(n, 10))
}
if n < mb {
n = n / kb
return fmt.Sprintf("%sK", strconv.FormatInt(n, 10))
}
if n < gb {
n = n / mb
return fmt.Sprintf("%sM", strconv.FormatInt(n, 10))
}
n = n / gb
return fmt.Sprintf("%sG", strconv.FormatInt(n, 10))
}
func colorScale(n int) ui.Attribute {
if n > 70 {
return ui.ColorRed
}
if n > 30 {
return ui.ColorYellow
}
return ui.ColorGreen
}