From dd08456d13346f4e8da9e780cd1584f1cd79b0d2 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Fri, 1 Aug 2014 21:43:01 +0300 Subject: [PATCH] keep *default queue on reload and revive rounding --- engine/stats.go | 5 +++++ engine/stats_metrics.go | 12 ++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/engine/stats.go b/engine/stats.go index 2580c9b4d..5df272431 100644 --- a/engine/stats.go +++ b/engine/stats.go @@ -143,6 +143,11 @@ func (s *Stats) UpdateQueues(css []*CdrStats, out *int) error { defer s.mux.Unlock() oldQueues := s.queues s.queues = make(map[string]*StatsQueue, len(css)) + if def, exists := oldQueues[utils.META_DEFAULT]; exists { + // for reset + def.UpdateConf(def.conf) + s.queues[utils.META_DEFAULT] = def + } for _, cs := range css { var sq *StatsQueue var existing bool diff --git a/engine/stats_metrics.go b/engine/stats_metrics.go index dc0cff432..9aecc93bb 100644 --- a/engine/stats_metrics.go +++ b/engine/stats_metrics.go @@ -18,7 +18,11 @@ along with this program. If not, see package engine -import "time" +import ( + "time" + + "github.com/cgrates/cgrates/utils" +) type Metric interface { AddCdr(*QCdr) @@ -68,7 +72,7 @@ func (asr *ASRMetric) GetValue() float64 { return 0 } val := asr.answered / asr.total * 100 - return val //utils.Round(val, globalRoundingDecimals, utils.ROUNDING_MIDDLE) + return utils.Round(val, globalRoundingDecimals, utils.ROUNDING_MIDDLE) } // ACD – Average Call Duration @@ -97,7 +101,7 @@ func (acd *ACDMetric) GetValue() float64 { return 0 } val := acd.sum.Seconds() / acd.count - return val //utils.Round(val, globalRoundingDecimals, utils.ROUNDING_MIDDLE) + return utils.Round(val, globalRoundingDecimals, utils.ROUNDING_MIDDLE) } // ACC – Average Call Cost @@ -126,5 +130,5 @@ func (acc *ACCMetric) GetValue() float64 { return 0 } val := acc.sum / acc.count - return val //utils.Round(val, globalRoundingDecimals, utils.ROUNDING_MIDDLE) + return utils.Round(val, globalRoundingDecimals, utils.ROUNDING_MIDDLE) }