]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/qemu/StatusView.js
StatusView: more verbose HA status output
[pve-manager.git] / www / manager6 / qemu / StatusView.js
1 Ext.define('PVE.qemu.StatusView', {
2 extend: 'PVE.grid.ObjectGrid',
3 alias: ['widget.pveQemuStatusView'],
4
5 initComponent : function() {
6 var me = this;
7
8 var nodename = me.pveSelNode.data.node;
9 if (!nodename) {
10 throw "no node name specified";
11 }
12
13 var vmid = me.pveSelNode.data.vmid;
14 if (!vmid) {
15 throw "no VM ID specified";
16 }
17
18 var render_cpu = function(value, metaData, record, rowIndex, colIndex, store) {
19 if (!me.getObjectValue('uptime')) {
20 return '-';
21 }
22
23 var maxcpu = me.getObjectValue('cpus', 1);
24
25 if (!(Ext.isNumeric(value) && Ext.isNumeric(maxcpu) && (maxcpu >= 1))) {
26 return '-';
27 }
28
29 var per = (value * 100);
30
31 return per.toFixed(1) + '% of ' + maxcpu.toString() + (maxcpu > 1 ? 'CPUs' : 'CPU');
32 };
33
34 var render_mem = function(value, metaData, record, rowIndex, colIndex, store) {
35 var maxmem = me.getObjectValue('maxmem', 0);
36 var per = (value / maxmem)*100;
37 var text = "<div>" + PVE.Utils.totalText + ": " + PVE.Utils.format_size(maxmem) + "</div>" +
38 "<div>" + PVE.Utils.usedText + ": " + PVE.Utils.format_size(value) + "</div>";
39 return text;
40 };
41
42 var rows = {
43 name: { header: gettext('Name'), defaultValue: 'no name specified' },
44 qmpstatus: { header: gettext('Status'), defaultValue: 'unknown' },
45 cpu: { header: gettext('CPU usage'), required: true, renderer: render_cpu },
46 cpus: { visible: false },
47 mem: { header: gettext('Memory usage'), required: true, renderer: render_mem },
48 maxmem: { visible: false },
49 uptime: { header: gettext('Uptime'), required: true, renderer: PVE.Utils.render_uptime },
50 ha: { header: gettext('Managed by HA'), required: true, renderer: PVE.Utils.format_ha }
51 };
52
53 Ext.applyIf(me, {
54 cwidth1: 150,
55 rows: rows
56 });
57
58 me.callParent();
59 }
60 });