mirror of
https://github.com/bcicen/ctop.git
synced 2025-12-06 15:16:41 +08:00
add diffhist struct, update expandednet widget
This commit is contained in:
@@ -44,3 +44,37 @@ func (h FloatHistData) Append(val float64) {
|
||||
}
|
||||
h.data = append(h.data, val)
|
||||
}
|
||||
|
||||
type DiffHistData struct {
|
||||
HistData
|
||||
data []int
|
||||
srcData []int
|
||||
}
|
||||
|
||||
func NewDiffHistData(max int) DiffHistData {
|
||||
return DiffHistData{
|
||||
NewHistData(max),
|
||||
make([]int, max),
|
||||
make([]int, max),
|
||||
}
|
||||
}
|
||||
|
||||
// return most recent value
|
||||
func (h DiffHistData) Last() int {
|
||||
return h.data[len(h.data)-1]
|
||||
}
|
||||
|
||||
func (h DiffHistData) Append(val int) {
|
||||
if len(h.data) >= h.maxLen {
|
||||
h.data = append(h.data[:0], h.data[1:]...)
|
||||
}
|
||||
if len(h.srcData) >= h.maxLen {
|
||||
h.srcData = append(h.srcData[:0], h.srcData[1:]...)
|
||||
}
|
||||
|
||||
diff := val - h.srcData[len(h.srcData)-1]
|
||||
if diff != val { // skip adding to data if this is the initial update
|
||||
h.data = append(h.data, diff)
|
||||
}
|
||||
h.srcData = append(h.srcData, val)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user