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