fix counter type compute func
This commit is contained in:
parent
3d8d6c6886
commit
bf2a4b9ef5
|
@ -56,7 +56,7 @@ func (h *History) clean() {
|
|||
defer h.Unlock()
|
||||
now := time.Now().Unix()
|
||||
for key, item := range h.Data {
|
||||
if now-item.Timestamp > 2*item.Step {
|
||||
if now-item.Timestamp > 10*item.Step {
|
||||
delete(h.Data, key)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -96,17 +96,23 @@ func Push(metricItems []*dataobj.MetricValue) error {
|
|||
|
||||
func CounterToGauge(item *dataobj.MetricValue) error {
|
||||
key := item.PK()
|
||||
|
||||
old, exists := cache.MetricHistory.Get(key)
|
||||
if !exists {
|
||||
cache.MetricHistory.Set(key, *item)
|
||||
|
||||
if !exists {
|
||||
return fmt.Errorf("not found old item:%v", item)
|
||||
}
|
||||
|
||||
cache.MetricHistory.Set(key, *item)
|
||||
if old.Value > item.Value {
|
||||
return fmt.Errorf("item:%v old value:%v greater than new value:%v", item, old.Value, item.Value)
|
||||
}
|
||||
item.ValueUntyped = item.Value - old.Value
|
||||
|
||||
if old.Timestamp > item.Timestamp {
|
||||
return fmt.Errorf("item:%v old timestamp:%v greater than new timestamp:%v", item, old.Timestamp, item.Timestamp)
|
||||
}
|
||||
|
||||
item.ValueUntyped = (item.Value - old.Value) / float64(item.Timestamp-old.Timestamp)
|
||||
item.CounterType = dataobj.GAUGE
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue