From: Aaron Lauterer <a.lauterer@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: Re: [pve-devel] [RFC many 0/3] combine and simplify RRD handling
Date: Fri, 5 Sep 2025 15:58:48 +0200 [thread overview]
Message-ID: <07f0f4ad-d0c6-4557-8be8-9ebf5971e709@proxmox.com> (raw)
In-Reply-To: <20250904140914.3060859-1-a.lauterer@proxmox.com>
sent a v1
https://lore.proxmox.com/pve-devel/20250905135517.4005478-1-a.lauterer@proxmox.com/T/#t
On 2025-09-04 16:09, Aaron Lauterer wrote:
> this series does two things:
> * switch the RRD API backend to use the old RRD files is available
> * always use RRD files with the new 9.0 schema
>
> 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 will also enable 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 the only the old
> file exist or is the new one also present" alot in quite a few places.
>
> Some examples which we can simplify or revert:
> pve-manager: API2Tools::get_rrd_key can most likely be dropped
> qemu-server, pve-storage, pve-container,…: rrd API endpoints which check which files exist
> drop the whole migration step on upgrade
>
> other TODOs:
>
> RRD::create_rrd_graph -> see if we can combine both files into one graph. But we
> are relying on RRD itself for this. So that might be interesting. On the other
> hand, do we want to keep that API endpoint around? People are using it though.
> So we need to weigh that decision accoringly.
>
>
> This is currently marked as RFC. Tested by installing it on an existing 9.0.6
> cluster. Added a 8.4 node with latest updates. Renamed {rrd}.old to {rrd}.
>
> 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 | 113 ++++++++++++++-------
> src/pmxcfs/status.c | 238 ++++++--------------------------------------
> 2 files changed, 108 insertions(+), 243 deletions(-)
>
>
> Summary over all repositories:
> 2 files changed, 108 insertions(+), 243 deletions(-)
>
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
prev parent reply other threads:[~2025-09-05 13:59 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-04 14:09 Aaron Lauterer
2025-09-04 14:09 ` [pve-devel] [PATCH cluster 1/3] rrd: fix rrd time frames Aaron Lauterer
2025-09-04 14:09 ` [pve-devel] [PATCH cluster 2/3] RRD: fetch data from old rrd file if present and needed Aaron Lauterer
2025-09-04 14:09 ` [pve-devel] [PATCH cluster 3/3] pmxcfs: status.c: always use 9.0 rrd files Aaron Lauterer
2025-09-04 18:20 ` [pve-devel] [RFC many 0/3] combine and simplify RRD handling Thomas Lamprecht
2025-09-05 8:04 ` Aaron Lauterer
2025-09-05 8:12 ` Thomas Lamprecht
2025-09-05 12:54 ` Aaron Lauterer
2025-09-05 13:58 ` Aaron Lauterer [this message]
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=07f0f4ad-d0c6-4557-8be8-9ebf5971e709@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox