this patch adds a custom progressbar widget  which changes color,
depending on the value, and adds cpu/memory usage and uptime as columns
to the nodeview
altough those columns are missing in the model/api call, this works , because we
inject the data in our data collectin loop and having the fields not in
the model, causes the store not to overwrite them

Signed-off-by: Dominik Csapak <d.csa...@proxmox.com>
---
 www/manager6/dc/NodeView.js | 51 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/www/manager6/dc/NodeView.js b/www/manager6/dc/NodeView.js
index dea5f1d..af5c6e0 100644
--- a/www/manager6/dc/NodeView.js
+++ b/www/manager6/dc/NodeView.js
@@ -46,6 +46,35 @@ Ext.define('PVE.dc.NodeView', {
            sortable: true,
            dataIndex: 'ip'
        },
+       {
+           header: gettext('CPU Usage'),
+           sortable: true,
+           width: 110,
+           dataIndex: 'cpuusage',
+           tdCls: 'x-progressbar-default-cell',
+           xtype: 'widgetcolumn',
+           widget: {
+               xtype: 'pveProgressBar'
+           }
+       },
+       {
+           header: gettext('Memory Usage'),
+           width: 110,
+           sortable: true,
+           tdCls: 'x-progressbar-default-cell',
+           dataIndex: 'memoryusage',
+           xtype: 'widgetcolumn',
+           widget: {
+               xtype: 'pveProgressBar'
+           }
+       },
+       {
+           header: gettext('Uptime'),
+           sortable: true,
+           dataIndex: 'uptime',
+           align: 'right',
+           renderer: PVE.Utils.render_uptime
+       }
     ],
 
     stateful: true,
@@ -78,3 +107,25 @@ Ext.define('PVE.dc.NodeView', {
 
 });
 
+Ext.define('PVE.widget.ProgressBar',{
+    extend: 'Ext.Progress',
+    alias: 'widget.pveProgressBar',
+
+    animate: true,
+    textTpl: [
+       '{percent}%'
+    ],
+
+    setValue: function(value){
+       var me = this;
+       me.callParent([value]);
+
+       me.removeCls(['warning', 'critical']);
+
+       if (value > 0.89) {
+           me.addCls('critical');
+       } else if (value > 0.59) {
+           me.addCls('warning');
+       }
+    }
+});
-- 
2.1.4


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

Reply via email to