1
0
mirror of https://github.com/divan/expvarmon.git synced 2025-04-25 13:48:54 +08:00

Fix max bug

This commit is contained in:
Ivan Daniluk 2016-11-13 21:29:14 +01:00
parent 2b46055e00
commit 66d5746c6f
3 changed files with 11 additions and 12 deletions

17
stat.go
View File

@ -3,25 +3,24 @@ package main
// Stat holds basic statistics data for
// integer data used for sparklines.
type Stat struct {
max IntVar
// TODO: implement running median
max int
maxStr string
}
// NewStat inits new Stat object.
func NewStat() *Stat {
return &Stat{
max: &Number{},
}
return &Stat{}
}
// Update updates stats on each push.
func (s *Stat) Update(v IntVar) {
if v.Value() > s.max.Value() {
s.max = v
if v.Value() > s.max {
s.max = v.Value()
s.maxStr = v.String()
}
}
// Max returns maximum recorded value.
func (s *Stat) Max() IntVar {
return s.max
func (s *Stat) Max() string {
return s.maxStr
}

View File

@ -118,7 +118,7 @@ func (t *TermUI) Update(data UIData) {
if ok {
data.SparklineData[i].Stacks[name].Push(v)
data.SparklineData[i].Stats[name].Update(v)
max := data.SparklineData[i].Stats[name].Max().String()
max := data.SparklineData[i].Stats[name].Max()
t.Sparkline1.Lines[i].Title = fmt.Sprintf("%s (max: %s)", service.Name, max)
t.Sparkline1.Lines[i].Data = data.SparklineData[i].Stacks[name].Values()
@ -133,7 +133,7 @@ func (t *TermUI) Update(data UIData) {
if ok {
data.SparklineData[i].Stacks[name].Push(v)
data.SparklineData[i].Stats[name].Update(v)
max := data.SparklineData[i].Stats[name].Max().String()
max := data.SparklineData[i].Stats[name].Max()
t.Sparkline2.Lines[i].Title = fmt.Sprintf("%s (max: %s)", service.Name, max)
t.Sparkline2.Lines[i].Data = data.SparklineData[i].Stacks[name].Values()

View File

@ -147,7 +147,7 @@ func (t *TermUISingle) Update(data UIData) {
spl := &t.Sparkline.Lines[i]
max := data.SparklineData[0].Stats[name].Max().String()
max := data.SparklineData[0].Stats[name].Max()
spl.Title = fmt.Sprintf("%s: %v (max: %v)", name.Long(), service.Value(name), max)
spl.TitleColor = colorByKind(name.Kind())
spl.LineColor = colorByKind(name.Kind())