diff --git a/rs/ic-observability/multiservice-discovery-shared/src/contracts/mod.rs b/rs/ic-observability/multiservice-discovery-shared/src/contracts/mod.rs index 3af4a4881..6643d159c 100644 --- a/rs/ic-observability/multiservice-discovery-shared/src/contracts/mod.rs +++ b/rs/ic-observability/multiservice-discovery-shared/src/contracts/mod.rs @@ -4,4 +4,5 @@ pub mod target; pub trait DataContract { fn get_name(&self) -> String; fn get_id(&self) -> String; + fn get_target_name(&self) -> String; } diff --git a/rs/ic-observability/multiservice-discovery-shared/src/contracts/sns.rs b/rs/ic-observability/multiservice-discovery-shared/src/contracts/sns.rs index 09c7c3e46..00bba444a 100644 --- a/rs/ic-observability/multiservice-discovery-shared/src/contracts/sns.rs +++ b/rs/ic-observability/multiservice-discovery-shared/src/contracts/sns.rs @@ -47,4 +47,8 @@ impl DataContract for Sns { fn get_id(&self) -> String { self.root_canister_id.to_string() } + + fn get_target_name(&self) -> String { + self.name.to_string() + } } diff --git a/rs/ic-observability/multiservice-discovery-shared/src/contracts/target.rs b/rs/ic-observability/multiservice-discovery-shared/src/contracts/target.rs index de4b6f220..b329742ab 100644 --- a/rs/ic-observability/multiservice-discovery-shared/src/contracts/target.rs +++ b/rs/ic-observability/multiservice-discovery-shared/src/contracts/target.rs @@ -36,6 +36,10 @@ impl DataContract for TargetDto { fn get_id(&self) -> String { self.node_id.to_string() } + + fn get_target_name(&self) -> String { + self.name.to_string() + } } pub fn map_to_target_dto( diff --git a/rs/ic-observability/multiservice-discovery-shared/src/filters/node_regex_id_filter.rs b/rs/ic-observability/multiservice-discovery-shared/src/filters/node_regex_id_filter.rs index eb9d99866..e7fc33a1d 100644 --- a/rs/ic-observability/multiservice-discovery-shared/src/filters/node_regex_id_filter.rs +++ b/rs/ic-observability/multiservice-discovery-shared/src/filters/node_regex_id_filter.rs @@ -23,7 +23,7 @@ impl NodeIDRegexFilter { impl TargetGroupFilter for NodeIDRegexFilter { fn filter(&self, target_group: &dyn DataContract) -> bool { if target_group.get_id() == self.bn_principal_placeholder.to_string() { - return self.regex.is_match(&target_group.get_name().to_string()); + return self.regex.is_match(&target_group.get_target_name().to_string()); } self.regex.is_match(&target_group.get_id())