diff --git a/apis/loaders_it_test.go b/apis/loaders_it_test.go index 40c5c61ad..589a6e5d7 100644 --- a/apis/loaders_it_test.go +++ b/apis/loaders_it_test.go @@ -319,13 +319,13 @@ cgrates.org,RoutePrf2,*string:~*req.Account:1002,;20,,*lc,,route1,fltr3,Account3 // Create and populate Stats.csv if err := writeFile(utils.StatsCsv, ` -#Tenant[0],Id[1],FilterIDs[2],Weights[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blocker[10],ThresholdIDs[11] -cgrates.org,TestStats,*string:~*req.Account:1001,;20,100,1s,2,*sum#~*req.Value;*average#~*req.Value,fltr1;fltr2,true,true,Th1;Th2 +#Tenant[0],ID[1],FilterIDs[2],Weights[3],QueueLength[4],TTL[5],MinItems[6],MetricIDs[7],MetricFilterIDs[8],Stored[9],Blockers[10],ThresholdIDs[11] +cgrates.org,TestStats,*string:~*req.Account:1001,;20,100,1s,2,*sum#~*req.Value;*average#~*req.Value,fltr1;fltr2,true,;true,Th1;Th2 cgrates.org,TestStats,,,,,2,*sum#~*req.Usage,,,, -cgrates.org,TestStats2,*string:~*req.Account:1002,,100,1s,2,*sum#~*req.Value;*sum#~*req.Usage;*average#~*req.Value;*average#~*req.Usage,,true,true,Th -cgrates.org,TestStats2,,;20,,,2,*sum#~*req.Cost;*average#~*req.Cost,,true,true, +cgrates.org,TestStats2,*string:~*req.Account:1002,,100,1s,2,*sum#~*req.Value;*sum#~*req.Usage;*average#~*req.Value;*average#~*req.Usage,,true,;true,Th +cgrates.org,TestStats2,,;20,,,2,*sum#~*req.Cost;*average#~*req.Cost,,true,, cgrates.org,TestStats3,,,,,,,,,, -cgrates.org,TestStats3,*string:~*req.Account:1003,;20,100,1s,2,*sum#~*req.Value;*average#~*req.Value,,true,true,Th1;Th2 +cgrates.org,TestStats3,*string:~*req.Account:1003,;20,100,1s,2,*sum#~*req.Value;*average#~*req.Value,,true,;true,Th1;Th2 `); err != nil { t.Fatal(err) } diff --git a/apis/tpes_it_test.go b/apis/tpes_it_test.go index 5fe51cd90..45a25a677 100644 --- a/apis/tpes_it_test.go +++ b/apis/tpes_it_test.go @@ -780,7 +780,9 @@ func testTPeSetStatQueueProfile(t *testing.T) { Weight: 20, }, }, - QueueLength: 14, + QueueLength: 14, + ThresholdIDs: []string{utils.MetaNone}, + Blockers: utils.Blockers{{Blocker: false}}, Metrics: []*engine.MetricWithFilters{ { MetricID: utils.MetaASR, @@ -798,7 +800,6 @@ func testTPeSetStatQueueProfile(t *testing.T) { MetricID: utils.MetaTCD, }, }, - ThresholdIDs: []string{utils.MetaNone}, }, } @@ -1137,8 +1138,8 @@ func testTPeSExportTariffPlanHalfTariffPlan(t *testing.T) { {"cgrates.org", "Account_balances", "", "", "", "CB1", "", ";30", "*concrete", "80", ";100", "*balanceLimit:-200", ";1000000000;;0.1", "", "", ""}, }, utils.StatsCsv: { - {"#Tenant", "ID", "FilterIDs", "Weights", "QueueLength", "TTL", "MinItems", "Metrics", "MetricFilterIDs", "Stored", "Blocker", "ThresholdIDs"}, - {"cgrates.org", "SQ_basic", "", ";10", "0", "", "3", "*tcd", "", "true", "true", "*none"}, + {"#Tenant", "ID", "FilterIDs", "Weights", "QueueLength", "TTL", "MinItems", "Metrics", "MetricFilterIDs", "Stored", "Blockers", "ThresholdIDs"}, + {"cgrates.org", "SQ_basic", "", ";10", "0", "", "3", "*tcd", "", "true", ";true", "*none"}, }, utils.ActionsCsv: { {"#Tenant", "ID", "FilterIDs", "Weights", "Blockers", "Schedule", "TargetType", "TargetIDs", "ActionID", "ActionFilterIDs", "ActionBlocker", "ActionTTL", "ActionType", "ActionOpts", "ActionPath", "ActionValue"}, @@ -1269,13 +1270,13 @@ func testTPeSExportTariffPlanAllTariffPlan(t *testing.T) { {"cgrates.org", "Account_simple", "", ";10", "", "VoiceBalance", "*string:~*req.Account:1001", ";12", "*abstract", "0", "", "Destination:10", "", "", "", ""}, }, utils.StatsCsv: { - {"#Tenant", "ID", "FilterIDs", "Weights", "QueueLength", "TTL", "MinItems", "Metrics", "MetricFilterIDs", "Stored", "Blocker", "ThresholdIDs"}, - {"cgrates.org", "SQ_basic", "", ";10", "0", "", "3", "*tcd", "", "true", "true", "*none"}, - {"cgrates.org", "SQ_2", "", ";20", "14", "", "0", "*asr", "", "false", "false", "*none"}, - {"cgrates.org", "SQ_2", "", "", "0", "", "0", "*tcd", "", "false", "false", ""}, - {"cgrates.org", "SQ_2", "", "", "0", "", "0", "*pdd", "", "false", "false", ""}, - {"cgrates.org", "SQ_2", "", "", "0", "", "0", "*tcc", "", "false", "false", ""}, - {"cgrates.org", "SQ_2", "", "", "0", "", "0", "*tcd", "", "false", "false", ""}, + {"#Tenant", "ID", "FilterIDs", "Weights", "QueueLength", "TTL", "MinItems", "Metrics", "MetricFilterIDs", "Stored", "Blockers", "ThresholdIDs"}, + {"cgrates.org", "SQ_basic", "", ";10", "0", "", "3", "*tcd", "", "true", ";true", "*none"}, + {"cgrates.org", "SQ_2", "", ";20", "14", "", "0", "*asr", "", "false", ";false", "*none"}, + {"cgrates.org", "SQ_2", "", "", "0", "", "0", "*tcd", "", "false", "", ""}, + {"cgrates.org", "SQ_2", "", "", "0", "", "0", "*pdd", "", "false", "", ""}, + {"cgrates.org", "SQ_2", "", "", "0", "", "0", "*tcc", "", "false", "", ""}, + {"cgrates.org", "SQ_2", "", "", "0", "", "0", "*tcd", "", "false", "", ""}, }, utils.ActionsCsv: { {"#Tenant", "ID", "FilterIDs", "Weights", "Blockers", "Schedule", "TargetType", "TargetIDs", "ActionID", "ActionFilterIDs", "ActionBlocker", "ActionTTL", "ActionType", "ActionOpts", "ActionPath", "ActionValue"}, diff --git a/config/config_defaults.go b/config/config_defaults.go index 8cbc578fc..419c15193 100644 --- a/config/config_defaults.go +++ b/config/config_defaults.go @@ -1241,9 +1241,9 @@ const CGRATES_CFG_JSON = ` {"tag": "TTL", "path": "TTL", "type": "*variable", "value": "~*req.5"}, {"tag": "MinItems", "path": "MinItems", "type": "*variable", "value": "~*req.6"}, {"tag": "MetricIDs", "path": "Metrics.MetricID", "type": "*variable", "value": "~*req.7","new_branch":true}, - {"tag": "MetricFilterIDs", "path": "Metrics.FilterIDs", "type": "*variable", "value": "~*req.8"}, - {"tag": "Blocker", "path": "Blocker", "type": "*variable", "value": "~*req.9"}, - {"tag": "Stored", "path": "Stored", "type": "*variable", "value": "~*req.10"}, + {"tag": "MetricFilterIDs", "path": "Metrics.FilterIDs", "type": "*variable", "value": "~*req.8"}, + {"tag": "Stored", "path": "Stored", "type": "*variable", "value": "~*req.9"}, + {"tag": "Blockers", "path": "Blockers", "type": "*variable", "value": "~*req.10"}, {"tag": "ThresholdIDs", "path": "ThresholdIDs", "type": "*variable", "value": "~*req.11"}, ], }, diff --git a/config/config_json_test.go b/config/config_json_test.go index ac4abff7f..b3b2be813 100644 --- a/config/config_json_test.go +++ b/config/config_json_test.go @@ -1184,8 +1184,8 @@ func TestDfLoaderJsonCfg(t *testing.T) { Path: utils.StringPointer("Metrics.FilterIDs"), Type: utils.StringPointer(utils.MetaVariable), Value: utils.StringPointer("~*req.8")}, - {Tag: utils.StringPointer("Blocker"), - Path: utils.StringPointer("Blocker"), + {Tag: utils.StringPointer("Blockers"), + Path: utils.StringPointer("Blockers"), Type: utils.StringPointer(utils.MetaVariable), Value: utils.StringPointer("~*req.9")}, {Tag: utils.StringPointer("Stored"), diff --git a/config/config_test.go b/config/config_test.go index 0664250e4..0e97861fc 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -2736,8 +2736,8 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, - {Tag: "Blocker", - Path: "Blocker", + {Tag: "Blockers", + Path: "Blockers", Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, diff --git a/config/loaderscfg_test.go b/config/loaderscfg_test.go index 0f604cc35..f63793b24 100644 --- a/config/loaderscfg_test.go +++ b/config/loaderscfg_test.go @@ -243,8 +243,8 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, - {Tag: "Blocker", - Path: "Blocker", + {Tag: "Blockers", + Path: "Blockers", Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, @@ -918,18 +918,6 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { } } -// func TestLoaderSCfgloadFromJsonCfgCase2(t *testing.T) { -// cfgJSON := &LoaderJsonCfg{ -// Tenant: utils.StringPointer("a{*"), -// } -// expected := "invalid converter terminator in rule: " -// jsonCfg := NewDefaultCGRConfig() -// if err = jsonCfg.loaderCfg[0].loadFromJSONCfg(nil, jsonCfg.templates, jsonCfg.generalCfg.RSRSep); err != nil { -// t.Error(err) -// } else if err = jsonCfg.loaderCfg[0].loadFromJSONCfg(cfgJSON, jsonCfg.templates, jsonCfg.generalCfg.RSRSep); err == nil || err.Error() != expected { -// t.Errorf("Expected %+v, received %+v", expected, err) -// } -// } func TestLoaderDataTypeLoadFromJSONNil(t *testing.T) { lData := &LoaderDataType{ Type: "*attributes", @@ -1334,8 +1322,8 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { utils.ValueCfg: "~*req.8", }, { - utils.TagCfg: "Blocker", - utils.PathCfg: "Blocker", + utils.TagCfg: "Blockers", + utils.PathCfg: "Blockers", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.9", }, diff --git a/data/storage/docker_mysql/scripts/create_tariffplan_tables.sql b/data/storage/docker_mysql/scripts/create_tariffplan_tables.sql index 0652eed17..5cf18155d 100644 --- a/data/storage/docker_mysql/scripts/create_tariffplan_tables.sql +++ b/data/storage/docker_mysql/scripts/create_tariffplan_tables.sql @@ -42,8 +42,8 @@ CREATE TABLE tp_stats ( `metric_ids` varchar(128) NOT NULL, `metric_filter_ids` varchar(64) NOT NULL, `stored` BOOLEAN NOT NULL, - `blocker` BOOLEAN NOT NULL, `weights` varchar(64) NOT NULL, + `blockers` VARCHAR(128) NOT NULL, `threshold_ids` varchar(64) NOT NULL, `created_at` TIMESTAMP, PRIMARY KEY (`pk`), diff --git a/data/storage/mysql/create_tariffplan_tables.sql b/data/storage/mysql/create_tariffplan_tables.sql index 65988601a..1618443fb 100644 --- a/data/storage/mysql/create_tariffplan_tables.sql +++ b/data/storage/mysql/create_tariffplan_tables.sql @@ -35,15 +35,14 @@ CREATE TABLE tp_stats ( `tenant` varchar(64) NOT NULL, `id` varchar(64) NOT NULL, `filter_ids` varchar(64) NOT NULL, - `activation_interval` varchar(64) NOT NULL, `queue_length` int(11) NOT NULL, `ttl` varchar(32) NOT NULL, `min_items` int(11) NOT NULL, `metric_ids` varchar(128) NOT NULL, `metric_filter_ids` varchar(64) NOT NULL, `stored` BOOLEAN NOT NULL, - `blocker` BOOLEAN NOT NULL, `weights` varchar(128) NOT NULL, + `blockers` VARCHAR(128) NOT NULL, `threshold_ids` varchar(64) NOT NULL, `created_at` TIMESTAMP, PRIMARY KEY (`pk`), diff --git a/data/storage/postgres/create_tariffplan_tables.sql b/data/storage/postgres/create_tariffplan_tables.sql index f6fa86df2..14fcd240a 100644 --- a/data/storage/postgres/create_tariffplan_tables.sql +++ b/data/storage/postgres/create_tariffplan_tables.sql @@ -41,9 +41,9 @@ CREATE TABLE tp_stats ( "min_items" INTEGER NOT NULL, "metric_ids" VARCHAR(128) NOT NULL, "metric_filter_ids" VARCHAR(128) NOT NULL, - "stored" BOOLEAN NOT NULL, - "blocker" BOOLEAN NOT NULL, + "stored" BOOLEAN NOT NULL, "weights" VARCHAR(128) NOT NULL, + "blockers" VARCHAR(128) NOT NULL, "threshold_ids" varchar(64) NOT NULL, "created_at" TIMESTAMP WITH TIME ZONE ); diff --git a/data/tariffplans/loadRateTest/Stats.csv b/data/tariffplans/loadRateTest/Stats.csv index 4451ab7a6..b7eaaffbb 100644 --- a/data/tariffplans/loadRateTest/Stats.csv +++ b/data/tariffplans/loadRateTest/Stats.csv @@ -1,8 +1,8 @@ -#Tenant[0],Id[1],FilterIDs[2],Weight[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blocker[10],ThresholdIDs[11] -cgrates.org,Stat_1,FLTR_STAT_1,;30,100,10s,0,*acd;*tcd;*asr,,false,true,*none -cgrates.org,Stat_1_1,FLTR_STAT_1_1,;30,100,1s,0,*acd;*tcd;*pdd,,false,true,*none -cgrates.org,Stat_2,FLTR_STAT_2,;30,100,1s,0,*acd;*tcd;*asr,,false,true,*none -cgrates.org,Stat_3,FLTR_STAT_3,;30,100,1s,0,*acd;*tcd;*asr,,false,true,*none -cgrates.org,Stat_Supplier1,*string:~*req.StatID:Stat_Supplier1,;30,100,1s,0,*sum#~*req.LoadReq,,true,true,*none -cgrates.org,Stat_Supplier2,*string:~*req.StatID:Stat_Supplier2,;30,100,1s,0,*sum#~*req.LoadReq,,true,true,*none -cgrates.org,Stat_Supplier3,*string:~*req.StatID:Stat_Supplier3,;30,100,1s,0,*sum#~*req.LoadReq,,true,true,*none +#Tenant[0],Id[1],FilterIDs[2],Weight[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blockers[10],ThresholdIDs[11] +cgrates.org,Stat_1,FLTR_STAT_1,;30,100,10s,0,*acd;*tcd;*asr,,false,;true,*none +cgrates.org,Stat_1_1,FLTR_STAT_1_1,;30,100,1s,0,*acd;*tcd;*pdd,,false,;true,*none +cgrates.org,Stat_2,FLTR_STAT_2,;30,100,1s,0,*acd;*tcd;*asr,,false,;true,*none +cgrates.org,Stat_3,FLTR_STAT_3,;30,100,1s,0,*acd;*tcd;*asr,,false,;true,*none +cgrates.org,Stat_Supplier1,*string:~*req.StatID:Stat_Supplier1,;30,100,1s,0,*sum#~*req.LoadReq,,true,;true,*none +cgrates.org,Stat_Supplier2,*string:~*req.StatID:Stat_Supplier2,;30,100,1s,0,*sum#~*req.LoadReq,,true,;true,*none +cgrates.org,Stat_Supplier3,*string:~*req.StatID:Stat_Supplier3,;30,100,1s,0,*sum#~*req.LoadReq,,true,;true,*none diff --git a/data/tariffplans/oldtutorial/Stats.csv b/data/tariffplans/oldtutorial/Stats.csv index 1e8b23079..fd441aab0 100644 --- a/data/tariffplans/oldtutorial/Stats.csv +++ b/data/tariffplans/oldtutorial/Stats.csv @@ -1,4 +1,4 @@ -#Tenant[0],Id[1],FilterIDs[2],Weights[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blocker[10],ThresholdIDs[11] -cgrates.org,Stats1,FLTR_STS1,;20,100,3s,2,*asr;*acc;*tcc;*acd;*tcd,,true,false,*none +#Tenant[0],Id[1],FilterIDs[2],Weights[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blockers[10],ThresholdIDs[11] +cgrates.org,Stats1,FLTR_STS1,;20,100,3s,2,*asr;*acc;*tcc;*acd;*tcd,,true,;false,*none cgrates.org,Stats1,,,,,,*sum#~*req.Usage;*average#~*req.Usage,,,, cgrates.org,Stats1,,,,,,*pdd,*exists:~*req.PDD:,,, \ No newline at end of file diff --git a/data/tariffplans/precache/Stats.csv b/data/tariffplans/precache/Stats.csv index fc70fd6ff..9703b7e81 100644 --- a/data/tariffplans/precache/Stats.csv +++ b/data/tariffplans/precache/Stats.csv @@ -1,4 +1,4 @@ #Tenant[0],Id[1],FilterIDs[2],Weights[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blocker[10],ThresholdIDs[11] -cgrates.org,Stats1,FLTR_STS1,;20,100,1s,2,*asr;*acc;*tcc;*acd;*tcd,,true,false,*none +cgrates.org,Stats1,FLTR_STS1,;20,100,1s,2,*asr;*acc;*tcc;*acd;*tcd,,true,;false,*none cgrates.org,Stats1,,,,,,*sum#~*req.Usage;*average#~*req.Usage,,,, cgrates.org,Stats1,,,,,,*pdd,*exists:~PDD:,,, \ No newline at end of file diff --git a/data/tariffplans/testit/Stats.csv b/data/tariffplans/testit/Stats.csv index 1ad3845d8..b8a9f6e94 100644 --- a/data/tariffplans/testit/Stats.csv +++ b/data/tariffplans/testit/Stats.csv @@ -1,8 +1,8 @@ -#Tenant[0],Id[1],FilterIDs[2],Weights[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blocker[10],ThresholdIDs[11] -cgrates.org,Stat_1,FLTR_STAT_1,;30,100,10s,0,*acd;*tcd;*asr,,false,true,*none -cgrates.org,Stat_1_1,FLTR_STAT_1_1,;30,100,1s,0,*acd;*tcd;*pdd,,false,true,*none -cgrates.org,Stat_2,FLTR_STAT_2,;30,100,1s,0,*acd;*tcd;*asr,,false,true,*none -cgrates.org,Stat_3,FLTR_STAT_3,;30,100,1s,0,*acd;*tcd;*asr,,false,true,*none -cgrates.org,Stat_Supplier1,*string:~*req.StatID:Stat_Supplier1,;30,100,1s,0,*sum#~*req.LoadReq,,true,true,*none -cgrates.org,Stat_Supplier2,*string:~*req.StatID:Stat_Supplier2,;30,100,1s,0,*sum#~*req.LoadReq,,true,true,*none -cgrates.org,Stat_Supplier3,*string:~*req.StatID:Stat_Supplier3,;30,100,1s,0,*sum#~*req.LoadReq,,true,true,*none +#Tenant[0],Id[1],FilterIDs[2],Weights[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blockers[10],ThresholdIDs[11] +cgrates.org,Stat_1,FLTR_STAT_1,;30,100,10s,0,*acd;*tcd;*asr,,false,;true,*none +cgrates.org,Stat_1_1,FLTR_STAT_1_1,;30,100,1s,0,*acd;*tcd;*pdd,,false,;true,*none +cgrates.org,Stat_2,FLTR_STAT_2,;30,100,1s,0,*acd;*tcd;*asr,,false,;true,*none +cgrates.org,Stat_3,FLTR_STAT_3,;30,100,1s,0,*acd;*tcd;*asr,,false,;true,*none +cgrates.org,Stat_Supplier1,*string:~*req.StatID:Stat_Supplier1,;30,100,1s,0,*sum#~*req.LoadReq,,true,;true,*none +cgrates.org,Stat_Supplier2,*string:~*req.StatID:Stat_Supplier2,;30,100,1s,0,*sum#~*req.LoadReq,,true,;true,*none +cgrates.org,Stat_Supplier3,*string:~*req.StatID:Stat_Supplier3,;30,100,1s,0,*sum#~*req.LoadReq,,true,;true,*none diff --git a/data/tariffplans/testtp/Stats.csv b/data/tariffplans/testtp/Stats.csv index 27e89a175..6306a5e3c 100755 --- a/data/tariffplans/testtp/Stats.csv +++ b/data/tariffplans/testtp/Stats.csv @@ -1,3 +1,3 @@ -#Tenant[0],Id[1],FilterIDs[2],Weights[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blocker[10],ThresholdIDs[11] -cgrates.org,Stats1,FLTR_STS1,;20,100,1s,2,*asr;*acc;*tcc;*acd;*tcd;*pdd,,true,true,THRESH1;THRESH2 -cgrates.org,Stats1,FLTR_STS1,;20,100,1s,2,*sum#~*req.Value;*average#~*req.Value,,true,true,THRESH1;THRESH2 +#Tenant[0],Id[1],FilterIDs[2],Weights[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blockers[10],ThresholdIDs[11] +cgrates.org,Stats1,FLTR_STS1,;20,100,1s,2,*asr;*acc;*tcc;*acd;*tcd;*pdd,,true,;true,THRESH1;THRESH2 +cgrates.org,Stats1,FLTR_STS1,;20,100,1s,2,*sum#~*req.Value;*average#~*req.Value,,true,;true,THRESH1;THRESH2 diff --git a/data/tariffplans/tutorial/Stats.csv b/data/tariffplans/tutorial/Stats.csv index 369187fb4..a5c9f13a0 100644 --- a/data/tariffplans/tutorial/Stats.csv +++ b/data/tariffplans/tutorial/Stats.csv @@ -1,3 +1,3 @@ -#Tenant[0],Id[1],FilterIDs[2],Weights[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blocker[10],ThresholdIDs[11] -cgrates.org,Stats2,FLTR_ACNT_1001_1002,;30,100,-1,0,*tcc;*tcd,,false,true,*none -cgrates.org,Stats2_1,FLTR_ACNT_1003_1001,;30,100,-1,0,*tcc;*tcd,,false,true,*none +#Tenant[0],Id[1],FilterIDs[2],Weights[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blockers[10],ThresholdIDs[11] +cgrates.org,Stats2,FLTR_ACNT_1001_1002,;30,100,-1,0,*tcc;*tcd,,false,;true,*none +cgrates.org,Stats2_1,FLTR_ACNT_1003_1001,;30,100,-1,0,*tcc;*tcd,,false,;true,*none diff --git a/data/tariffplans/tutroutes/Stats.csv b/data/tariffplans/tutroutes/Stats.csv index 46c5bf38f..5f0117b46 100644 --- a/data/tariffplans/tutroutes/Stats.csv +++ b/data/tariffplans/tutroutes/Stats.csv @@ -1,4 +1,4 @@ -#Tenant[0],Id[1],FilterIDs[2],Weights[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blocker[10],ThresholdIDs[12] +#Tenant[0],Id[1],FilterIDs[2],Weights[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blockers[10],ThresholdIDs[12] cgrates.org,STATS_VENDOR_1,*string:~*req.Category:vendor1,,100,-1,,*acd;*tcd;*acc;*tcc;*sum#1,,,,*none cgrates.org,STATS_VENDOR_2,*string:~*req.Category:vendor2,,100,-1,,*acd;*tcd;*acc;*tcc;*sum#1;*distinct#~*opts.*usage,,,,*none cgrates.org,STATS_TCC1,,,100,-1,,*tcc,,,,*none diff --git a/general_tests/filters_it_test.go b/general_tests/filters_it_test.go index ed93747c5..1dda18bac 100644 --- a/general_tests/filters_it_test.go +++ b/general_tests/filters_it_test.go @@ -707,7 +707,9 @@ func testV1FltrPopulateResourcesAvailableUnits(t *testing.T) { ID: "event_nr2", Event: map[string]interface{}{ utils.AccountField: "1001", - utils.Usage: "1", + }, + APIOpts: map[string]interface{}{ + utils.MetaUsage: "1", }, } var ids []string diff --git a/tpes/tpe_stats.go b/tpes/tpe_stats.go index 57d791593..0f48082a5 100644 --- a/tpes/tpe_stats.go +++ b/tpes/tpe_stats.go @@ -45,7 +45,7 @@ func (tpSts TPStats) exportItems(ctx *context.Context, wrtr io.Writer, tnt strin csvWriter := csv.NewWriter(wrtr) csvWriter.Comma = utils.CSVSep // before writing the profiles, we must write the headers - if err = csvWriter.Write([]string{"#Tenant", "ID", "FilterIDs", "Weights", "QueueLength", "TTL", "MinItems", "Metrics", "MetricFilterIDs", "Stored", "Blocker", "ThresholdIDs"}); err != nil { + if err = csvWriter.Write([]string{"#Tenant", "ID", "FilterIDs", "Weights", "QueueLength", "TTL", "MinItems", "Metrics", "MetricFilterIDs", "Stored", "Blockers", "ThresholdIDs"}); err != nil { return } for _, statsID := range itmIDs {