]> git.proxmox.com Git - pmg-gui.git/blame - js/ServerStatus.js
Subscription.js - add onlineHelp
[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' },
41 { type: 'number', name: 'cpu' },
42 { type: 'number', name: 'iowait' },
43 { type: 'number', name: 'memtotal' },
44 { type: 'number', name: 'memused' },
45 { type: 'number', name: 'swaptotal' },
46 { type: 'number', name: 'swapused' },
47 { type: 'number', name: 'roottotal' },
48 { type: 'number', name: 'rootused' },
49 { type: 'number', name: 'netin' },
50 { type: 'number', name: 'netout' },
51 { type: 'date', dateFormat: 'timestamp', name: 'time' }
52 ]
53 });
54
55 Ext.apply(me, {
56 items: [
57 {
58 xtype: 'proxmoxRRDChart',
59 title: gettext('CPU usage'),
60 unit: 'percent',
61 fields: ['cpu','iowait'],
62 fieldTitles: [gettext('CPU usage'), gettext('IO delay')],
63 store: rrdstore
64 },
65 {
66 xtype: 'proxmoxRRDChart',
67 title: gettext('Server load'),
68 fields: ['loadavg'],
69 fieldTitles: [gettext('Load average')],
70 store: rrdstore
71 },
72 {
73 xtype: 'proxmoxRRDChart',
74 title: gettext('Memory usage'),
75 unit: 'bytes',
76 fields: ['memtotal','memused'],
77 fieldTitles: [gettext('Total'), gettext('Used')],
78 store: rrdstore
79 },
80 {
81 xtype: 'proxmoxRRDChart',
82 title: gettext('Swap usage'),
83 unit: 'bytes',
84 fields: ['swaptotal','swapused'],
85 fieldTitles: [gettext('Total'), gettext('Used')],
86 store: rrdstore
87 },
88 {
89 xtype: 'proxmoxRRDChart',
90 title: gettext('Network traffic'),
91 unit: 'bytespersecond',
92 fields: ['netin','netout'],
93 fieldTitles: [gettext('Ingress'), gettext('Egress')],
94 store: rrdstore
95 },
96 {
97 xtype: 'proxmoxRRDChart',
98 title: gettext('Disk usage'),
99 unit: 'bytes',
100 fields: ['roottotal','rootused'],
101 fieldTitles: [gettext('Total'), gettext('Used')],
102 store: rrdstore
103 }
104 ],
105 listeners: {
106 activate: function() {
107 rrdstore.startUpdate();
108 },
109 destroy: function() {
110 rrdstore.stopUpdate();
111 }
112 }
113 });
114 me.callParent();
115 }
e653eb82
DM
116});
117