@@ -13,7 +13,7 @@ import (
1313
1414const (
1515 DTSNamespace = "QCE/DTS"
16- DTSInstanceidKey = "SubscribeId"
16+ DTSInstanceIdKey = "SubscribeId"
1717)
1818
1919func init () {
@@ -85,23 +85,36 @@ func (h *dtsHandler) GetSeriesByOnly(m *metric.TcmMetric) ([]*metric.TcmSeries,
8585}
8686
8787func (h * dtsHandler ) GetSeriesByAll (m * metric.TcmMetric ) ([]* metric.TcmSeries , error ) {
88- var slist []* metric.TcmSeries
89- insList , err := h .collector .InstanceRepo .ListByFilters (m .Conf .InstanceFilters )
90- if err != nil {
91- return nil , err
88+ var dimensions []string
89+ for _ , v := range m .Meta .SupportDimensions {
90+ dimensions = append (dimensions , v )
9291 }
93- for _ , ins := range insList {
94- if len (m .Conf .ExcludeInstances ) != 0 && util .IsStrInList (m .Conf .ExcludeInstances , ins .GetInstanceId ()) {
95- continue
96- }
97- sl , err := h .getSeriesByMetricType (m , ins )
92+ var slist []* metric.TcmSeries
93+ if util .IsStrInList (dimensions , "replicationjobid" ) || util .IsStrInList (dimensions , "migratejobid" ) {
94+ sl , err := h .getSeriesByMetricType (m , nil )
9895 if err != nil {
99- level .Error (h .logger ).Log ("msg" , "Create metric series fail" ,
100- "metric" , m .Meta .MetricName , "instance" , ins .GetInstanceId ())
101- continue
96+ level .Error (h .logger ).Log ("msg" , "Create metric series fail" , "metric" , m .Meta .MetricName )
10297 }
10398 slist = append (slist , sl ... )
99+ } else {
100+ insList , err := h .collector .InstanceRepo .ListByFilters (m .Conf .InstanceFilters )
101+ if err != nil {
102+ return nil , err
103+ }
104+ for _ , ins := range insList {
105+ if len (m .Conf .ExcludeInstances ) != 0 && util .IsStrInList (m .Conf .ExcludeInstances , ins .GetInstanceId ()) {
106+ continue
107+ }
108+ sl , err := h .getSeriesByMetricType (m , ins )
109+ if err != nil {
110+ level .Error (h .logger ).Log ("msg" , "Create metric series fail" ,
111+ "metric" , m .Meta .MetricName , "instance" , ins .GetInstanceId ())
112+ continue
113+ }
114+ slist = append (slist , sl ... )
115+ }
104116 }
117+
105118 return slist , nil
106119}
107120
@@ -209,7 +222,7 @@ func NewDTSHandler(cred common.CredentialIface, c *TcProductCollector, logger lo
209222 return nil , err
210223 }
211224 reloadInterval := time .Duration (c .ProductConf .ReloadIntervalMinutes * int64 (time .Minute ))
212- migrateInfosRepoCahe := instance .NewTcDtsInstanceMigrateInfosCache (migrateInfosRepo , reloadInterval , logger )
225+ migrateInfosRepoCache := instance .NewTcDtsInstanceMigrateInfosCache (migrateInfosRepo , reloadInterval , logger )
213226
214227 replicationRepo , err := instance .NewDtsTcInstanceReplicationsRepository (cred , c .Conf , logger )
215228 if err != nil {
@@ -219,11 +232,11 @@ func NewDTSHandler(cred common.CredentialIface, c *TcProductCollector, logger lo
219232
220233 handler = & dtsHandler {
221234 baseProductHandler : baseProductHandler {
222- monitorQueryKey : DTSInstanceidKey ,
235+ monitorQueryKey : DTSInstanceIdKey ,
223236 collector : c ,
224237 logger : logger ,
225238 },
226- migrateInfosRepo : migrateInfosRepoCahe ,
239+ migrateInfosRepo : migrateInfosRepoCache ,
227240 replicationRepo : replicationRepoCache ,
228241 }
229242 return
0 commit comments