]>
Commit | Line | Data |
---|---|---|
426d7f74 DM |
1 | Ext.define('PVE.qemu.Summary', { |
2 | extend: 'Ext.panel.Panel', | |
3 | alias: 'widget.pveQemuSummary', | |
4 | ||
6f68dcbe EK |
5 | tbar: [ '->', { xtype: 'pveRRDTypeSelector' } ], |
6 | scrollable: true, | |
7 | bodyStyle: 'padding:10px', | |
8 | defaults: { | |
9 | style: 'padding-top:10px', | |
10 | width: 800 | |
11 | }, | |
12 | ||
426d7f74 DM |
13 | initComponent: function() { |
14 | var me = this; | |
15 | ||
16 | var nodename = me.pveSelNode.data.node; | |
17 | if (!nodename) { | |
18 | throw "no node name specified"; | |
19 | } | |
20 | ||
21 | var vmid = me.pveSelNode.data.vmid; | |
22 | if (!vmid) { | |
23 | throw "no VM ID specified"; | |
24 | } | |
25 | ||
26 | if (!me.workspace) { | |
27 | throw "no workspace specified"; | |
28 | } | |
29 | ||
30 | if (!me.statusStore) { | |
31 | throw "no status storage specified"; | |
32 | } | |
33 | ||
34 | var rstore = me.statusStore; | |
35 | ||
36 | var statusview = Ext.create('PVE.qemu.StatusView', { | |
37 | title: gettext('Status'), | |
38 | pveSelNode: me.pveSelNode, | |
39 | width: 400, | |
40 | rstore: rstore | |
41 | }); | |
42 | ||
43 | var rrdurl = "/api2/png/nodes/" + nodename + "/qemu/" + vmid + "/rrd"; | |
44 | ||
45 | var notesview = Ext.create('PVE.panel.NotesView', { | |
46 | pveSelNode: me.pveSelNode, | |
47 | flex: 1 | |
48 | }); | |
49 | ||
50 | Ext.apply(me, { | |
426d7f74 DM |
51 | items: [ |
52 | { | |
53 | style: 'padding-top:0px', | |
54 | layout: { | |
55 | type: 'hbox', | |
56 | align: 'stretchmax' | |
57 | }, | |
58 | border: false, | |
59 | items: [ statusview, notesview ] | |
60 | }, | |
61 | { | |
62 | xtype: 'pveRRDView', | |
63 | title: gettext('CPU usage'), | |
64 | pveSelNode: me.pveSelNode, | |
65 | datasource: 'cpu', | |
66 | rrdurl: rrdurl | |
67 | }, | |
68 | { | |
69 | xtype: 'pveRRDView', | |
70 | title: gettext('Memory usage'), | |
71 | pveSelNode: me.pveSelNode, | |
72 | datasource: 'mem,maxmem', | |
73 | rrdurl: rrdurl | |
74 | }, | |
75 | { | |
76 | xtype: 'pveRRDView', | |
77 | title: gettext('Network traffic'), | |
78 | pveSelNode: me.pveSelNode, | |
79 | datasource: 'netin,netout', | |
80 | rrdurl: rrdurl | |
81 | }, | |
82 | { | |
83 | xtype: 'pveRRDView', | |
84 | title: gettext('Disk IO'), | |
85 | pveSelNode: me.pveSelNode, | |
86 | datasource: 'diskread,diskwrite', | |
87 | rrdurl: rrdurl | |
88 | } | |
89 | ] | |
90 | }); | |
91 | ||
6f68dcbe | 92 | me.on('activate', function() { |
426d7f74 DM |
93 | notesview.load(); |
94 | }); | |
95 | ||
96 | me.callParent(); | |
97 | } | |
98 | }); |