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 C17D31FF137 for ; Tue, 14 Apr 2026 16:07:19 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 177CB1ACA7; Tue, 14 Apr 2026 16:08:09 +0200 (CEST) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Tue, 14 Apr 2026 16:08:04 +0200 Message-Id: From: =?utf-8?q?Michael_K=C3=B6ppl?= To: "Lukas Wagner" , Subject: Re: [PATCH datacenter-manager/proxmox-yew-comp v3 00/11] metric collection for the PDM host X-Mailer: aerc 0.21.0 References: <20260413085816.143591-1-l.wagner@proxmox.com> In-Reply-To: <20260413085816.143591-1-l.wagner@proxmox.com> X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1776175608793 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.049 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 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [remotes.rs,mod.rs,overview.rs,renderer.rs,rrddata.rs,state.rs,lib.rs] Message-ID-Hash: 6KWAQURDH5GTL3GWZ4MIE6KH6RIUICTK X-Message-ID-Hash: 6KWAQURDH5GTL3GWZ4MIE6KH6RIUICTK X-MailFrom: m.koeppl@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: Tested this series by: - Purposefully making metrics unavailable (by setting psi=3D0 upon boot) to see that the UI still displays the remaining graphs correctly. It's printing errors to the journal on every iteration, but the graphs are displayed correctly (pressure stall graphs simply showing no values). - Adding an additional interface, running some traffic through it and checking that traffic from the new interface is also included in the graph. Also checked that removing the interface does not cause problems. - Created a separate interface, attached a bridge to it, created some traffic and checked that the graph only showed traffic from the physical interface. - Generated some artificial load (stress-ng) and checked that the values displayed are as expected, especially with regards to memory/swap usage and memory pressure stall. - Wrote a file with dd if=3D/dev/zero of=3D/root/testfile bs=3D1M count=3D1024 oflag=3Ddire= ct and checked that it was accurately reflected in the disk usage, disk transfer rate, IOPS, and IO pressure stall graphs. - Played around a bit with the various RRD timeframes Did not notice anything off. The metrics seem to display correctly and I couldn't get the graphs to display anything weird. I also had a look at the code, but also did not notice any problems in this version of the series. Nice work! Consider this: Reviewed-by: Michael K=C3=B6ppl Tested-by: Michael K=C3=B6ppl On Mon Apr 13, 2026 at 10:58 AM CEST, Lukas Wagner wrote: > This series add metric collection physical PDM hosts. > > The patches for proxmox-yew-comp slight adapt the existing NodeStatusPane= l to allow the application > to inject child components into the same panel. > > The proxmox-datacenter-manager patches do some initial refactoring (namin= g), 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 =3D> 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 =3D> remote_coll= ection_task.rs} (99%) > > > Summary over all repositories: > 25 files changed, 974 insertions(+), 153 deletions(-)