public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Matthias Heiserer <m.heiserer@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [RFC widget-toolkit] ui: add InfoMultiWidget, to be used for RAM
Date: Wed, 25 Jan 2023 12:29:29 +0100	[thread overview]
Message-ID: <20230125112932.127145-5-m.heiserer@proxmox.com> (raw)
In-Reply-To: <20230125112932.127145-1-m.heiserer@proxmox.com>

Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
---
 src/Makefile                  |  1 +
 src/panel/NodeMemoryWidget.js | 28 ++++++++++++++++++++++++++++
 src/panel/StatusView.js       |  2 +-
 3 files changed, 30 insertions(+), 1 deletion(-)
 create mode 100644 src/panel/NodeMemoryWidget.js

diff --git a/src/Makefile b/src/Makefile
index 95da5aa..5a0213a 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -54,6 +54,7 @@ JSSRC=					\
 	panel/EOLNotice.js		\
 	panel/InputPanel.js		\
 	panel/InfoWidget.js		\
+	panel/NodeMemoryWidget.js	\
 	panel/LogView.js		\
 	panel/NodeInfoRepoStatus.js	\
 	panel/JournalView.js		\
diff --git a/src/panel/NodeMemoryWidget.js b/src/panel/NodeMemoryWidget.js
new file mode 100644
index 0000000..e54899e
--- /dev/null
+++ b/src/panel/NodeMemoryWidget.js
@@ -0,0 +1,28 @@
+Ext.define('Proxmox.widget.NodeMemory', {
+    extend: 'Proxmox.widget.Info',
+    alias: 'widget.pmxNodeMemoryWidget',
+
+    updateValue: function(text, usage, mem) {
+	let me = this;
+
+	let arcUse = me.el?.getById("arcsize")?.dom;
+	if (arcUse) {
+	    usage = (mem.used - mem.arcsize) / mem.total;
+	    arcUse.style["margin-right"] = `${(mem.free / mem.total) * 100}%`;
+	}
+	me.callParent([text, usage]);
+    },
+
+    initComponent: function() {
+	let me = this;
+	me.callParent();
+
+	me.down("#progress").on('boxready', (self) => {
+	    self.bar.dom.insertAdjacentHTML("beforebegin",
+		`<div id='arcsize'
+		    style='margin-right: 100%; background-color: #86424c; width: auto;'
+		    class='x-progress-bar'>
+		</div>`);
+	});
+    },
+});
diff --git a/src/panel/StatusView.js b/src/panel/StatusView.js
index e2e81e2..7258f36 100644
--- a/src/panel/StatusView.js
+++ b/src/panel/StatusView.js
@@ -72,7 +72,7 @@ Ext.define('Proxmox.panel.StatusView', {
 	    if (Ext.isFunction(field.calculate)) {
 		calculate = field.calculate;
 	    }
-	    field.updateValue(renderer.call(field, used, max), calculate(used, max));
+	    field.updateValue(renderer.call(field, used, max), calculate(used, max), used);
 	}
     },
 
-- 
2.30.2





  parent reply	other threads:[~2023-01-25 11:29 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-25 11:29 [pve-devel] [RFC ] fix #1454 - include ZFS ARC in memory usage Matthias Heiserer
2023-01-25 11:29 ` [pve-devel] [RFC OPTIONAL pve-cluster 1/1] add arcsize to rrd Matthias Heiserer
2023-03-15 11:10   ` Dominik Csapak
2023-03-15 11:51     ` Matthias Heiserer
2023-03-16  6:53       ` DERUMIER, Alexandre
2023-03-17 13:17       ` Matthias Heiserer
2023-03-15 12:29     ` DERUMIER, Alexandre
2023-01-25 11:29 ` [pve-devel] [RFC common] procfstools: add arcsize to meminfo Matthias Heiserer
2023-01-25 11:29 ` [pve-devel] [PATCH manager 1/4] node/status: return arc size Matthias Heiserer
2023-01-25 11:29 ` Matthias Heiserer [this message]
2023-03-15 11:10   ` [pve-devel] [RFC widget-toolkit] ui: add InfoMultiWidget, to be used for RAM Dominik Csapak
2023-03-15 11:14   ` Dominik Csapak
2023-01-25 11:29 ` [pve-devel] [PATCH manager 2/4] store arcsize in rrd Matthias Heiserer
2023-01-25 11:29 ` [pve-devel] [PATCH manager 3/4] ui: node summary: show arc in rrd graph Matthias Heiserer
2023-01-25 11:29 ` [pve-devel] [PATCH manager 4/4] ui: node summary: show arc in RAM usage progress bar Matthias Heiserer

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=20230125112932.127145-5-m.heiserer@proxmox.com \
    --to=m.heiserer@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
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal