Returns a counter vec metric with the given name and set of label names.
(
&mut self,
name: &str,
label_names: &[&str],
helper_message: &str,
)
| 57 | |
| 58 | /// Returns a counter vec metric with the given name and set of label names. |
| 59 | pub fn counter_vec_mut( |
| 60 | &mut self, |
| 61 | name: &str, |
| 62 | label_names: &[&str], |
| 63 | helper_message: &str, |
| 64 | ) -> &mut CounterVec { |
| 65 | match self.metric_counter_vecs.entry(name.to_string()) { |
| 66 | Entry::Occupied(entry) => entry.into_mut(), |
| 67 | Entry::Vacant(entry) => { |
| 68 | let counter = CounterVec::new( |
| 69 | Opts::new(format!("{}_{}", self.service_name, name), helper_message), |
| 70 | label_names, |
| 71 | ) |
| 72 | .unwrap(); |
| 73 | |
| 74 | self.registry.register(Box::new(counter.clone())).unwrap(); |
| 75 | |
| 76 | entry.insert(counter) |
| 77 | } |
| 78 | } |
| 79 | } |
| 80 | |
| 81 | /// Removes a counter vec metric with the given name. |
| 82 | pub fn remove_counter_vec(&mut self, name: &str) { |