[pdm-devel] [PATCH datacenter-manager] server: metric collection: include pbs nodes in top-entities
Dominik Csapak
d.csapak at proxmox.com
Tue Sep 30 12:06:53 CEST 2025
they have the identical data-points (cpu_current, mem_used, mem_total)
necessary to be included, so let's do so.
Since PBS node metrics are not saved with the nodename in the path, but
rather 'host', we have to special case that here when getting the rrd
data.
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
server/src/metric_collection/top_entities.rs | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/server/src/metric_collection/top_entities.rs b/server/src/metric_collection/top_entities.rs
index 47fda24c..80f98966 100644
--- a/server/src/metric_collection/top_entities.rs
+++ b/server/src/metric_collection/top_entities.rs
@@ -41,7 +41,7 @@ pub fn calculate_top(
let mut node_cpu = Vec::new();
let mut node_memory = Vec::new();
- for remote_name in remotes.keys() {
+ for (remote_name, remote) in remotes {
if let Some(data) =
crate::api::resources::get_cached_resources(remote_name, i64::MAX as u64)
{
@@ -58,7 +58,13 @@ pub fn calculate_top(
insert_sorted(&mut guest_cpu, (coefficient, entity.1), num);
}
}
- Resource::PveNode(_) => {
+ Resource::PveNode(_) | Resource::PbsNode(_) => {
+ // pbs node datapoints are always saved with 'host' instead of nodename
+ let name = if remote.ty == pdm_api_types::remotes::RemoteType::Pbs {
+ format!("pbs/{remote_name}/host")
+ } else {
+ name
+ };
if let Some(entity) = get_entity(
timeframe,
remote_name,
@@ -101,7 +107,6 @@ pub fn calculate_top(
}
}
Resource::PveSdn(_) => {}
- Resource::PbsNode(_) => {}
Resource::PbsDatastore(_) => {}
}
}
--
2.47.3
More information about the pdm-devel
mailing list