@@ -38,7 +38,7 @@ def __init__(self, logger, mdHandler, port, raw_data=False):
38
38
self .__md = mdHandler
39
39
self .port = port
40
40
self .raw_data = raw_data
41
- self .static_sensors_list = ['CPU' , 'Memory' , 'GPFSFileset' ]
41
+ self .static_sensors_list = ['CPU' , 'Memory' ]
42
42
self .cache_strategy = False
43
43
self .endpoints = {}
44
44
self .caching_collectors = []
@@ -157,7 +157,7 @@ def GET(self, **params):
157
157
resp = []
158
158
159
159
self .logger .trace (f"Request headers:{ str (cherrypy .request .headers )} " )
160
- self .logger .info (f"Request params:{ str (params )} " )
160
+ self .logger .trace (f"Request params:{ str (params )} " )
161
161
conn = cherrypy .request .headers .get ('Host' ).split (':' )
162
162
if len (conn ) == 2 and int (conn [1 ]) != int (self .port ):
163
163
self .logger .error (MSG ['EndpointNotSupportedForPort' ].
@@ -174,11 +174,44 @@ def GET(self, **params):
174
174
175
175
# /metrics
176
176
elif '/metrics' == cherrypy .request .script_name :
177
- resp = self .metrics ()
177
+ # resp = self.metrics()
178
+ self .logger .error (MSG ['EndpointNotSupported' ].
179
+ format (cherrypy .request .script_name ))
180
+ raise cherrypy .HTTPError (400 , ERR [400 ])
181
+
182
+ # /endpoints
183
+ elif '/endpoints' == cherrypy .request .script_name :
184
+ resp = self .endpoints .keys ()
178
185
cherrypy .response .headers ['Content-Type' ] = 'text/plain'
179
186
resString = '\n ' .join (resp ) + '\n '
180
187
return resString
181
188
189
+ # /labels
190
+ elif '/labels' == cherrypy .request .script_name :
191
+ resp = {}
192
+ # self.logger.info(f"Request params:{str(params)}")
193
+ for k ,v in self .endpoints .items ():
194
+ # self.logger.info(f"Sensor{v} labels:{self.TOPO.getSensorLabels(v)}")
195
+ labels = self .TOPO .getSensorLabels (v )
196
+ if labels :
197
+ resp [k ] = labels
198
+ cherrypy .response .headers ['Content-Type' ] = 'application/json'
199
+ resp = json .dumps (resp )
200
+ return resp
201
+
202
+ # /filters
203
+ elif '/filters' == cherrypy .request .script_name :
204
+ resp = {}
205
+ # self.logger.info(f"Request params:{str(params)}")
206
+ all_filters = self .TOPO .allFiltersMaps
207
+ for k ,v in self .endpoints .items ():
208
+ if v in all_filters :
209
+ # self.logger.info(f"Sensor{v} labels:{all_filters[v]}")
210
+ resp [k ] = all_filters [v ]
211
+ cherrypy .response .headers ['Content-Type' ] = 'application/json'
212
+ resp = json .dumps (resp )
213
+ return resp
214
+
182
215
else :
183
216
self .logger .error (MSG ['EndpointNotSupported' ].
184
217
format (cherrypy .request .script_name ))
0 commit comments