dynamo_runtime/component/
namespace.rs1use crate::component::Namespace;
5use crate::metrics::{MetricsHierarchy, MetricsRegistry};
6
7impl MetricsHierarchy for Namespace {
8 fn basename(&self) -> String {
9 self.name.clone()
10 }
11
12 fn parent_hierarchies(&self) -> Vec<&dyn MetricsHierarchy> {
13 let mut parents = vec![];
14
15 let parent_chain: Vec<&Namespace> =
17 std::iter::successors(self.parent.as_deref(), |ns| ns.parent.as_deref()).collect();
18
19 parents.push(&*self.runtime as &dyn MetricsHierarchy);
21
22 for parent_ns in parent_chain.iter().rev() {
24 parents.push(*parent_ns as &dyn MetricsHierarchy);
25 }
26
27 parents
28 }
29
30 fn get_metrics_registry(&self) -> &MetricsRegistry {
31 &self.metrics_registry
32 }
33}