]> git.proxmox.com Git - pmg-gui.git/blame - js/ServerStatus.js
multiply cpu and iowait with 100
[pmg-gui.git] / js / ServerStatus.js
CommitLineData
e653eb82
DM
1Ext.define('PMG.ServerStatus', {
2 extend: 'Ext.panel.Panel',
3 alias: 'widget.pmgServerStatus',
4
5 title: gettext('Status'),
6
7 border: false,
8
b99cf0d8
DM
9 scrollable: true,
10
8051d921 11 bodyPadding: '10 0 0 0',
b99cf0d8 12 defaults: {
8051d921
DM
13 width: 700,
14 padding: '0 0 10 10'
b99cf0d8
DM
15 },
16
8051d921
DM
17 layout: 'column',
18
e653eb82
DM
19 tbar: [
20 {
21 text: gettext("Console"),
22 handler: function() {
23 PMG.Utils.openVNCViewer('shell', Proxmox.NodeName);
24 }
b99cf0d8
DM
25 },
26 '->',
27 {
28 xtype: 'proxmoxRRDTypeSelector'
e653eb82 29 }
b99cf0d8 30 ],
e653eb82 31
b99cf0d8
DM
32 initComponent: function() {
33 var me = this;
34
35 var nodename = Proxmox.NodeName;
36 var rrdstore = Ext.create('Proxmox.data.RRDStore', {
37 rrdurl: "/api2/json/nodes/" + nodename + "/rrddata",
38 fields: [
39 { type: 'number', name: 'loadavg' },
40 { type: 'number', name: 'maxcpu' },
05e2764b
DC
41 {
42 type: 'number',
43 name: 'cpu',
44 convert: function(val) {
45 return val*100;
46 }
47 },
48 {
49 type: 'number',
50 name: 'iowait',
51 convert: function(val) {
52 return val*100;
53 }
54 },
b99cf0d8
DM
55 { type: 'number', name: 'memtotal' },
56 { type: 'number', name: 'memused' },
57 { type: 'number', name: 'swaptotal' },
58 { type: 'number', name: 'swapused' },
59 { type: 'number', name: 'roottotal' },
60 { type: 'number', name: 'rootused' },
61 { type: 'number', name: 'netin' },
62 { type: 'number', name: 'netout' },
63 { type: 'date', dateFormat: 'timestamp', name: 'time' }
64 ]
65 });
66
67 Ext.apply(me, {
68 items: [
69 {
70 xtype: 'proxmoxRRDChart',
71 title: gettext('CPU usage'),
72 unit: 'percent',
73 fields: ['cpu','iowait'],
74 fieldTitles: [gettext('CPU usage'), gettext('IO delay')],
75 store: rrdstore
76 },
77 {
78 xtype: 'proxmoxRRDChart',
79 title: gettext('Server load'),
80 fields: ['loadavg'],
81 fieldTitles: [gettext('Load average')],
82 store: rrdstore
83 },
84 {
85 xtype: 'proxmoxRRDChart',
86 title: gettext('Memory usage'),
87 unit: 'bytes',
88 fields: ['memtotal','memused'],
89 fieldTitles: [gettext('Total'), gettext('Used')],
90 store: rrdstore
91 },
92 {
93 xtype: 'proxmoxRRDChart',
94 title: gettext('Swap usage'),
95 unit: 'bytes',
96 fields: ['swaptotal','swapused'],
97 fieldTitles: [gettext('Total'), gettext('Used')],
98 store: rrdstore
99 },
100 {
101 xtype: 'proxmoxRRDChart',
102 title: gettext('Network traffic'),
103 unit: 'bytespersecond',
104 fields: ['netin','netout'],
105 fieldTitles: [gettext('Ingress'), gettext('Egress')],
106 store: rrdstore
107 },
108 {
109 xtype: 'proxmoxRRDChart',
110 title: gettext('Disk usage'),
111 unit: 'bytes',
112 fields: ['roottotal','rootused'],
113 fieldTitles: [gettext('Total'), gettext('Used')],
114 store: rrdstore
115 }
116 ],
117 listeners: {
118 activate: function() {
119 rrdstore.startUpdate();
120 },
121 destroy: function() {
122 rrdstore.stopUpdate();
123 }
124 }
125 });
126 me.callParent();
127 }
e653eb82
DM
128});
129