[pve-devel] [PATCH pve-manager 1/3] ui: de-stackify RRD memory graphs
Dominik Csapak
d.csapak at proxmox.com
Mon Aug 4 13:28:40 CEST 2025
From: Thomas Lamprecht <t.lamprecht at proxmox.com>
highly confusing if y-axis does not matches the metric and "jumps" if
metrics get toggled via the legend.
Keep the 'host memory' in vm graphs as a line, as otherwise the
overlapping colors make the graph also confusing, and keep it's
'hidden by default' logic.
While at it, use title case for the legend.
Originally-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
www/manager6/data/model/RRDModels.js | 28 ----------------------------
www/manager6/node/Summary.js | 12 +++---------
www/manager6/panel/GuestSummary.js | 20 +++++++++-----------
3 files changed, 12 insertions(+), 48 deletions(-)
diff --git a/www/manager6/data/model/RRDModels.js b/www/manager6/data/model/RRDModels.js
index cc5d31d2..362f9740 100644
--- a/www/manager6/data/model/RRDModels.js
+++ b/www/manager6/data/model/RRDModels.js
@@ -33,25 +33,6 @@ Ext.define('pve-rrd-node', {
'pressurememorysome',
'pressurememoryfull',
{ type: 'date', dateFormat: 'timestamp', name: 'time' },
- {
- name: 'memfree-capped',
- calculate: function (data) {
- if (data.memtotal >= 0 && data.memused >= 0 && data.memtotal >= data.memused) {
- return data.memtotal - data.memused;
- }
- return null;
- },
- },
- {
- name: 'memused-sub-arcsize',
- calculate: function (data) {
- let arcsize = data.arcsize ?? 0; // pre pve9 nodes don't report any arcsize
- if (data.memused >= 0 && arcsize >= 0 && data.memused >= arcsize) {
- return data.memused - arcsize;
- }
- return null;
- },
- },
],
});
@@ -82,15 +63,6 @@ Ext.define('pve-rrd-guest', {
'pressurememorysome',
'pressurememoryfull',
{ type: 'date', dateFormat: 'timestamp', name: 'time' },
- {
- name: 'memfree-capped',
- calculate: function (data) {
- if (data.maxmem >= 0 && data.mem >= 0 && data.maxmem >= data.mem) {
- return data.maxmem - data.mem;
- }
- return null;
- },
- },
],
});
diff --git a/www/manager6/node/Summary.js b/www/manager6/node/Summary.js
index 9a3f84a4..c7a33c51 100644
--- a/www/manager6/node/Summary.js
+++ b/www/manager6/node/Summary.js
@@ -177,18 +177,12 @@ Ext.define('PVE.node.Summary', {
{
xtype: 'proxmoxRRDChart',
title: gettext('Memory usage'),
- fields: [
- {
- type: 'area',
- yField: ['memused-sub-arcsize', 'arcsize', 'memfree-capped'],
- title: [gettext('Used'), gettext('ZFS ARC'), gettext('Free')],
- },
- ],
- colors: ['#115fa6', '#7c7474', '#94ae0a'],
+ fields: ['memtotal', 'memused', 'arcsize'],
+ fieldTitles: [gettext('Total'), gettext('Used'), gettext('ZFS ARC')],
+ colors: ['#94ae0a', '#115fa6', '#7c7474'],
unit: 'bytes',
powerOfTwo: true,
store: rrdstore,
- stacked: true,
},
{
xtype: 'proxmoxRRDChart',
diff --git a/www/manager6/panel/GuestSummary.js b/www/manager6/panel/GuestSummary.js
index f46006b4..9a9ced38 100644
--- a/www/manager6/panel/GuestSummary.js
+++ b/www/manager6/panel/GuestSummary.js
@@ -33,19 +33,16 @@ Ext.define('PVE.guest.Summary', {
let hideMemhostStateKey = 'pve-vm-hide-memhost';
let sp = Ext.state.Manager.getProvider();
- let memoryFields = [
- {
- type: 'area',
- yField: ['mem', 'memfree-capped'],
- title: [gettext('Used'), gettext('Free')],
- },
- ];
+ let memoryStats = {
+ fields: ['maxmem', 'mem'],
+ fieldTitles: [gettext('Total'), gettext('Used')],
+ };
if (type === 'qemu') {
- memoryFields.push({
+ memoryStats.fields.push({
type: 'line',
fill: false,
yField: 'memhost',
- title: gettext('Host memory usage'),
+ title: gettext('Host Memory Usage'),
hidden: sp.get(hideMemhostStateKey, true),
style: {
lineWidth: 2.5,
@@ -106,8 +103,9 @@ Ext.define('PVE.guest.Summary', {
xtype: 'proxmoxRRDChart',
title: gettext('Memory Usage'),
pveSelNode: me.pveSelNode,
- fields: memoryFields,
- colors: ['#115fa6', '#94ae0a', '#c4c0c0'],
+ fields: memoryStats.fields,
+ fieldTitles: memoryStats.fieldTitles,
+ colors: ['#94ae0a', '#115fa6', '#c4c0c0'],
unit: 'bytes',
powerOfTwo: true,
store: rrdstore,
--
2.39.5
More information about the pve-devel
mailing list