diff --git a/cmd/cgr-engine/cgr-engine.go b/cmd/cgr-engine/cgr-engine.go index a3b3f8e8f..d18d538b1 100644 --- a/cmd/cgr-engine/cgr-engine.go +++ b/cmd/cgr-engine/cgr-engine.go @@ -490,12 +490,8 @@ func main() { go stopRaterSignalHandler() stopHandled = true } - if cfg.CDRStatsEnabled { // Init it here so we make it availabe to the Apier cdrStats = engine.NewStats(ratingDb, accountDb, cfg.CDRStatsSaveInterval) - if cfg.CDRStatConfig != nil && len(cfg.CDRStatConfig.Metrics) != 0 { - cdrStats.AddQueue(engine.NewCdrStatsFromCdrStatsCfg(cfg.CDRStatConfig), nil) - } server.RpcRegister(cdrStats) server.RpcRegister(&v1.CDRStatsV1{CdrStats: cdrStats}) // Public APIs } diff --git a/data/tariffplans/cdrstats/CdrStats.csv b/data/tariffplans/cdrstats/CdrStats.csv index f8c11a4c5..1ecb74199 100644 --- a/data/tariffplans/cdrstats/CdrStats.csv +++ b/data/tariffplans/cdrstats/CdrStats.csv @@ -1,6 +1,6 @@ #Id[0],QueueLength[1],TimeWindow[2],SaveInerval[3],Metric[4],SetupInterval[5],TOR[6],CdrHost[7],CdrSource[8],ReqType[9],Direction[10],Tenant[11],Category[12],Account[13],Subject[14],DestinationPrefix[15],PddInterval[16],UsageInterval[17],Supplier[18],DisconnectCause[19],MediationRunIds[20],RatedAccount[21],RatedSubject[22],CostInterval[23],Triggers[24] -CDRST3,5,60m,10s,ASR,2014-07-29T15:00:00Z;2014-07-29T16:00:00Z,*voice,87.139.12.167,FS_JSON,rated,*out,cgrates.org,call,dan,dan,+49,,5m;10m,,,default,rif,rif,0;2,CDRST3_WARN_ASR +CDRST3,5,60m,,ASR,2014-07-29T15:00:00Z;2014-07-29T16:00:00Z,*voice,87.139.12.167,FS_JSON,rated,*out,cgrates.org,call,dan,dan,+49,,5m;10m,,,default,rif,rif,0;2,CDRST3_WARN_ASR CDRST3,,,,ACD,,,,,,,,,,,,,,,,,,,,CDRST3_WARN_ACD CDRST3,,,,ACC,,,,,,,,,,,,,,,,,,,,CDRST3_WARN_ACC -CDRST4,10,0,10s,ASR,,,,,,,cgrates.org,call,,,,,,,,,,,,CDRST4_WARN_ASR +CDRST4,10,0,,ASR,,,,,,,cgrates.org,call,,,,,,,,,,,,CDRST4_WARN_ASR CDRST4,,,,ACD,,,,,,,,,,,,,,,,,,,,CDRST4_WARN_ACD diff --git a/engine/stats.go b/engine/stats.go index cb5f84986..46e12fd23 100644 --- a/engine/stats.go +++ b/engine/stats.go @@ -69,10 +69,13 @@ func newQueueSaver(id string, saveInterval time.Duration, sq *StatsQueue, adb Ac adb: adb, } svr.save = func(svr *queueSaver) { + //Logger.Debug(fmt.Sprintf("svr.save, statsQueue: %+v", sq)) for { select { case <-svr.ticker.C: + //Logger.Debug(fmt.Sprintf("svr.ticket.C, statsQueue: %+v", sq)) if svr.sq.IsDirty() { + //Logger.Debug("svr.sq.IsDirty") svr.sq.mux.Lock() if err := svr.adb.SetCdrStatsQueue(svr.sq); err != nil { Logger.Err(fmt.Sprintf("Error saving cdr stats queue id %s: %v", id, err)) @@ -201,12 +204,6 @@ func (s *Stats) UpdateQueues(css []*CdrStats, out *int) error { oldSavers := s.queueSavers s.queues = make(map[string]*StatsQueue, len(css)) s.queueSavers = make(map[string]*queueSaver, len(css)) - if def, exists := oldQueues[utils.META_DEFAULT]; exists { - def.UpdateConf(def.conf) // for reset - s.queues[utils.META_DEFAULT] = def - s.queueSavers[utils.META_DEFAULT] = oldSavers[utils.META_DEFAULT] - delete(oldSavers, utils.META_DEFAULT) - } for _, cs := range css { var sq *StatsQueue var existing bool