mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Update metric definition to include path ( *sum:~*req.Field1 )
This commit is contained in:
committed by
Dan Christian Bogos
parent
13b8c3d851
commit
2fcae9a4f5
@@ -534,7 +534,7 @@ func testV1FIdxCaSetStatQueueProfile(t *testing.T) {
|
||||
TTL: time.Duration(10) * time.Second,
|
||||
Metrics: []*engine.MetricWithFilters{
|
||||
&engine.MetricWithFilters{
|
||||
MetricID: "*sum:~Val",
|
||||
MetricID: "*sum:~*req.Val",
|
||||
},
|
||||
},
|
||||
ThresholdIDs: []string{"Val1", "Val2"},
|
||||
@@ -687,7 +687,7 @@ func testV1FIdxCaUpdateStatQueueProfile(t *testing.T) {
|
||||
TTL: time.Duration(10) * time.Second,
|
||||
Metrics: []*engine.MetricWithFilters{
|
||||
&engine.MetricWithFilters{
|
||||
MetricID: "*sum:~Val",
|
||||
MetricID: "*sum:~*req.Val",
|
||||
},
|
||||
},
|
||||
ThresholdIDs: []string{"*none"},
|
||||
|
||||
@@ -163,8 +163,8 @@ func testV1STSGetStats(t *testing.T) {
|
||||
utils.MetaTCD: utils.NOT_AVAILABLE,
|
||||
utils.MetaACC: utils.NOT_AVAILABLE,
|
||||
utils.MetaPDD: utils.NOT_AVAILABLE,
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.Usage): utils.NOT_AVAILABLE,
|
||||
utils.ConcatenatedKey(utils.MetaAverage, utils.DynamicDataPrefix+utils.Usage): utils.NOT_AVAILABLE,
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Usage): utils.NOT_AVAILABLE,
|
||||
utils.ConcatenatedKey(utils.MetaAverage, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Usage): utils.NOT_AVAILABLE,
|
||||
}
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetQueueStringMetrics,
|
||||
&utils.TenantIDWithArgDispatcher{TenantID: &utils.TenantID{Tenant: "cgrates.org", ID: expectedIDs[0]}},
|
||||
@@ -201,8 +201,8 @@ func testV1STSProcessEvent(t *testing.T) {
|
||||
utils.MetaTCD: utils.NOT_AVAILABLE,
|
||||
utils.MetaACC: utils.NOT_AVAILABLE,
|
||||
utils.MetaPDD: utils.NOT_AVAILABLE,
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.Usage): utils.NOT_AVAILABLE,
|
||||
utils.ConcatenatedKey(utils.MetaAverage, utils.DynamicDataPrefix+utils.Usage): utils.NOT_AVAILABLE,
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Usage): utils.NOT_AVAILABLE,
|
||||
utils.ConcatenatedKey(utils.MetaAverage, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Usage): utils.NOT_AVAILABLE,
|
||||
}
|
||||
var metrics map[string]string
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetQueueStringMetrics,
|
||||
@@ -220,8 +220,8 @@ func testV1STSProcessEvent(t *testing.T) {
|
||||
utils.MetaTCD: -1.0,
|
||||
utils.MetaACC: -1.0,
|
||||
utils.MetaPDD: -1.0,
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.Usage): -1.0,
|
||||
utils.ConcatenatedKey(utils.MetaAverage, utils.DynamicDataPrefix+utils.Usage): -1.0,
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Usage): -1.0,
|
||||
utils.ConcatenatedKey(utils.MetaAverage, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Usage): -1.0,
|
||||
}
|
||||
var floatMetrics map[string]float64
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetQueueFloatMetrics,
|
||||
@@ -266,8 +266,8 @@ func testV1STSProcessEvent(t *testing.T) {
|
||||
utils.MetaTCD: "3m0s",
|
||||
utils.MetaTCC: "135.1",
|
||||
utils.MetaPDD: utils.NOT_AVAILABLE,
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.Usage): "180000000000",
|
||||
utils.ConcatenatedKey(utils.MetaAverage, utils.DynamicDataPrefix+utils.Usage): "60000000000",
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Usage): "180000000000",
|
||||
utils.ConcatenatedKey(utils.MetaAverage, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Usage): "60000000000",
|
||||
}
|
||||
var metrics2 map[string]string
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetQueueStringMetrics,
|
||||
@@ -284,8 +284,8 @@ func testV1STSProcessEvent(t *testing.T) {
|
||||
utils.MetaTCD: 180,
|
||||
utils.MetaACC: 45.03333,
|
||||
utils.MetaPDD: -1.0,
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.Usage): 180000000000,
|
||||
utils.ConcatenatedKey(utils.MetaAverage, utils.DynamicDataPrefix+utils.Usage): 60000000000,
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Usage): 180000000000,
|
||||
utils.ConcatenatedKey(utils.MetaAverage, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Usage): 60000000000,
|
||||
}
|
||||
var floatMetrics2 map[string]float64
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetQueueFloatMetrics,
|
||||
@@ -320,8 +320,8 @@ func testV1STSGetStatsAfterRestart(t *testing.T) {
|
||||
utils.MetaTCD: "3m0s",
|
||||
utils.MetaTCC: "135.1",
|
||||
utils.MetaPDD: utils.NOT_AVAILABLE,
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.Usage): "180000000000",
|
||||
utils.ConcatenatedKey(utils.MetaAverage, utils.DynamicDataPrefix+utils.Usage): "60000000000",
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Usage): "180000000000",
|
||||
utils.ConcatenatedKey(utils.MetaAverage, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Usage): "60000000000",
|
||||
}
|
||||
var metrics2 map[string]string
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetQueueStringMetrics,
|
||||
@@ -491,7 +491,7 @@ func testV1STSProcessMetricsWithFilter(t *testing.T) {
|
||||
FilterIDs: []string{"*gt:~*req.Usage:5s"},
|
||||
},
|
||||
&engine.MetricWithFilters{
|
||||
MetricID: "*sum:~CustomValue",
|
||||
MetricID: "*sum:~*req.CustomValue",
|
||||
FilterIDs: []string{"*exists:~*req.CustomValue:", "*gte:~*req.CustomValue:10.0"},
|
||||
},
|
||||
},
|
||||
@@ -523,7 +523,7 @@ func testV1STSProcessMetricsWithFilter(t *testing.T) {
|
||||
expectedMetrics := map[string]string{
|
||||
utils.MetaACD: utils.NOT_AVAILABLE,
|
||||
utils.MetaTCD: utils.NOT_AVAILABLE,
|
||||
utils.ConcatenatedKey(utils.MetaSum, "~CustomValue"): utils.NOT_AVAILABLE,
|
||||
utils.ConcatenatedKey(utils.MetaSum, "~*req.CustomValue"): utils.NOT_AVAILABLE,
|
||||
}
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetQueueStringMetrics,
|
||||
&utils.TenantIDWithArgDispatcher{TenantID: &utils.TenantID{Tenant: "cgrates.org", ID: expectedIDs[0]}}, &metrics); err != nil {
|
||||
@@ -551,7 +551,7 @@ func testV1STSProcessMetricsWithFilter(t *testing.T) {
|
||||
expectedMetrics = map[string]string{
|
||||
utils.MetaACD: utils.NOT_AVAILABLE,
|
||||
utils.MetaTCD: "6s",
|
||||
utils.ConcatenatedKey(utils.MetaSum, "~CustomValue"): utils.NOT_AVAILABLE,
|
||||
utils.ConcatenatedKey(utils.MetaSum, "~*req.CustomValue"): utils.NOT_AVAILABLE,
|
||||
}
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetQueueStringMetrics,
|
||||
&utils.TenantIDWithArgDispatcher{
|
||||
@@ -578,7 +578,7 @@ func testV1STSProcessMetricsWithFilter(t *testing.T) {
|
||||
expectedMetrics = map[string]string{
|
||||
utils.MetaACD: "12s",
|
||||
utils.MetaTCD: "18s",
|
||||
utils.ConcatenatedKey(utils.MetaSum, "~CustomValue"): "10",
|
||||
utils.ConcatenatedKey(utils.MetaSum, "~*req.CustomValue"): "10",
|
||||
}
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetQueueStringMetrics,
|
||||
&utils.TenantIDWithArgDispatcher{
|
||||
|
||||
@@ -806,7 +806,8 @@ func testV1SplSSetSupplierProfiles(t *testing.T) {
|
||||
|
||||
func testV1SplSGetSupplierProfileIDs(t *testing.T) {
|
||||
expected := []string{"SPL_HIGHESTCOST_1", "SPL_QOS_1", "SPL_QOS_2", "SPL_QOS_FILTRED", "SPL_QOS_FILTRED2",
|
||||
"SPL_ACNT_1001", "SPL_LEASTCOST_1", "SPL_WEIGHT_2", "SPL_WEIGHT_1", "SPL_QOS_3", "TEST_PROFILE1", "SPL_LCR"}
|
||||
"SPL_ACNT_1001", "SPL_LEASTCOST_1", "SPL_WEIGHT_2", "SPL_WEIGHT_1", "SPL_QOS_3",
|
||||
"TEST_PROFILE1", "SPL_LOAD_DIST", "SPL_LCR"}
|
||||
var result []string
|
||||
if err := splSv1Rpc.Call(utils.APIerSv1GetSupplierProfileIDs,
|
||||
&utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{"cgrates.org"}}, &result); err != nil {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#Tenant[0],Id[1],FilterIDs[2],ActivationInterval[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blocker[10],Weight[11],ThresholdIDs[12]
|
||||
cgrates.org,Stats1,FLTR_STS1,2014-07-29T15:00:00Z,100,1s,2,*asr;*acc;*tcc;*acd;*tcd,,true,false,20,*none
|
||||
cgrates.org,Stats1,,,,,,*sum:~Usage;*average:~Usage,,,,,
|
||||
cgrates.org,Stats1,,,,,,*sum:~*req.Usage;*average:~*req.Usage,,,,,
|
||||
cgrates.org,Stats1,,,,,,*pdd,*exists:~PDD:,,,,
|
||||
|
@@ -3,6 +3,6 @@ cgrates.org,Stat_1,FLTR_STAT_1,2014-07-29T15:00:00Z,100,1s,0,*acd;*tcd;*asr,,fal
|
||||
cgrates.org,Stat_1_1,FLTR_STAT_1_1,2014-07-29T15:00:00Z,100,1s,0,*acd;*tcd;*pdd,,false,true,30,*none
|
||||
cgrates.org,Stat_2,FLTR_STAT_2,2014-07-29T15:00:00Z,100,1s,0,*acd;*tcd;*asr,,false,true,30,*none
|
||||
cgrates.org,Stat_3,FLTR_STAT_3,2014-07-29T15:00:00Z,100,1s,0,*acd;*tcd;*asr,,false,true,30,*none
|
||||
cgrates.org,Stat_Supplier1,*string:~*req.StatID:Stat_Supplier1,2014-07-29T15:00:00Z,100,1s,0,*sum:~LoadReq,,true,true,30,*none
|
||||
cgrates.org,Stat_Supplier2,*string:~*req.StatID:Stat_Supplier2,2014-07-29T15:00:00Z,100,1s,0,*sum:~LoadReq,,true,true,30,*none
|
||||
cgrates.org,Stat_Supplier3,*string:~*req.StatID:Stat_Supplier3,2014-07-29T15:00:00Z,100,1s,0,*sum:~LoadReq,,true,true,30,*none
|
||||
cgrates.org,Stat_Supplier1,*string:~*req.StatID:Stat_Supplier1,2014-07-29T15:00:00Z,100,1s,0,*sum:~*req.LoadReq,,true,true,30,*none
|
||||
cgrates.org,Stat_Supplier2,*string:~*req.StatID:Stat_Supplier2,2014-07-29T15:00:00Z,100,1s,0,*sum:~*req.LoadReq,,true,true,30,*none
|
||||
cgrates.org,Stat_Supplier3,*string:~*req.StatID:Stat_Supplier3,2014-07-29T15:00:00Z,100,1s,0,*sum:~*req.LoadReq,,true,true,30,*none
|
||||
|
||||
|
@@ -28,6 +28,6 @@ cgrates.org,SPL_QOS_FILTRED2,,,,,supplier2,FLTR_QOS_SP2_2,,RP_RETAIL1,,Stat_2,20
|
||||
cgrates.org,SPL_QOS_FILTRED2,,,,,supplier3,,,,,Stat_3,35,,,
|
||||
cgrates.org,SPL_LCR,FLTR_TEST,2017-11-27T00:00:00Z,*lc,,supplier_1,,,RP_TEST_1,,,10,,,50
|
||||
cgrates.org,SPL_LCR,,,,,supplier_2,,,RP_TEST_2,,,,,,
|
||||
cgrates.org,SPL_LOAD_DIST,FLTR_SPP_LOAD_DIST,,*load,supplier1:2;supplier2:7;*default:5,supplier1,,,,,Stat_Supplier1:*sum:~LoadReq,10,false,,20
|
||||
cgrates.org,SPL_LOAD_DIST,,,,,supplier2,,,,,Stat_Supplier2:*sum:~LoadReq,20,,,
|
||||
cgrates.org,SPL_LOAD_DIST,,,,,supplier3,,,,,Stat_Supplier3:*sum:~LoadReq,35,,,
|
||||
cgrates.org,SPL_LOAD_DIST,FLTR_SPP_LOAD_DIST,,*load,supplier1:2;supplier2:7;*default:5,supplier1,,,,,Stat_Supplier1:*sum:~*req.LoadReq,10,false,,20
|
||||
cgrates.org,SPL_LOAD_DIST,,,,,supplier2,,,,,Stat_Supplier2:*sum:~*req.LoadReq,20,,,
|
||||
cgrates.org,SPL_LOAD_DIST,,,,,supplier3,,,,,Stat_Supplier3:*sum:~*req.LoadReq,35,,,
|
||||
|
@@ -1,3 +1,3 @@
|
||||
#Tenant[0],Id[1],FilterIDs[2],ActivationInterval[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blocker[10],Weight[11],ThresholdIDs[12]
|
||||
cgrates.org,Stats1,FLTR_STS1,2014-07-29T15:00:00Z,100,1s,2,*asr;*acc;*tcc;*acd;*tcd;*pdd,,true,true,20,THRESH1;THRESH2
|
||||
cgrates.org,Stats1,FLTR_STS1,2014-07-29T15:00:00Z,100,1s,2,*sum:~Value;*average:~Value,,true,true,20,THRESH1;THRESH2
|
||||
cgrates.org,Stats1,FLTR_STS1,2014-07-29T15:00:00Z,100,1s,2,*sum:~*req.Value;*average:~*req.Value,,true,true,20,THRESH1;THRESH2
|
||||
|
||||
|
@@ -234,10 +234,10 @@ cgrates.org,ResGroup22,*string:~*req.Account:dan,2014-07-29T15:00:00Z,3600s,2,pr
|
||||
`
|
||||
StatsCSVContent = `
|
||||
#Tenant[0],Id[1],FilterIDs[2],ActivationInterval[3],QueueLength[4],TTL[5],MinItems[6],Metrics[7],MetricFilterIDs[8],Stored[9],Blocker[10],Weight[11],ThresholdIDs[12]
|
||||
cgrates.org,TestStats,*string:~*req.Account:1001,2014-07-29T15:00:00Z,100,1s,2,*sum:~Value;*average:~Value,,true,true,20,Th1;Th2
|
||||
cgrates.org,TestStats,,,,,2,*sum:~Usage,,true,true,20,
|
||||
cgrates.org,TestStats2,FLTR_1,2014-07-29T15:00:00Z,100,1s,2,*sum:~Value;*sum:~Usage;*average:~Value;*average:~Usage,,true,true,20,Th
|
||||
cgrates.org,TestStats2,,,,,2,*sum:~Cost;*average:~Cost,,true,true,20,
|
||||
cgrates.org,TestStats,*string:~*req.Account:1001,2014-07-29T15:00:00Z,100,1s,2,*sum:~*req.Value;*average:~*req.Value,,true,true,20,Th1;Th2
|
||||
cgrates.org,TestStats,,,,,2,*sum:~*req.Usage,,true,true,20,
|
||||
cgrates.org,TestStats2,FLTR_1,2014-07-29T15:00:00Z,100,1s,2,*sum:~*req.Value;*sum:~*req.Usage;*average:~*req.Value;*average:~*req.Usage,,true,true,20,Th
|
||||
cgrates.org,TestStats2,,,,,2,*sum:~*req.Cost;*average:~*req.Cost,,true,true,20,
|
||||
`
|
||||
|
||||
ThresholdsCSVContent = `
|
||||
|
||||
@@ -59,7 +59,7 @@ func NewStatMetric(metricID string, minItems int, filterIDs []string) (sm StatMe
|
||||
utils.MetaDistinct: NewStatDistinct,
|
||||
}
|
||||
// split the metricID
|
||||
// in case of *sum we have *sum:~FieldName
|
||||
// in case of *sum we have *sum:~*req.FieldName
|
||||
metricSplit := utils.SplitConcatenatedKey(metricID)
|
||||
if _, has := metrics[metricSplit[0]]; !has {
|
||||
return nil, fmt.Errorf("unsupported metric type <%s>", metricSplit[0])
|
||||
|
||||
@@ -481,7 +481,7 @@ func testV2CDRsSetStats(t *testing.T) {
|
||||
// QueueLength: 10,
|
||||
Metrics: []*engine.MetricWithFilters{
|
||||
&engine.MetricWithFilters{
|
||||
MetricID: "*sum:~Usage",
|
||||
MetricID: "*sum:~*req.Usage",
|
||||
},
|
||||
},
|
||||
ThresholdIDs: []string{utils.META_NONE},
|
||||
@@ -592,7 +592,7 @@ func testV2CDRsGetStats1(t *testing.T) {
|
||||
expectedIDs := []string{"STS_PoccessCDR"}
|
||||
var metrics map[string]string
|
||||
expectedMetrics := map[string]string{
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.Usage): utils.NOT_AVAILABLE,
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Usage): utils.NOT_AVAILABLE,
|
||||
}
|
||||
if err := cdrsRpc.Call(utils.StatSv1GetQueueStringMetrics,
|
||||
&utils.TenantIDWithArgDispatcher{
|
||||
@@ -659,7 +659,7 @@ func testV2CDRsGetStats2(t *testing.T) {
|
||||
expectedIDs := []string{"STS_PoccessCDR"}
|
||||
var metrics map[string]string
|
||||
expectedMetrics := map[string]string{
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.Usage): "60000000000",
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+utils.Usage): "60000000000",
|
||||
}
|
||||
if err := cdrsRpc.Call(utils.StatSv1GetQueueStringMetrics,
|
||||
&utils.TenantIDWithArgDispatcher{
|
||||
|
||||
@@ -587,7 +587,7 @@ func testV1SplSPopulateStats(t *testing.T) {
|
||||
|
||||
var metrics map[string]string
|
||||
expectedMetrics := map[string]string{
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+"LoadReq"): "2",
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+"LoadReq"): "2",
|
||||
}
|
||||
if err := splSv1Rpc.Call(utils.StatSv1GetQueueStringMetrics,
|
||||
&utils.TenantIDWithArgDispatcher{TenantID: &utils.TenantID{Tenant: "cgrates.org", ID: "Stat_Supplier1"}},
|
||||
@@ -691,7 +691,7 @@ func testV1SplSPopulateStats(t *testing.T) {
|
||||
}
|
||||
|
||||
expectedMetrics = map[string]string{
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+"LoadReq"): "3",
|
||||
utils.ConcatenatedKey(utils.MetaSum, utils.DynamicDataPrefix+utils.MetaReq+utils.NestingSep+"LoadReq"): "3",
|
||||
}
|
||||
|
||||
if err := splSv1Rpc.Call(utils.StatSv1GetQueueStringMetrics,
|
||||
|
||||
@@ -635,13 +635,13 @@ func TestLoaderProcessStats(t *testing.T) {
|
||||
TTL: time.Duration(1 * time.Second),
|
||||
Metrics: []*engine.MetricWithFilters{
|
||||
&engine.MetricWithFilters{
|
||||
MetricID: "*sum:~Value",
|
||||
MetricID: "*sum:~*req.Value",
|
||||
},
|
||||
&engine.MetricWithFilters{
|
||||
MetricID: "*average:~Value",
|
||||
MetricID: "*average:~*req.Value",
|
||||
},
|
||||
&engine.MetricWithFilters{
|
||||
MetricID: "*sum:~Usage",
|
||||
MetricID: "*sum:~*req.Usage",
|
||||
},
|
||||
},
|
||||
ThresholdIDs: []string{"Th1", "Th2"},
|
||||
|
||||
@@ -158,9 +158,9 @@ func TestRemakeQueue(t *testing.T) {
|
||||
EventID: "ev1",
|
||||
}},
|
||||
SQMetrics: map[string]engine.StatMetric{
|
||||
"*tcc": nil,
|
||||
"*sum:~Usage": nil,
|
||||
"*avreage:~Cost": nil,
|
||||
"*tcc": nil,
|
||||
"*sum:~*req.Usage": nil,
|
||||
"*avreage:~*req.Cost": nil,
|
||||
},
|
||||
MinItems: 2,
|
||||
}
|
||||
@@ -169,9 +169,9 @@ func TestRemakeQueue(t *testing.T) {
|
||||
ID: sq.ID,
|
||||
SQItems: sq.SQItems,
|
||||
SQMetrics: map[string]engine.StatMetric{
|
||||
"*tcc": nil,
|
||||
"*sum:~Usage": nil,
|
||||
"*avreage:~Cost": nil,
|
||||
"*tcc": nil,
|
||||
"*sum:~*req.Usage": nil,
|
||||
"*avreage:~*req.Cost": nil,
|
||||
},
|
||||
MinItems: sq.MinItems,
|
||||
}
|
||||
|
||||
@@ -19,6 +19,8 @@ cgrates (0.11.0~dev) UNRELEASED; urgency=medium
|
||||
* [AgentRequest] Add support for *tmp path
|
||||
* [SessionS] Add new API SessionSv1.GetCost
|
||||
* [SessionS] Add support for *cdrs flag in SessionSv1.ProcessEvent
|
||||
* [StatS] Update metric definition to include path for example:
|
||||
*sum:~*req.Field1
|
||||
|
||||
-- Alexandru Tripon <alexandru.tripon@itsyscom.com> Wed, 19 Feb 2020 13:25:52 +0200
|
||||
|
||||
|
||||
Reference in New Issue
Block a user