all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [PATCH datacenter-manager/proxmox{,-backup,-yew-comp} 00/26] metric collection for the PDM host
@ 2026-03-12 13:52 Lukas Wagner
  2026-03-12 13:52 ` [PATCH proxmox 01/26] sys: procfs: don't read from sysfs during unit tests Lukas Wagner
                   ` (26 more replies)
  0 siblings, 27 replies; 31+ messages in thread
From: Lukas Wagner @ 2026-03-12 13:52 UTC (permalink / raw)
  To: pdm-devel

This series add metric collection physical PDM hosts.

The patches for `proxmox` introduce three new crates:
  - proxmox-disks: broken out from proxmox-backup, needed to read disk stats
  - proxmox-parallel-handler: also broken out from proxmox-backup,
    needed as a dependency for proxmox-disks. Since the scope was manageable,
    this series improves the existing code a bit by adding a dedicated error type,
    some documentation and basic unit tests
  - proxmox-procfs: as a new home for any procfs related modules. this patch series adds
    a `pressure` module for reading pressure stall information for the host and cgroups.
    The general idea is that we should move other procfs helpers from proxmox-sys into
    this new crate, but to avoid scope explosion this is not done as a part of this
    series

The patches for proxmox-backup just switch over to the new moved implementations of proxmox-disks
and proxmox-parallel-handler.

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.


proxmox:

Lukas Wagner (12):
  sys: procfs: don't read from sysfs during unit tests
  parallel-handler: import code from Proxmox Backup Server
  parallel-handler: introduce custom error type
  parallel-handler: add documentation
  parallel-handler: add simple unit-test suite
  disks: import from Proxmox Backup Server
  disks: fix typo in `initialize_gpt_disk`
  disks: add parts of gather_disk_stats from PBS
  disks: gate api macro behind 'api-types' feature
  disks: clippy: collapse if-let chains where possible
  procfs: add helpers for querying pressure stall information
  time: use u64 parse helper from nom

 Cargo.toml                                    |   10 +
 proxmox-disks/Cargo.toml                      |   34 +
 proxmox-disks/debian/changelog                |    5 +
 proxmox-disks/debian/control                  |   94 ++
 proxmox-disks/debian/copyright                |   18 +
 proxmox-disks/debian/debcargo.toml            |    7 +
 proxmox-disks/src/lib.rs                      | 1434 +++++++++++++++++
 proxmox-disks/src/lvm.rs                      |   60 +
 proxmox-disks/src/parse_helpers.rs            |   52 +
 proxmox-disks/src/smart.rs                    |  228 +++
 proxmox-disks/src/zfs.rs                      |  205 +++
 proxmox-disks/src/zpool_list.rs               |  294 ++++
 proxmox-disks/src/zpool_status.rs             |  496 ++++++
 proxmox-parallel-handler/Cargo.toml           |   16 +
 proxmox-parallel-handler/debian/changelog     |    5 +
 proxmox-parallel-handler/debian/control       |   36 +
 proxmox-parallel-handler/debian/copyright     |   18 +
 proxmox-parallel-handler/debian/debcargo.toml |    7 +
 proxmox-parallel-handler/src/lib.rs           |  344 ++++
 proxmox-procfs/Cargo.toml                     |   18 +
 proxmox-procfs/debian/changelog               |    5 +
 proxmox-procfs/debian/control                 |   50 +
 proxmox-procfs/debian/copyright               |   18 +
 proxmox-procfs/debian/debcargo.toml           |    7 +
 proxmox-procfs/src/lib.rs                     |    1 +
 proxmox-procfs/src/pressure.rs                |  334 ++++
 proxmox-sys/src/linux/procfs/mod.rs           |   30 +-
 proxmox-time/src/parse_helpers.rs             |    5 -
 proxmox-time/src/time_span.rs                 |    4 +-
 29 files changed, 3818 insertions(+), 17 deletions(-)
 create mode 100644 proxmox-disks/Cargo.toml
 create mode 100644 proxmox-disks/debian/changelog
 create mode 100644 proxmox-disks/debian/control
 create mode 100644 proxmox-disks/debian/copyright
 create mode 100644 proxmox-disks/debian/debcargo.toml
 create mode 100644 proxmox-disks/src/lib.rs
 create mode 100644 proxmox-disks/src/lvm.rs
 create mode 100644 proxmox-disks/src/parse_helpers.rs
 create mode 100644 proxmox-disks/src/smart.rs
 create mode 100644 proxmox-disks/src/zfs.rs
 create mode 100644 proxmox-disks/src/zpool_list.rs
 create mode 100644 proxmox-disks/src/zpool_status.rs
 create mode 100644 proxmox-parallel-handler/Cargo.toml
 create mode 100644 proxmox-parallel-handler/debian/changelog
 create mode 100644 proxmox-parallel-handler/debian/control
 create mode 100644 proxmox-parallel-handler/debian/copyright
 create mode 100644 proxmox-parallel-handler/debian/debcargo.toml
 create mode 100644 proxmox-parallel-handler/src/lib.rs
 create mode 100644 proxmox-procfs/Cargo.toml
 create mode 100644 proxmox-procfs/debian/changelog
 create mode 100644 proxmox-procfs/debian/control
 create mode 100644 proxmox-procfs/debian/copyright
 create mode 100644 proxmox-procfs/debian/debcargo.toml
 create mode 100644 proxmox-procfs/src/lib.rs
 create mode 100644 proxmox-procfs/src/pressure.rs


proxmox-backup:

Lukas Wagner (3):
  tools: move ParallelHandler to new proxmox-parallel-handler crate
  tools: replace disks module with proxmox-disks
  metric collection: use blockdev_stat_for_path from proxmox_disks

 Cargo.toml                                  |    6 +
 src/api2/admin/datastore.rs                 |   10 +-
 src/api2/config/datastore.rs                |    2 +-
 src/api2/node/disks/directory.rs            |   10 +-
 src/api2/node/disks/mod.rs                  |   20 +-
 src/api2/node/disks/zfs.rs                  |   14 +-
 src/api2/tape/restore.rs                    |   25 +-
 src/backup/verify.rs                        |    3 +-
 src/bin/proxmox_backup_manager/disk.rs      |    9 +-
 src/server/metric_collection/mod.rs         |   50 +-
 src/server/pull.rs                          |    5 +-
 src/tape/pool_writer/new_chunks_iterator.rs |    3 +-
 src/tools/disks/lvm.rs                      |   60 -
 src/tools/disks/mod.rs                      | 1394 -------------------
 src/tools/disks/smart.rs                    |  227 ---
 src/tools/disks/zfs.rs                      |  205 ---
 src/tools/mod.rs                            |    3 -
 src/tools/parallel_handler.rs               |  160 ---
 18 files changed, 62 insertions(+), 2144 deletions(-)
 delete mode 100644 src/tools/disks/lvm.rs
 delete mode 100644 src/tools/disks/mod.rs
 delete mode 100644 src/tools/disks/smart.rs
 delete mode 100644 src/tools/disks/zfs.rs
 delete mode 100644 src/tools/parallel_handler.rs


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                                |   1 +
 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, 954 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:
  72 files changed, 4853 insertions(+), 2314 deletions(-)

-- 
Generated by murpp 0.10.0




^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2026-03-16 13:42 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-03-12 13:52 [PATCH datacenter-manager/proxmox{,-backup,-yew-comp} 00/26] metric collection for the PDM host Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox 01/26] sys: procfs: don't read from sysfs during unit tests Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox 02/26] parallel-handler: import code from Proxmox Backup Server Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox 03/26] parallel-handler: introduce custom error type Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox 04/26] parallel-handler: add documentation Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox 05/26] parallel-handler: add simple unit-test suite Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox 06/26] disks: import from Proxmox Backup Server Lukas Wagner
2026-03-16 13:13   ` Arthur Bied-Charreton
2026-03-12 13:52 ` [PATCH proxmox 07/26] disks: fix typo in `initialize_gpt_disk` Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox 08/26] disks: add parts of gather_disk_stats from PBS Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox 09/26] disks: gate api macro behind 'api-types' feature Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox 10/26] disks: clippy: collapse if-let chains where possible Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox 11/26] procfs: add helpers for querying pressure stall information Lukas Wagner
2026-03-16 13:25   ` Arthur Bied-Charreton
2026-03-12 13:52 ` [PATCH proxmox 12/26] time: use u64 parse helper from nom Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox-backup 13/26] tools: move ParallelHandler to new proxmox-parallel-handler crate Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox-backup 14/26] tools: replace disks module with proxmox-disks Lukas Wagner
2026-03-16 13:27   ` Arthur Bied-Charreton
2026-03-12 13:52 ` [PATCH proxmox-backup 15/26] metric collection: use blockdev_stat_for_path from proxmox_disks Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox-yew-comp 16/26] node status panel: add `children` property Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox-yew-comp 17/26] RRDGrid: fix size observer by attaching node reference to rendered container Lukas Wagner
2026-03-12 13:52 ` [PATCH proxmox-yew-comp 18/26] RRDGrid: add padding and increase gap between elements Lukas Wagner
2026-03-12 13:52 ` [PATCH datacenter-manager 19/26] metric collection: clarify naming for remote metric collection Lukas Wagner
2026-03-12 13:52 ` [PATCH datacenter-manager 20/26] metric collection: fix minor typo in error message Lukas Wagner
2026-03-12 13:52 ` [PATCH datacenter-manager 21/26] metric collection: collect PDM host metrics in a new collection task Lukas Wagner
2026-03-12 13:52 ` [PATCH datacenter-manager 22/26] api: fix /nodes/localhost/rrddata endpoint Lukas Wagner
2026-03-12 13:52 ` [PATCH datacenter-manager 23/26] pdm: node rrd data: rename 'total-time' to 'metric-collection-total-time' Lukas Wagner
2026-03-12 13:52 ` [PATCH datacenter-manager 24/26] pdm-api-types: add PDM host metric fields Lukas Wagner
2026-03-12 13:52 ` [PATCH datacenter-manager 25/26] ui: node status: add RRD graphs for PDM host metrics Lukas Wagner
2026-03-12 13:52 ` [PATCH datacenter-manager 26/26] ui: lxc/qemu/node: use RRD value render helpers Lukas Wagner
2026-03-16 13:42 ` [PATCH datacenter-manager/proxmox{,-backup,-yew-comp} 00/26] metric collection for the PDM host Arthur Bied-Charreton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal