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