@@ -178,34 +178,37 @@ async def handle_metrics(self, logger: kopf.ObjectLogger, resource_handles):
178
178
logger .info ("Handling metrics for resource pool" )
179
179
resource_handle_deficit = self .min_available - len (resource_handles )
180
180
181
- ResourcePoolMetrics .resource_pool_min_available .set (
182
- labels = self .metrics_labels ,
183
- value = self .min_available
184
- )
185
-
186
- ResourcePoolMetrics .resource_pool_available .set (
187
- labels = self .metrics_labels ,
188
- value = len (resource_handles )
189
- )
190
-
191
- if resource_handle_deficit < 0 :
192
- ResourcePoolMetrics .resource_pool_used_total .inc (
181
+ try :
182
+ ResourcePoolMetrics .resource_pool_min_available .set (
193
183
labels = self .metrics_labels ,
194
- value = resource_handle_deficit
184
+ value = self .min_available
185
+ )
186
+
187
+ ResourcePoolMetrics .resource_pool_available .set (
188
+ labels = self .metrics_labels ,
189
+ value = len (resource_handles )
195
190
)
196
191
197
- state_labels = self .metric_state_labels
198
- state_labels ['state' ] = 'available'
199
- ResourcePoolMetrics .resource_pool_state .set (
200
- labels = state_labels ,
201
- value = len (resource_handles )
202
- )
192
+ if resource_handle_deficit < 0 :
193
+ ResourcePoolMetrics .resource_pool_used_total .inc (
194
+ labels = self .metrics_labels ,
195
+ )
203
196
204
- state_labels ['state' ] = 'used'
205
- ResourcePoolMetrics .resource_pool_state .set (
206
- labels = state_labels ,
207
- value = resource_handle_deficit
208
- )
197
+ state_labels = self .metric_state_labels
198
+ state_labels ['state' ] = 'available'
199
+ ResourcePoolMetrics .resource_pool_state .set (
200
+ labels = state_labels ,
201
+ value = len (resource_handles )
202
+ )
203
+
204
+ state_labels ['state' ] = 'used'
205
+ ResourcePoolMetrics .resource_pool_state .set (
206
+ labels = state_labels ,
207
+ value = resource_handle_deficit
208
+ )
209
+ except Exception as e :
210
+ logger .error (f"Error handling metrics for resource pool: { e } " )
211
+ return
209
212
210
213
async def handle_delete (self , logger : kopf .ObjectLogger ):
211
214
await resourcehandle .ResourceHandle .delete_unbound_handles_for_pool (logger = logger , resource_pool = self )
@@ -214,7 +217,7 @@ async def handle_delete(self, logger: kopf.ObjectLogger):
214
217
'response_time_seconds' ,
215
218
method = 'manage' ,
216
219
resource_type = 'resourcepool'
217
- )
220
+ )
218
221
async def manage (self , logger : kopf .ObjectLogger ):
219
222
async with self .lock :
220
223
resource_handles = await resourcehandle .ResourceHandle .get_unbound_handles_for_pool (resource_pool = self , logger = logger )
0 commit comments