mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-21 15:18:44 +05:00
StatsV1.GetQueueIDs API, add integration tests for StatS
This commit is contained in:
@@ -307,3 +307,18 @@ func (sS *StatService) V1GetQueueFloatMetrics(args *utils.TenantID, reply *map[s
|
||||
*reply = metrics
|
||||
return
|
||||
}
|
||||
|
||||
// V1GetQueueIDs returns list of queueIDs registered for a tenant
|
||||
func (sS *StatService) V1GetQueueIDs(tenant string, qIDs *[]string) (err error) {
|
||||
prfx := utils.StatQueuePrefix + tenant + utils.CONCATENATED_KEY_SEP
|
||||
keys, err := sS.dm.DataDB().GetKeysForPrefix(prfx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
retIDs := make([]string, len(keys))
|
||||
for i, key := range keys {
|
||||
retIDs[i] = key[len(prfx):]
|
||||
}
|
||||
*qIDs = retIDs
|
||||
return
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ type TpReader struct {
|
||||
tpid string
|
||||
timezone string
|
||||
dataStorage DataDB
|
||||
dm *DataManager
|
||||
lr LoadReader
|
||||
actions map[string][]*Action
|
||||
actionPlans map[string]*ActionPlan
|
||||
@@ -69,6 +70,7 @@ func NewTpReader(db DataDB, lr LoadReader, tpid, timezone string) *TpReader {
|
||||
tpid: tpid,
|
||||
timezone: timezone,
|
||||
dataStorage: db,
|
||||
dm: NewDataManager(db),
|
||||
lr: lr,
|
||||
}
|
||||
tpr.Init()
|
||||
@@ -2010,8 +2012,16 @@ func (tpr *TpReader) WriteToDatabase(flush, verbose, disable_reverse bool) (err
|
||||
log.Print("StatQueues:")
|
||||
}
|
||||
for _, sqTntID := range tpr.statQueues {
|
||||
if err = tpr.dataStorage.SetStoredStatQueue(&StoredStatQueue{Tenant: sqTntID.Tenant, ID: sqTntID.ID,
|
||||
SQMetrics: make(map[string][]byte)}); err != nil {
|
||||
sq := &StatQueue{Tenant: sqTntID.Tenant, ID: sqTntID.ID,
|
||||
SQMetrics: make(map[string]StatMetric)}
|
||||
for _, metricID := range tpr.sqProfiles[sqTntID.Tenant][sqTntID.ID].Metrics {
|
||||
if metric, err := NewStatMetric(metricID); err != nil {
|
||||
return err
|
||||
} else {
|
||||
sq.SQMetrics[metricID] = metric
|
||||
}
|
||||
}
|
||||
if err = tpr.dm.SetStatQueue(sq); err != nil {
|
||||
return
|
||||
}
|
||||
if verbose {
|
||||
|
||||
Reference in New Issue
Block a user