From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id CB1D91FF141 for ; Mon, 13 Apr 2026 10:57:45 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 3475E1CDEB; Mon, 13 Apr 2026 10:58:31 +0200 (CEST) From: Lukas Wagner To: pdm-devel@lists.proxmox.com Subject: [PATCH datacenter-manager/proxmox-yew-comp v3 00/11] metric collection for the PDM host Date: Mon, 13 Apr 2026 10:58:05 +0200 Message-ID: <20260413085816.143591-1-l.wagner@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1776070632276 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.095 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: UXGFNLSPZQPBZIHHREFHN2NNVOOJ7I4D X-Message-ID-Hash: UXGFNLSPZQPBZIHHREFHN2NNVOOJ7I4D X-MailFrom: l.wagner@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: This series add metric collection physical PDM hosts. The patches for proxmox-yew-comp slight adapt the existing NodeStatusPanel to allow the application to inject child components into the same panel. The proxmox-datacenter-manager patches do some initial refactoring (naming), and then add the needed collection loop, API types and UI elements. Changes since v2: - rebased - adapted PDM part to changes in proxmox-disks (minor, only renaming) - drop already applied patches for 'proxmox' - drop patches for 'proxmox-backup' - these need to be adapted for the refactoring of proxmox-disks and are pretty much independent of this series here, so they will be posted separately Changes since v1: - rebased - fixed failing unit test - fixed mistake in Cargo.toml - dropped patch for proxmox-sys, Fabian fixed the issue using another approach proxmox-yew-comp: Lukas Wagner (3): node status panel: add `children` property RRDGrid: fix size observer by attaching node reference to rendered container RRDGrid: add padding and increase gap between elements src/node_status_panel.rs | 16 ++++++++++++++++ src/rrd_grid.rs | 5 +++-- 2 files changed, 19 insertions(+), 2 deletions(-) proxmox-datacenter-manager: Lukas Wagner (8): metric collection: clarify naming for remote metric collection metric collection: fix minor typo in error message metric collection: collect PDM host metrics in a new collection task api: fix /nodes/localhost/rrddata endpoint pdm: node rrd data: rename 'total-time' to 'metric-collection-total-time' pdm-api-types: add PDM host metric fields ui: node status: add RRD graphs for PDM host metrics ui: lxc/qemu/node: use RRD value render helpers Cargo.toml | 2 + cli/client/src/metric_collection.rs | 4 +- debian/control | 2 + lib/pdm-api-types/src/metric_collection.rs | 2 +- lib/pdm-api-types/src/rrddata.rs | 74 ++++- lib/pdm-client/src/lib.rs | 8 +- server/Cargo.toml | 2 + server/src/api/metric_collection.rs | 10 +- server/src/api/nodes/mod.rs | 2 +- server/src/api/nodes/rrddata.rs | 73 +++- server/src/api/remotes.rs | 2 +- server/src/api/rrd_common.rs | 2 +- .../local_collection_task.rs | 199 +++++++++++ server/src/metric_collection/mod.rs | 40 ++- ...tion_task.rs => remote_collection_task.rs} | 8 +- server/src/metric_collection/rrd_task.rs | 187 ++++++++++- server/src/metric_collection/state.rs | 2 +- ui/src/administration/node_status.rs | 312 +++++++++++++++++- ui/src/pbs/node/overview.rs | 29 +- ui/src/pve/lxc/overview.rs | 34 +- ui/src/pve/node/overview.rs | 29 +- ui/src/pve/qemu/overview.rs | 34 +- ui/src/renderer.rs | 49 +++ 23 files changed, 955 insertions(+), 151 deletions(-) create mode 100644 server/src/metric_collection/local_collection_task.rs rename server/src/metric_collection/{collection_task.rs => remote_collection_task.rs} (99%) Summary over all repositories: 25 files changed, 974 insertions(+), 153 deletions(-) -- Generated by murpp 0.11.0