diff --git a/config/config.go b/config/config.go index 7ee0ea1fe..989b0f655 100644 --- a/config/config.go +++ b/config/config.go @@ -591,8 +591,10 @@ func (self *CGRConfig) loadFromJsonCfg(jsnCfg *CgrJsonCfg) error { if jsnCdrstatsCfg != nil { if jsnCdrstatsCfg.Enabled != nil { self.CDRStatsEnabled = *jsnCdrstatsCfg.Enabled - if self.CDRStatsSaveInterval, err = utils.ParseDurationWithSecs(*jsnCdrstatsCfg.Save_Interval); err != nil { - return err + if jsnCdrstatsCfg.Save_Interval != nil { + if self.CDRStatsSaveInterval, err = utils.ParseDurationWithSecs(*jsnCdrstatsCfg.Save_Interval); err != nil { + return err + } } } } diff --git a/data/conf/cgrates/cgrates.json b/data/conf/cgrates/cgrates.json index d8c6fe481..9fab1711f 100644 --- a/data/conf/cgrates/cgrates.json +++ b/data/conf/cgrates/cgrates.json @@ -87,7 +87,8 @@ //"cdrstats": { -// "enabled": false, // starts the cdrstats service: + // "enabled": false, // starts the cdrstats service: + // "save_interval": "5s", //}, diff --git a/data/conf/samples/cdrstats/cdrstats.json b/data/conf/samples/cdrstats/cdrstats.json index ae313dc69..63b9b7b96 100644 --- a/data/conf/samples/cdrstats/cdrstats.json +++ b/data/conf/samples/cdrstats/cdrstats.json @@ -19,6 +19,7 @@ "enabled": true, // starts the cdrstats service: "queue_length": 5, // number of items in the stats buffer "time_window": "0", // will only keep the CDRs who's call setup time is not older than time.Now()-TimeWindow + "save_interval": "5s", }, } diff --git a/data/conf/samples/fscsv/cgrates.json b/data/conf/samples/fscsv/cgrates.json index dd3c905ba..c7c8abba9 100644 --- a/data/conf/samples/fscsv/cgrates.json +++ b/data/conf/samples/fscsv/cgrates.json @@ -23,6 +23,7 @@ "cdrstats": { "enabled": true, // starts the cdrstats service: + "save_interval": "5s" }, } diff --git a/data/conf/samples/osips_cdrs_cdrstats.cfg b/data/conf/samples/osips_cdrs_cdrstats.cfg index 3e50ba9f4..fbdeb4dba 100644 --- a/data/conf/samples/osips_cdrs_cdrstats.cfg +++ b/data/conf/samples/osips_cdrs_cdrstats.cfg @@ -27,6 +27,7 @@ enabled = true # Starts Mediator service: . enabled = true # Starts the cdrstats service: #queue_length = 50 # Number of items in the stats buffer time_window = 1h # Will only keep the CDRs who's call setup time is not older than time.Now()-TimeWindow +save_interval = 5s # metrics = ASR, ACD, ACC # Stat metric ids to build # setup_interval = # Filter on CDR SetupTime # tors = # Filter on CDR TOR fields @@ -39,7 +40,7 @@ time_window = 1h # Will only keep the CDRs who's call setup time is not olde # accounts = # Filter on CDR Account fields # subjects = # Filter on CDR Subject fields # destination_prefixes = # Filter on CDR Destination prefixes -# usage_interval = # Filter on CDR Usage +# usage_interval = # Filter on CDR Usage # mediation_run_ids = # Filter on CDR MediationRunId fields # rated_accounts = # Filter on CDR RatedAccount fields # rated_subjects = # Filter on CDR RatedSubject fields @@ -58,4 +59,3 @@ mi_addr = 172.16.254.77:8020 # Adress where to reach OpenSIPS mi_datagram modu # auth_user = cgrates # Authenticate to email server using this user # auth_passwd = CGRateS.org # Authenticate to email server with this password # from_address = cgr-mailer@localhost.localdomain # From address used when sending emails out - diff --git a/data/conf/samples/tutlocal/cgrates.json b/data/conf/samples/tutlocal/cgrates.json index eb6242fee..21b99b52a 100644 --- a/data/conf/samples/tutlocal/cgrates.json +++ b/data/conf/samples/tutlocal/cgrates.json @@ -17,6 +17,7 @@ "scheduler": { "enabled": true, // start Scheduler service: + "save_interval": "5s", }, "cdrs": { diff --git a/data/tariffplans/cdrstats/CdrStats.csv b/data/tariffplans/cdrstats/CdrStats.csv index 0b14bbeb4..f8c11a4c5 100644 --- a/data/tariffplans/cdrstats/CdrStats.csv +++ b/data/tariffplans/cdrstats/CdrStats.csv @@ -1,6 +1,6 @@ -#Id[0],QueueLength[1],TimeWindow[2],Metric[3],SetupInterval[4],TOR[5],CdrHost[6],CdrSource[7],ReqType[8],Direction[9],Tenant[10],Category[11],Account[12],Subject[13],DestinationPrefix[14],PddInterval[15],UsageInterval[16],Supplier[17],DisconnectCause[18],MediationRunIds[19],RatedAccount[20],RatedSubject[21],CostInterval[22],Triggers[23] -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,ASR,,,,,,,cgrates.org,call,,,,,,,,,,,,CDRST4_WARN_ASR -CDRST4,,,ACD,,,,,,,,,,,,,,,,,,,,CDRST4_WARN_ACD \ No newline at end of file +#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,,,,ACD,,,,,,,,,,,,,,,,,,,,CDRST3_WARN_ACD +CDRST3,,,,ACC,,,,,,,,,,,,,,,,,,,,CDRST3_WARN_ACC +CDRST4,10,0,10s,ASR,,,,,,,cgrates.org,call,,,,,,,,,,,,CDRST4_WARN_ASR +CDRST4,,,,ACD,,,,,,,,,,,,,,,,,,,,CDRST4_WARN_ACD diff --git a/data/tariffplans/prepaid1centpsec/CdrStats.csv b/data/tariffplans/prepaid1centpsec/CdrStats.csv index 8651538c5..6d365268b 100644 --- a/data/tariffplans/prepaid1centpsec/CdrStats.csv +++ b/data/tariffplans/prepaid1centpsec/CdrStats.csv @@ -1,6 +1,6 @@ -#Id[0],QueueLength[1],TimeWindow[2],Metric[3],SetupInterval[4],TOR[5],CdrHost[6],CdrSource[7],ReqType[8],Direction[9],Tenant[10],Category[11],Account[12],Subject[13],DestinationPrefix[14],PddInterval[15],UsageInterval[16],Supplier[17],DisconnectCause[18],MediationRunIds[19],RatedAccount[20],RatedSubject[21],CostInterval[22],Triggers[23] -CDRST1,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,CDRST1_WARN_ASR -CDRST1,,,ACD,,,,,,,,,,,,,,,,,,,,CDRST1_WARN_ACD -CDRST1,,,ACC,,,,,,,,,,,,,,,,,,,,CDRST1_WARN_ACC -CDRST2,10,10m,ASR,,,,,,,cgrates.org,call,,,,,,,,,,,,CDRST2_WARN_ASR -CDRST2,,,ACD,,,,,,,,,,,,,,,,,,,,CDRST2_WARN_ACD \ No newline at end of file +#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] +CDRST1,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,CDRST1_WARN_ASR +CDRST1,,,,ACD,,,,,,,,,,,,,,,,,,,,CDRST1_WARN_ACD +CDRST1,,,,ACC,,,,,,,,,,,,,,,,,,,,CDRST1_WARN_ACC +CDRST2,10,10m,10s,ASR,,,,,,,cgrates.org,call,,,,,,,,,,,,CDRST2_WARN_ASR +CDRST2,,,,ACD,,,,,,,,,,,,,,,,,,,,CDRST2_WARN_ACD diff --git a/data/tariffplans/tutorial/CdrStats.csv b/data/tariffplans/tutorial/CdrStats.csv index 11704622a..340bca3ae 100644 --- a/data/tariffplans/tutorial/CdrStats.csv +++ b/data/tariffplans/tutorial/CdrStats.csv @@ -1,24 +1,24 @@ -#Id[0],QueueLength[1],TimeWindow[2],Metric[3],SetupInterval[4],TOR[5],CdrHost[6],CdrSource[7],ReqType[8],Direction[9],Tenant[10],Category[11],Account[12],Subject[13],DestinationPrefix[14],PddInterval[15],UsageInterval[16],Supplier[17],DisconnectCause[18],MediationRunIds[19],RatedAccount[20],RatedSubject[21],CostInterval[22],Triggers[23] -CDRST1,10,0,ASR,,,,,,,cgrates.org,,,,,,,,,*default,,,,CDRST1_WARN -CDRST1,,,ACD,,,,,,,,,,,,,,,,,,,, -CDRST1,,,ACC,,,,,,,,,,,,,,,,,,,, -CDRST1,,,TCD,,,,,,,,,,,,,,,,,,,, -CDRST1,,,TCC,,,,,,,,,,,,,,,,,,,, -CDRST_1001,10,10m,ASR,,,,,,,cgrates.org,,,1001,,,,,,*default,,,,CDRST1001_WARN -CDRST_1001,,,ACD,,,,,,,,,,,,,,,,,,,, -CDRST_1001,,,ACC,,,,,,,,,,,,,,,,,,,, -CDRST_1002,10,10m,ASR,,,,,,,cgrates.org,,,1002,,,,,,*default,,,,CDRST1001_WARN -CDRST_1002,,,ACD,,,,,,,,,,,,,,,,,,,, -CDRST_1002,,,ACC,,,,,,,,,,,,,,,,,,,, -CDRST_1003,,,ASR,,,,,,,cgrates.org,,,,1003,,,,,*default,,,,CDRST3_WARN -CDRST_1003,,,ACD,,,,,,,,,,,,,,,,,,,, -STATS_SUPPL1,,,ACD,,,,,,,,,,,,,,suppl1,,,,,, -STATS_SUPPL1,,,ASR,,,,,,,,,,,,,,suppl1,,,,,, -STATS_SUPPL1,,,ACC,,,,,,,,,,,,,,suppl1,,,,,, -STATS_SUPPL1,,,TCD,,,,,,,,,,,,,,suppl1,,,,,, -STATS_SUPPL1,,,TCC,,,,,,,,,,,,,,suppl1,,,,,, -STATS_SUPPL2,,,ACD,,,,,,,,,,,,,,suppl2,,,,,, -STATS_SUPPL2,,,ASR,,,,,,,,,,,,,,suppl2,,,,,, -STATS_SUPPL2,,,ACC,,,,,,,,,,,,,,suppl2,,,,,, -STATS_SUPPL2,,,TCD,,,,,,,,,,,,,,suppl2,,,,,, -STATS_SUPPL2,,,TCC,,,,,,,,,,,,,,suppl2,,,,,, +#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] +CDRST1,10,0,10s,ASR,,,,,,,cgrates.org,,,,,,,,,*default,,,,CDRST1_WARN +CDRST1,,,,ACD,,,,,,,,,,,,,,,,,,,, +CDRST1,,,,ACC,,,,,,,,,,,,,,,,,,,, +CDRST1,,,,TCD,,,,,,,,,,,,,,,,,,,, +CDRST1,,,,TCC,,,,,,,,,,,,,,,,,,,, +CDRST_1001,10,10m,10s,ASR,,,,,,,cgrates.org,,,1001,,,,,,*default,,,,CDRST1001_WARN +CDRST_1001,,,,ACD,,,,,,,,,,,,,,,,,,,, +CDRST_1001,,,,ACC,,,,,,,,,,,,,,,,,,,, +CDRST_1002,10,10m,10s,ASR,,,,,,,cgrates.org,,,1002,,,,,,*default,,,,CDRST1001_WARN +CDRST_1002,,,,ACD,,,,,,,,,,,,,,,,,,,, +CDRST_1002,,,,ACC,,,,,,,,,,,,,,,,,,,, +CDRST_1003,,,,ASR,,,,,,,cgrates.org,,,,1003,,,,,*default,,,,CDRST3_WARN +CDRST_1003,,,,ACD,,,,,,,,,,,,,,,,,,,, +STATS_SUPPL1,,,,ACD,,,,,,,,,,,,,,suppl1,,,,,, +STATS_SUPPL1,,,,ASR,,,,,,,,,,,,,,suppl1,,,,,, +STATS_SUPPL1,,,,ACC,,,,,,,,,,,,,,suppl1,,,,,, +STATS_SUPPL1,,,,TCD,,,,,,,,,,,,,,suppl1,,,,,, +STATS_SUPPL1,,,,TCC,,,,,,,,,,,,,,suppl1,,,,,, +STATS_SUPPL2,,,,ACD,,,,,,,,,,,,,,suppl2,,,,,, +STATS_SUPPL2,,,,ASR,,,,,,,,,,,,,,suppl2,,,,,, +STATS_SUPPL2,,,,ACC,,,,,,,,,,,,,,suppl2,,,,,, +STATS_SUPPL2,,,,TCD,,,,,,,,,,,,,,suppl2,,,,,, +STATS_SUPPL2,,,,TCC,,,,,,,,,,,,,,suppl2,,,,,,