public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Aaron Lauterer <a.lauterer@proxmox.com>
To: Thomas Lamprecht <t.lamprecht@proxmox.com>,
	Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] [RFC many 0/3] combine and simplify RRD handling
Date: Fri, 5 Sep 2025 10:04:05 +0200	[thread overview]
Message-ID: <42af7308-b591-4bdd-9c7c-89e451a251d3@proxmox.com> (raw)
In-Reply-To: <ef6a4c73-4167-4141-a262-1ad6a1852372@proxmox.com>



On  2025-09-04  20:20, Thomas Lamprecht wrote:
> Am 04.09.25 um 16:09 schrieb Aaron Lauterer:
>> 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.
> 
> Keeping it around for the time being is definitively required now that
> PVE 9.0 is out, we might sunset it for a future major release.
> 
> Another option might be to generate both images and merge them manually,
> i.e. literally make the right part the old and the left part the new
> image with some imagemagick command. Or does rrd indeed supports merging
> two files together?

One thing that should be possible is to give it two datasets from 
different files. That would be a middle ground as in, all data is there, 
but it would show up as separata data lines.

I am looking into it to see if we could get it nicer. Manually stitching 
images together will most likely not work because I don't expected the 
scales to match up perfectly.

> 
>>
>>
>> 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

  reply	other threads:[~2025-09-05  8:03 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 [this message]
2025-09-05  8:12     ` Thomas Lamprecht
2025-09-05 12:54       ` Aaron Lauterer
2025-09-05 13:58 ` 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=42af7308-b591-4bdd-9c7c-89e451a251d3@proxmox.com \
    --to=a.lauterer@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    --cc=t.lamprecht@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
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal