all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Aaron Lauterer <a.lauterer@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH cluster/container/manager/qemu-server/storage v2 0/7] combine and simplify RRD handling
Date: Mon,  3 Nov 2025 23:00:15 +0100	[thread overview]
Message-ID: <20251103220024.2488005-1-a.lauterer@proxmox.com> (raw)

this series does two things:
* switch the RRD API backend to use the old RRD files if available
  * only data for frontend graphs
  * PNG generation
* always use RRD files with the new 9.0 schema in pmxcfs/status.c
* hardcode pve-TYPE-9.0 paths in the RRD api endpoints for
  * nodes
  * VMs
  * CTs
  * Storage

The motivation for the combination of old and new RRD files is that during the
migration of old RRD files to the new ones, spikes get flattened. By combining
the old and new RRD files, we can keep the old coarse data with all it spikes
and only show the new much mode finer stepped data where available.

This also enables us to just write any new data into an RRD file that is created
with the new 9.0 schema. As a result, no migration step is needed anymore and we
can simplify the logic around the whole "does only the old file exist or is the
new one also present" alot in quite a few places.

This series does not remove the rrd migration tool or its dependencies! That
still needs to happen! We want to keep the check in the pve8to9 tool, because we
will need the additional space in any case.

changes since v1:
* rebased qemu-server and container repos as the patches didn't apply anymore
after `make tidy` happened in the meantime.
* added R-b and T-b from Laurentiu.

I tested it once more on my personal infra with long running guests. Looks good,
but one result we have with this approach is that we have a gap of roughly the
longer old time steps when we switch from old to new data. But on the other
hand, we do maintain the old spikes as they used to be.

cluster:

Aaron Lauterer (3):
  rrd: fix rrd time frames
  RRD: fetch data from old rrd file if present and needed
  pmxcfs: status.c: always use 9.0 rrd files

 src/PVE/RRD.pm      | 162 ++++++++++++++++++++++--------
 src/pmxcfs/status.c | 238 ++++++--------------------------------------
 2 files changed, 153 insertions(+), 247 deletions(-)


manager:

Aaron Lauterer (1):
  status: rrddata: use fixed pve-node-9.0 path

 PVE/API2/Nodes.pm | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)


qemu-server:

Aaron Lauterer (1):
  status: rrddata: use fixed pve-vm-9.0 path

 src/PVE/API2/Qemu.pm | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)


container:

Aaron Lauterer (1):
  status: rrddata: use fixed pve-vm-9.0 path

 src/PVE/API2/LXC.pm | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)


storage:

Aaron Lauterer (1):
  status: rrddata: use fixed pve-storage-9.0 path

 src/PVE/API2/Storage/Status.pm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)


Summary over all repositories:
  6 files changed, 176 insertions(+), 274 deletions(-)

-- 
Generated by git-murpp 0.8.1


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


             reply	other threads:[~2025-11-03 22:00 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-03 22:00 Aaron Lauterer [this message]
2025-11-03 22:00 ` [pve-devel] [PATCH cluster v2 1/3] rrd: fix rrd time frames Aaron Lauterer
2025-11-03 22:00 ` [pve-devel] [PATCH cluster v2 2/3] RRD: fetch data from old rrd file if present and needed Aaron Lauterer
2025-11-03 22:00 ` [pve-devel] [PATCH cluster v2 3/3] pmxcfs: status.c: always use 9.0 rrd files Aaron Lauterer
2025-11-03 22:00 ` [pve-devel] [PATCH manager v2 1/1] status: rrddata: use fixed pve-node-9.0 path Aaron Lauterer
2025-11-03 22:00 ` [pve-devel] [PATCH qemu-server v2 1/1] status: rrddata: use fixed pve-vm-9.0 path Aaron Lauterer
2025-11-03 22:00 ` [pve-devel] [PATCH container " Aaron Lauterer
2025-11-03 22:00 ` [pve-devel] [PATCH storage v2 1/1] status: rrddata: use fixed pve-storage-9.0 path Aaron Lauterer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251103220024.2488005-1-a.lauterer@proxmox.com \
    --to=a.lauterer@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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