11use std:: collections:: HashMap ;
2- use std:: sync:: { Arc , RwLock } ;
2+ use std:: sync:: Arc ;
3+
4+ use crate :: parking_lot:: RwLock ;
35
46use prometheus:: { labels, Histogram , IntCounterVec } ;
57use prometheus:: { IntCounter , IntGauge } ;
@@ -109,14 +111,13 @@ impl MetricsRegistry {
109111 } ;
110112 let counters = CounterVec :: new ( opts, variable_labels) ?;
111113 let id = counters. desc ( ) . first ( ) . unwrap ( ) . id ;
112- let maybe_counter = self . global_counter_vecs . read ( ) . unwrap ( ) . get ( & id) . cloned ( ) ;
114+ let maybe_counter = self . global_counter_vecs . read ( ) . get ( & id) . cloned ( ) ;
113115 if let Some ( counters) = maybe_counter {
114116 Ok ( counters)
115117 } else {
116118 self . register ( name, Box :: new ( counters. clone ( ) ) ) ;
117119 self . global_counter_vecs
118120 . write ( )
119- . unwrap ( )
120121 . insert ( id, counters. clone ( ) ) ;
121122 Ok ( counters)
122123 }
@@ -161,15 +162,12 @@ impl MetricsRegistry {
161162 ) -> Result < Counter , PrometheusError > {
162163 let counter = counter_with_labels ( name, help, const_labels) ?;
163164 let id = counter. desc ( ) . first ( ) . unwrap ( ) . id ;
164- let maybe_counter = self . global_counters . read ( ) . unwrap ( ) . get ( & id) . cloned ( ) ;
165+ let maybe_counter = self . global_counters . read ( ) . get ( & id) . cloned ( ) ;
165166 if let Some ( counter) = maybe_counter {
166167 Ok ( counter)
167168 } else {
168169 self . register ( name, Box :: new ( counter. clone ( ) ) ) ;
169- self . global_counters
170- . write ( )
171- . unwrap ( )
172- . insert ( id, counter. clone ( ) ) ;
170+ self . global_counters . write ( ) . insert ( id, counter. clone ( ) ) ;
173171 Ok ( counter)
174172 }
175173 }
@@ -210,15 +208,12 @@ impl MetricsRegistry {
210208 ) -> Result < Gauge , PrometheusError > {
211209 let gauge = gauge_with_labels ( name, help, const_labels) ?;
212210 let id = gauge. desc ( ) . first ( ) . unwrap ( ) . id ;
213- let maybe_gauge = self . global_gauges . read ( ) . unwrap ( ) . get ( & id) . cloned ( ) ;
211+ let maybe_gauge = self . global_gauges . read ( ) . get ( & id) . cloned ( ) ;
214212 if let Some ( gauge) = maybe_gauge {
215213 Ok ( gauge)
216214 } else {
217215 self . register ( name, Box :: new ( gauge. clone ( ) ) ) ;
218- self . global_gauges
219- . write ( )
220- . unwrap ( )
221- . insert ( id, gauge. clone ( ) ) ;
216+ self . global_gauges . write ( ) . insert ( id, gauge. clone ( ) ) ;
222217 Ok ( gauge)
223218 }
224219 }
@@ -232,15 +227,12 @@ impl MetricsRegistry {
232227 let opts = Opts :: new ( name, help) ;
233228 let gauges = GaugeVec :: new ( opts, variable_labels) ?;
234229 let id = gauges. desc ( ) . first ( ) . unwrap ( ) . id ;
235- let maybe_gauge = self . global_gauge_vecs . read ( ) . unwrap ( ) . get ( & id) . cloned ( ) ;
230+ let maybe_gauge = self . global_gauge_vecs . read ( ) . get ( & id) . cloned ( ) ;
236231 if let Some ( gauges) = maybe_gauge {
237232 Ok ( gauges)
238233 } else {
239234 self . register ( name, Box :: new ( gauges. clone ( ) ) ) ;
240- self . global_gauge_vecs
241- . write ( )
242- . unwrap ( )
243- . insert ( id, gauges. clone ( ) ) ;
235+ self . global_gauge_vecs . write ( ) . insert ( id, gauges. clone ( ) ) ;
244236 Ok ( gauges)
245237 }
246238 }
@@ -254,14 +246,13 @@ impl MetricsRegistry {
254246 let opts = HistogramOpts :: new ( name, help) ;
255247 let histograms = HistogramVec :: new ( opts, variable_labels) ?;
256248 let id = histograms. desc ( ) . first ( ) . unwrap ( ) . id ;
257- let maybe_histogram = self . global_histogram_vecs . read ( ) . unwrap ( ) . get ( & id) . cloned ( ) ;
249+ let maybe_histogram = self . global_histogram_vecs . read ( ) . get ( & id) . cloned ( ) ;
258250 if let Some ( histograms) = maybe_histogram {
259251 Ok ( histograms)
260252 } else {
261253 self . register ( name, Box :: new ( histograms. clone ( ) ) ) ;
262254 self . global_histogram_vecs
263255 . write ( )
264- . unwrap ( )
265256 . insert ( id, histograms. clone ( ) ) ;
266257 Ok ( histograms)
267258 }
0 commit comments