25
25
from queryHandler .QueryHandler import QueryHandler2 as QueryHandler
26
26
from queryHandler .Topo import Topo
27
27
from queryHandler import SensorConfig
28
+ from utils import execution_time
28
29
from messages import MSG
29
30
from metaclasses import Singleton
30
- from timeit import default_timer as timer
31
31
from time import sleep
32
32
33
33
@@ -75,13 +75,16 @@ def metaData(self):
75
75
def metricsDesc (self ):
76
76
return self .__metricsDesc
77
77
78
- def getSensorPeriod (self , metric ):
79
- bucketSize = 0
78
+ def getSensorPeriodForMetric (self , metric ):
80
79
sensor = self .metaData .getSensorForMetric (metric )
81
80
if not sensor :
82
81
self .logger .error (MSG ['MetricErr' ].format (metric ))
83
82
raise cherrypy .HTTPError (404 , MSG ['MetricErr' ].format (metric ))
84
- elif sensor in ('GPFSPoolCap' , 'GPFSInodeCap' ):
83
+ return self .getSensorPeriod (sensor )
84
+
85
+ def getSensorPeriod (self , sensor ):
86
+ bucketSize = 0
87
+ if sensor in ('GPFSPoolCap' , 'GPFSInodeCap' ):
85
88
sensor = 'GPFSDiskCap'
86
89
elif sensor in ('GPFSNSDFS' , 'GPFSNSDPool' ):
87
90
sensor = 'GPFSNSDDisk'
@@ -93,8 +96,8 @@ def getSensorPeriod(self, metric):
93
96
bucketSize = int (sensorAttr ['period' ])
94
97
return bucketSize
95
98
96
- def __getSupportedMetrics (self ):
97
- """retrieve all defined (enabled and disabled) metrics list by querying topo -m"""
99
+ def __getSupportedMetrics (self ) -> dict :
100
+ """ Retrieves all defined (enabled and disabled) metrics by querying topo -m """
98
101
99
102
metricSpec = {}
100
103
@@ -112,7 +115,7 @@ def __getSupportedMetrics(self):
112
115
desc = tokens [2 ] or "No description provided"
113
116
metricSpec [name ] = desc
114
117
else :
115
- self .logger .warning (MSG ['DataWrongFormat' ].format (line ))
118
+ self .logger .moreinfo (MSG ['DataWrongFormat' ].format (line ))
116
119
self .__metricsDesc = metricSpec
117
120
118
121
def __initializeTables (self ):
@@ -143,6 +146,7 @@ def __initializeTables(self):
143
146
return
144
147
raise ValueError (MSG ['NoData' ])
145
148
149
+ @execution_time ()
146
150
def update (self , refresh_all = False ):
147
151
'''Read the topology from ZIMon and update
148
152
the tables for metrics, keys, key elements (tag keys)
@@ -151,13 +155,10 @@ def update(self, refresh_all=False):
151
155
if refresh_all :
152
156
self .__sensorsConf = SensorConfig .readSensorsConfigFromMMSDRFS (self .logger )
153
157
154
- tstart = timer ()
155
158
self .__metaData = Topo (self .qh .getTopology ())
156
- tend = timer ()
157
159
if not (self .metaData and self .metaData .topo ):
158
160
self .logger .error (MSG ['NoData' ]) # Please check the pmcollector is properly configured and running.
159
161
raise cherrypy .HTTPError (404 , MSG [404 ])
160
162
self .logger .details (MSG ['MetaSuccess' ])
161
163
self .logger .debug (MSG ['ReceivAttrValues' ].format ('parents' , ", " .join (self .metaData .allParents )))
162
- self .logger .debug (MSG ['TimerInfo' ].format ('Metadata' , str (tend - tstart )))
163
164
return ({'msg' : MSG ['MetaSuccess' ]})
0 commit comments