1919use std:: collections:: HashMap ;
2020use std:: sync:: Arc ;
2121
22+ use once_cell:: sync:: Lazy ;
2223use prometheus:: core:: Collector ;
2324use prometheus:: proto:: MetricFamily ;
2425use prometheus:: IntGaugeVec ;
@@ -172,15 +173,15 @@ pub fn delete_stats(stream_name: &str, format: &'static str) -> prometheus::Resu
172173 let event_labels = event_labels ( stream_name, format) ;
173174 let storage_size_labels = storage_size_labels ( stream_name) ;
174175
175- EVENTS_INGESTED . remove_label_values ( & event_labels) ? ;
176- EVENTS_INGESTED_SIZE . remove_label_values ( & event_labels) ? ;
177- STORAGE_SIZE . remove_label_values ( & storage_size_labels) ? ;
178- EVENTS_DELETED . remove_label_values ( & event_labels) ? ;
179- EVENTS_DELETED_SIZE . remove_label_values ( & event_labels) ? ;
180- DELETED_EVENTS_STORAGE_SIZE . remove_label_values ( & storage_size_labels) ? ;
181- LIFETIME_EVENTS_INGESTED . remove_label_values ( & event_labels) ? ;
182- LIFETIME_EVENTS_INGESTED_SIZE . remove_label_values ( & event_labels) ? ;
183- LIFETIME_EVENTS_STORAGE_SIZE . remove_label_values ( & storage_size_labels) ? ;
176+ remove_label_values ( & EVENTS_INGESTED , & event_labels) ;
177+ remove_label_values ( & EVENTS_INGESTED_SIZE , & event_labels) ;
178+ remove_label_values ( & STORAGE_SIZE , & storage_size_labels) ;
179+ remove_label_values ( & EVENTS_DELETED , & event_labels) ;
180+ remove_label_values ( & EVENTS_DELETED_SIZE , & event_labels) ;
181+ remove_label_values ( & DELETED_EVENTS_STORAGE_SIZE , & storage_size_labels) ;
182+ remove_label_values ( & LIFETIME_EVENTS_INGESTED , & event_labels) ;
183+ remove_label_values ( & LIFETIME_EVENTS_INGESTED_SIZE , & event_labels) ;
184+ remove_label_values ( & LIFETIME_EVENTS_STORAGE_SIZE , & storage_size_labels) ;
184185
185186 delete_with_label_prefix ( & EVENTS_INGESTED_DATE , & event_labels) ;
186187 delete_with_label_prefix ( & EVENTS_INGESTED_SIZE_DATE , & event_labels) ;
@@ -189,6 +190,13 @@ pub fn delete_stats(stream_name: &str, format: &'static str) -> prometheus::Resu
189190 Ok ( ( ) )
190191}
191192
193+ #[ inline]
194+ fn remove_label_values ( lazy_static : & Lazy < IntGaugeVec > , event_labels : & [ & str ] ) {
195+ if let Err ( e) = lazy_static. remove_label_values ( event_labels) {
196+ warn ! ( "Unable to delete labels- {event_labels:?}\n with error- {e}" ) ;
197+ }
198+ }
199+
192200fn delete_with_label_prefix ( metrics : & IntGaugeVec , prefix : & [ & str ] ) {
193201 let families: Vec < MetricFamily > = metrics. collect ( ) . into_iter ( ) . collect ( ) ;
194202 for metric in families. iter ( ) . flat_map ( |m| m. get_metric ( ) ) {
0 commit comments