From d6ede3560a710ac35d8decce8323c8e4aa8fd1aa Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Thu, 31 Jul 2014 15:05:35 +0300 Subject: [PATCH] more refactorings --- cmd/cgr-engine/cgr-engine.go | 2 +- engine/cdrstats.go | 2 +- engine/stats_metrics.go | 16 ++++++------- engine/stats_queue.go | 24 ++++++++++---------- engine/stats_test.go | 44 ++++++++++++++++++------------------ 5 files changed, 44 insertions(+), 44 deletions(-) diff --git a/cmd/cgr-engine/cgr-engine.go b/cmd/cgr-engine/cgr-engine.go index 5462a0b42..5dc22f7fd 100644 --- a/cmd/cgr-engine/cgr-engine.go +++ b/cmd/cgr-engine/cgr-engine.go @@ -463,7 +463,7 @@ func main() { } if cfg.CDRStatsEnabled { - cdrStats = NewStats(accountDb) + cdrStats = engine.NewStats(accountDb) server.RpcRegister(cdrStats) } diff --git a/engine/cdrstats.go b/engine/cdrstats.go index 60d2fcfeb..2b35ccdcc 100644 --- a/engine/cdrstats.go +++ b/engine/cdrstats.go @@ -49,7 +49,7 @@ type CdrStats struct { Triggers ActionTriggerPriotityList } -func (cs *CdrStats) AcceptCDR(cdr *utils.StoredCdr) bool { +func (cs *CdrStats) AcceptCdr(cdr *utils.StoredCdr) bool { if len(cs.SetupInterval) > 0 { if cdr.SetupTime.Before(cs.SetupInterval[0]) { return false diff --git a/engine/stats_metrics.go b/engine/stats_metrics.go index e3633a6c2..007543f8e 100644 --- a/engine/stats_metrics.go +++ b/engine/stats_metrics.go @@ -21,8 +21,8 @@ package engine import "time" type Metric interface { - AddCDR(*QCDR) - RemoveCDR(*QCDR) + AddCdr(*QCdr) + RemoveCdr(*QCdr) GetValue() float64 } @@ -49,14 +49,14 @@ type ASRMetric struct { total float64 } -func (asr *ASRMetric) AddCDR(cdr *QCDR) { +func (asr *ASRMetric) AddCdr(cdr *QCdr) { if !cdr.AnswerTime.IsZero() { asr.answered += 1 } asr.total += 1 } -func (asr *ASRMetric) RemoveCDR(cdr *QCDR) { +func (asr *ASRMetric) RemoveCdr(cdr *QCdr) { if !cdr.AnswerTime.IsZero() { asr.answered -= 1 } @@ -74,14 +74,14 @@ type ACDMetric struct { count float64 } -func (acd *ACDMetric) AddCDR(cdr *QCDR) { +func (acd *ACDMetric) AddCdr(cdr *QCdr) { if !cdr.AnswerTime.IsZero() { acd.sum += cdr.Usage acd.count += 1 } } -func (acd *ACDMetric) RemoveCDR(cdr *QCDR) { +func (acd *ACDMetric) RemoveCdr(cdr *QCdr) { if !cdr.AnswerTime.IsZero() { acd.sum -= cdr.Usage acd.count -= 1 @@ -99,14 +99,14 @@ type ACCMetric struct { count float64 } -func (acc *ACCMetric) AddCDR(cdr *QCDR) { +func (acc *ACCMetric) AddCdr(cdr *QCdr) { if !cdr.AnswerTime.IsZero() && cdr.Cost >= 0 { acc.sum += cdr.Cost acc.count += 1 } } -func (acc *ACCMetric) RemoveCDR(cdr *QCDR) { +func (acc *ACCMetric) RemoveCdr(cdr *QCdr) { if !cdr.AnswerTime.IsZero() && cdr.Cost >= 0 { acc.sum -= cdr.Cost acc.count -= 1 diff --git a/engine/stats_queue.go b/engine/stats_queue.go index 72b911ee5..4f900ffa2 100644 --- a/engine/stats_queue.go +++ b/engine/stats_queue.go @@ -27,14 +27,14 @@ import ( ) type StatsQueue struct { - cdrs []*QCDR + cdrs []*QCdr conf *CdrStats metrics map[string]Metric mux sync.RWMutex } // Simplified cdr structure containing only the necessary info -type QCDR struct { +type QCdr struct { SetupTime time.Time AnswerTime time.Time Usage time.Duration @@ -64,11 +64,11 @@ func (sq *StatsQueue) UpdateConf(conf *CdrStats) { func (sq *StatsQueue) AppendCDR(cdr *utils.StoredCdr) { sq.mux.Lock() defer sq.mux.Unlock() - if sq.conf.AcceptCDR(cdr) { - qcdr := sq.simplifyCDR(cdr) + if sq.conf.AcceptCdr(cdr) { + qcdr := sq.simplifyCdr(cdr) sq.cdrs = append(sq.cdrs, qcdr) sq.addToMetrics(qcdr) - sq.purgeObsoleteCDRs() + sq.purgeObsoleteCdrs() // check for trigger stats := sq.getStats() sq.conf.Triggers.Sort() @@ -94,20 +94,20 @@ func (sq *StatsQueue) AppendCDR(cdr *utils.StoredCdr) { } } -func (sq *StatsQueue) addToMetrics(cdr *QCDR) { +func (sq *StatsQueue) addToMetrics(cdr *QCdr) { for _, metric := range sq.metrics { - metric.AddCDR(cdr) + metric.AddCdr(cdr) } } -func (sq *StatsQueue) removeFromMetrics(cdr *QCDR) { +func (sq *StatsQueue) removeFromMetrics(cdr *QCdr) { for _, metric := range sq.metrics { - metric.RemoveCDR(cdr) + metric.RemoveCdr(cdr) } } -func (sq *StatsQueue) simplifyCDR(cdr *utils.StoredCdr) *QCDR { - return &QCDR{ +func (sq *StatsQueue) simplifyCdr(cdr *utils.StoredCdr) *QCdr { + return &QCdr{ SetupTime: cdr.SetupTime, AnswerTime: cdr.AnswerTime, Usage: cdr.Usage, @@ -115,7 +115,7 @@ func (sq *StatsQueue) simplifyCDR(cdr *utils.StoredCdr) *QCDR { } } -func (sq *StatsQueue) purgeObsoleteCDRs() { +func (sq *StatsQueue) purgeObsoleteCdrs() { if sq.conf.QueueLength > 0 { currentLength := len(sq.cdrs) if currentLength > sq.conf.QueueLength { diff --git a/engine/stats_test.go b/engine/stats_test.go index e28d2283f..360d19698 100644 --- a/engine/stats_test.go +++ b/engine/stats_test.go @@ -71,7 +71,7 @@ func TestStatsSimplifyCDR(t *testing.T) { Cost: 10, } sq := &StatsQueue{} - qcdr := sq.simplifyCDR(cdr) + qcdr := sq.simplifyCdr(cdr) if cdr.SetupTime != qcdr.SetupTime || cdr.AnswerTime != qcdr.AnswerTime || cdr.Usage != qcdr.Usage || @@ -80,7 +80,7 @@ func TestStatsSimplifyCDR(t *testing.T) { } } -func TestAcceptCDR(t *testing.T) { +func TestAcceptCdr(t *testing.T) { sq := NewStatsQueue(nil) cdr := &utils.StoredCdr{ TOR: "tor", @@ -100,83 +100,83 @@ func TestAcceptCDR(t *testing.T) { Cost: 10, } sq.conf = &CdrStats{} - if sq.conf.AcceptCDR(cdr) != true { + if sq.conf.AcceptCdr(cdr) != true { t.Error("Should have accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{TOR: []string{"test"}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{CdrHost: []string{"test"}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{CdrSource: []string{"test"}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{Direction: []string{"test"}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{Tenant: []string{"test"}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{Category: []string{"test"}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{Account: []string{"test"}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{Subject: []string{"test"}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{RatedAccount: []string{"test"}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{RatedSubject: []string{"test"}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{DestinationPrefix: []string{"test"}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{DestinationPrefix: []string{"test", "123"}} - if sq.conf.AcceptCDR(cdr) != true { + if sq.conf.AcceptCdr(cdr) != true { t.Error("Should have accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{SetupInterval: []time.Time{time.Date(2014, 7, 3, 13, 43, 0, 1, time.UTC)}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{SetupInterval: []time.Time{time.Date(2014, 7, 3, 13, 42, 0, 0, time.UTC), time.Date(2014, 7, 3, 13, 43, 0, 0, time.UTC)}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{SetupInterval: []time.Time{time.Date(2014, 7, 3, 13, 42, 0, 0, time.UTC)}} - if sq.conf.AcceptCDR(cdr) != true { + if sq.conf.AcceptCdr(cdr) != true { t.Error("Should have accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{SetupInterval: []time.Time{time.Date(2014, 7, 3, 13, 42, 0, 0, time.UTC), time.Date(2014, 7, 3, 13, 43, 0, 1, time.UTC)}} - if sq.conf.AcceptCDR(cdr) != true { + if sq.conf.AcceptCdr(cdr) != true { t.Error("Should have accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{UsageInterval: []time.Duration{11 * time.Second}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{UsageInterval: []time.Duration{1 * time.Second, 10 * time.Second}} - if sq.conf.AcceptCDR(cdr) == true { + if sq.conf.AcceptCdr(cdr) == true { t.Error("Should have NOT accepted thif CDR: %+v", cdr) } sq.conf = &CdrStats{UsageInterval: []time.Duration{10 * time.Second, 11 * time.Second}} - if sq.conf.AcceptCDR(cdr) != true { + if sq.conf.AcceptCdr(cdr) != true { t.Error("Should have accepted thif CDR: %+v", cdr) } }