made_core/entities/
metrics_snapshot.rs1use crate::entities::MetricFamily;
2use crate::value_objects::PrometheusText;
3
4#[derive(Clone, Debug, Default, PartialEq)]
6pub struct MetricsSnapshot {
7 text: PrometheusText,
8 families: Vec<MetricFamily>,
9}
10
11impl MetricsSnapshot {
12 #[must_use]
13 pub fn new(text: PrometheusText, families: Vec<MetricFamily>) -> Self {
14 Self { text, families }
15 }
16
17 #[must_use]
18 pub fn empty() -> Self {
19 Self::default()
20 }
21
22 #[must_use]
23 pub fn text(&self) -> &PrometheusText {
24 &self.text
25 }
26
27 #[must_use]
28 pub fn families(&self) -> &[MetricFamily] {
29 &self.families
30 }
31}