mirror of
https://github.com/bcicen/ctop.git
synced 2024-08-30 18:23:19 +00:00
refactor hist to remove maxlen
This commit is contained in:
parent
3a0df1c490
commit
e22426b885
@ -1,28 +1,19 @@
|
|||||||
package widgets
|
package widgets
|
||||||
|
|
||||||
type Hist struct {
|
type IntHist struct {
|
||||||
maxLen int
|
data []int
|
||||||
labels []string
|
labels []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewHist(max int) Hist {
|
func NewIntHist(max int) IntHist {
|
||||||
return Hist{
|
return IntHist{
|
||||||
maxLen: max,
|
data: make([]int, max),
|
||||||
labels: make([]string, max),
|
labels: make([]string, max),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type IntHist struct {
|
|
||||||
Hist
|
|
||||||
data []int
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewIntHist(max int) IntHist {
|
|
||||||
return IntHist{NewHist(max), make([]int, max)}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (h IntHist) Append(val int) {
|
func (h IntHist) Append(val int) {
|
||||||
if len(h.data) >= h.maxLen {
|
if len(h.data) == cap(h.data) {
|
||||||
h.data = append(h.data[:0], h.data[1:]...)
|
h.data = append(h.data[:0], h.data[1:]...)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -30,30 +21,31 @@ func (h IntHist) Append(val int) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type FloatHist struct {
|
type FloatHist struct {
|
||||||
Hist
|
data []float64
|
||||||
data []float64
|
labels []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewFloatHist(max int) FloatHist {
|
func NewFloatHist(max int) FloatHist {
|
||||||
return FloatHist{NewHist(max), make([]float64, max)}
|
return FloatHist{
|
||||||
|
data: make([]float64, max),
|
||||||
|
labels: make([]string, max),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h FloatHist) Append(val float64) {
|
func (h FloatHist) Append(val float64) {
|
||||||
if len(h.data) >= h.maxLen {
|
if len(h.data) == cap(h.data) {
|
||||||
h.data = append(h.data[:0], h.data[1:]...)
|
h.data = append(h.data[:0], h.data[1:]...)
|
||||||
}
|
}
|
||||||
h.data = append(h.data, val)
|
h.data = append(h.data, val)
|
||||||
}
|
}
|
||||||
|
|
||||||
type DiffHist struct {
|
type DiffHist struct {
|
||||||
Hist
|
|
||||||
data []int
|
data []int
|
||||||
srcData []int
|
srcData []int
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDiffHist(max int) DiffHist {
|
func NewDiffHist(max int) DiffHist {
|
||||||
return DiffHist{
|
return DiffHist{
|
||||||
NewHist(max),
|
|
||||||
make([]int, max),
|
make([]int, max),
|
||||||
make([]int, max),
|
make([]int, max),
|
||||||
}
|
}
|
||||||
@ -65,10 +57,10 @@ func (h DiffHist) Last() int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (h DiffHist) Append(val int) {
|
func (h DiffHist) Append(val int) {
|
||||||
if len(h.data) >= h.maxLen {
|
if len(h.data) == cap(h.data) {
|
||||||
h.data = append(h.data[:0], h.data[1:]...)
|
h.data = append(h.data[:0], h.data[1:]...)
|
||||||
}
|
}
|
||||||
if len(h.srcData) >= h.maxLen {
|
if len(h.srcData) == cap(h.srcData) {
|
||||||
h.srcData = append(h.srcData[:0], h.srcData[1:]...)
|
h.srcData = append(h.srcData[:0], h.srcData[1:]...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user