made_core/entities/
metric_family.rs1use crate::entities::MetricSample;
2use crate::value_objects::{MetricHelp, MetricKind, MetricName};
3
4#[derive(Clone, Debug, PartialEq)]
6pub struct MetricFamily {
7 name: MetricName,
8 help: MetricHelp,
9 kind: MetricKind,
10 samples: Vec<MetricSample>,
11}
12
13impl MetricFamily {
14 #[must_use]
15 pub fn new(
16 name: MetricName,
17 help: MetricHelp,
18 kind: MetricKind,
19 samples: Vec<MetricSample>,
20 ) -> Self {
21 Self {
22 name,
23 help,
24 kind,
25 samples,
26 }
27 }
28
29 #[must_use]
30 pub fn name(&self) -> &MetricName {
31 &self.name
32 }
33
34 #[must_use]
35 pub fn help(&self) -> &MetricHelp {
36 &self.help
37 }
38
39 #[must_use]
40 pub fn kind(&self) -> MetricKind {
41 self.kind
42 }
43
44 #[must_use]
45 pub fn samples(&self) -> &[MetricSample] {
46 &self.samples
47 }
48}