]>
Commit | Line | Data |
---|---|---|
e653eb82 DM |
1 | Ext.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 |