mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-05-29 08:38:31 +00:00
ext6migrate: use new charts for node/lxc/qemu
uses the new charts for the rrd graphs in the summary pages and make them lazy (for minimal performance impact) also correct some styling errors and move static fields to the class definition Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
7b9c038d54
commit
13af4d510f
@ -2,10 +2,11 @@ Ext.define('PVE.lxc.Summary', {
|
|||||||
extend: 'Ext.panel.Panel',
|
extend: 'Ext.panel.Panel',
|
||||||
alias: 'widget.pveLxcSummary',
|
alias: 'widget.pveLxcSummary',
|
||||||
|
|
||||||
|
tbar: [ '->' , { xtype: 'pveRRDTypeSelector' } ],
|
||||||
scrollable: true,
|
scrollable: true,
|
||||||
bodyStyle: 'padding:10px',
|
bodyStyle: 'padding:10px',
|
||||||
defaults: {
|
defaults: {
|
||||||
style: 'padding-top:10px',
|
style: {'padding-top':'10px'},
|
||||||
width: 800
|
width: 800
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -39,63 +40,65 @@ Ext.define('PVE.lxc.Summary', {
|
|||||||
rstore: rstore
|
rstore: rstore
|
||||||
});
|
});
|
||||||
|
|
||||||
var rrdurl = "/api2/png/nodes/" + nodename + "/lxc/" + vmid + "/rrd";
|
|
||||||
|
|
||||||
var notesview = Ext.create('PVE.panel.NotesView', {
|
var notesview = Ext.create('PVE.panel.NotesView', {
|
||||||
pveSelNode: me.pveSelNode,
|
pveSelNode: me.pveSelNode,
|
||||||
flex: 1
|
flex: 1
|
||||||
});
|
});
|
||||||
|
|
||||||
Ext.apply(me, {
|
var rrdstore = Ext.create('PVE.data.RRDStore', {
|
||||||
tbar: [
|
rrdurl: "/api2/json/nodes/" + nodename + "/lxc/" + vmid + "/rrddata"
|
||||||
'->',
|
|
||||||
{
|
|
||||||
xtype: 'pveRRDTypeSelector'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
items: [
|
|
||||||
{
|
|
||||||
style: 'padding-top:0px',
|
|
||||||
layout: {
|
|
||||||
type: 'hbox',
|
|
||||||
align: 'stretchmax'
|
|
||||||
},
|
|
||||||
border: false,
|
|
||||||
items: [ statusview, notesview ]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
xtype: 'pveRRDView',
|
|
||||||
title: gettext('CPU usage'),
|
|
||||||
pveSelNode: me.pveSelNode,
|
|
||||||
datasource: 'cpu',
|
|
||||||
rrdurl: rrdurl
|
|
||||||
},
|
|
||||||
{
|
|
||||||
xtype: 'pveRRDView',
|
|
||||||
title: gettext('Memory usage'),
|
|
||||||
pveSelNode: me.pveSelNode,
|
|
||||||
datasource: 'mem,maxmem',
|
|
||||||
rrdurl: rrdurl
|
|
||||||
},
|
|
||||||
{
|
|
||||||
xtype: 'pveRRDView',
|
|
||||||
title: gettext('Network traffic'),
|
|
||||||
pveSelNode: me.pveSelNode,
|
|
||||||
datasource: 'netin,netout',
|
|
||||||
rrdurl: rrdurl
|
|
||||||
},
|
|
||||||
{
|
|
||||||
xtype: 'pveRRDView',
|
|
||||||
title: gettext('Disk IO'),
|
|
||||||
pveSelNode: me.pveSelNode,
|
|
||||||
datasource: 'diskread,diskwrite',
|
|
||||||
rrdurl: rrdurl
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
});
|
||||||
|
|
||||||
me.on('activate', function() {
|
Ext.apply(me, {
|
||||||
notesview.load();
|
plugins: {
|
||||||
|
ptype: 'lazyitems',
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
style: 'padding-top:0px',
|
||||||
|
layout: {
|
||||||
|
type: 'hbox',
|
||||||
|
align: 'stretchmax'
|
||||||
|
},
|
||||||
|
border: false,
|
||||||
|
items: [ statusview, notesview ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'pveRRDChart',
|
||||||
|
title: gettext('CPU usage'),
|
||||||
|
pveSelNode: me.pveSelNode,
|
||||||
|
fields: ['cpu'],
|
||||||
|
fieldTitles: [gettext('CPU usage')],
|
||||||
|
store: rrdstore
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'pveRRDChart',
|
||||||
|
title: gettext('Memory usage'),
|
||||||
|
pveSelNode: me.pveSelNode,
|
||||||
|
fields: ['maxmem', 'mem'],
|
||||||
|
fieldTitles: [gettext('Total'), gettext('RAM usage')],
|
||||||
|
store: rrdstore
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'pveRRDChart',
|
||||||
|
title: gettext('Network traffic'),
|
||||||
|
pveSelNode: me.pveSelNode,
|
||||||
|
fields: ['netin','netout'],
|
||||||
|
store: rrdstore
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'pveRRDChart',
|
||||||
|
title: gettext('Disk IO'),
|
||||||
|
pveSelNode: me.pveSelNode,
|
||||||
|
fields: ['diskread','diskwrite'],
|
||||||
|
store: rrdstore
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
listeners: {
|
||||||
|
activate: function() { notesview.load(); rrdstore.startUpdate(); },
|
||||||
|
hide: rrdstore.stopUpdate,
|
||||||
|
destroy: rrdstore.stopUpdate,
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
me.callParent();
|
me.callParent();
|
||||||
|
@ -91,48 +91,56 @@ Ext.define('PVE.node.Summary', {
|
|||||||
rstore: rstore
|
rstore: rstore
|
||||||
});
|
});
|
||||||
|
|
||||||
var rrdurl = "/api2/png/nodes/" + nodename + "/rrd";
|
|
||||||
|
|
||||||
var version_btn = new Ext.Button({
|
var version_btn = new Ext.Button({
|
||||||
text: gettext('Package versions'),
|
text: gettext('Package versions'),
|
||||||
handler: function(){
|
handler: function(){
|
||||||
PVE.Utils.checked_command(function() { me.showVersions(); });
|
PVE.Utils.checked_command(function() { d675f09dme.showVersions(); });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var rrdstore = Ext.create('PVE.data.RRDStore', {
|
||||||
|
rrdurl: "/api2/json/nodes/" + nodename + "/rrddata",
|
||||||
|
});
|
||||||
|
|
||||||
Ext.apply(me, {
|
Ext.apply(me, {
|
||||||
tbar: [version_btn, '->', { xtype: 'pveRRDTypeSelector' } ],
|
tbar: [version_btn, '->', { xtype: 'pveRRDTypeSelector' } ],
|
||||||
items: [
|
plugins: {
|
||||||
statusview,
|
ptype: 'lazyitems',
|
||||||
{
|
items: [
|
||||||
xtype: 'pveRRDView',
|
statusview,
|
||||||
title: gettext('CPU usage'),
|
{
|
||||||
datasource: 'cpu,iowait',
|
xtype: 'pveRRDChart',
|
||||||
rrdurl: rrdurl
|
title: gettext('CPU usage'),
|
||||||
},
|
fields: ['cpu','iowait'],
|
||||||
{
|
fieldTitles: [gettext('CPU usage'), gettext('IO delay')],
|
||||||
xtype: 'pveRRDView',
|
store: rrdstore
|
||||||
title: gettext('Server load'),
|
},
|
||||||
datasource: 'loadavg',
|
{
|
||||||
rrdurl: rrdurl
|
xtype: 'pveRRDChart',
|
||||||
},
|
title: gettext('Server load'),
|
||||||
{
|
fields: ['loadavg'],
|
||||||
xtype: 'pveRRDView',
|
fieldTitles: [gettext('Load average')],
|
||||||
title: gettext('Memory usage'),
|
store: rrdstore
|
||||||
datasource: 'memtotal,memused',
|
},
|
||||||
rrdurl: rrdurl
|
{
|
||||||
},
|
xtype: 'pveRRDChart',
|
||||||
{
|
title: gettext('Memory usage'),
|
||||||
xtype: 'pveRRDView',
|
fields: ['memtotal','memused'],
|
||||||
title: gettext('Network traffic'),
|
fieldTitles: [gettext('Total'), gettext('RAM usage')],
|
||||||
datasource: 'netin,netout',
|
store: rrdstore
|
||||||
rrdurl: rrdurl
|
},
|
||||||
}
|
{
|
||||||
],
|
xtype: 'pveRRDChart',
|
||||||
|
title: gettext('Network traffic'),
|
||||||
|
fields: ['netin','netout'],
|
||||||
|
store: rrdstore
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
listeners: {
|
listeners: {
|
||||||
show: rstore.startUpdate,
|
activate: function() { rstore.startUpdate(); rrdstore.startUpdate(); },
|
||||||
hide: rstore.stopUpdate,
|
hide: function() { rstore.stopUpdate(); rrdstore.stopUpdate(); },
|
||||||
destroy: rstore.stopUpdate
|
destroy: function() { rstore.stopUpdate(); rrdstore.stopUpdate(); },
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -4,12 +4,11 @@ Ext.define('PVE.qemu.Summary', {
|
|||||||
|
|
||||||
tbar: [ '->', { xtype: 'pveRRDTypeSelector' } ],
|
tbar: [ '->', { xtype: 'pveRRDTypeSelector' } ],
|
||||||
scrollable: true,
|
scrollable: true,
|
||||||
bodyStyle: 'padding:10px',
|
bodyPadding: 10,
|
||||||
defaults: {
|
defaults: {
|
||||||
style: 'padding-top:10px',
|
style: {'padding-top':'10px'},
|
||||||
width: 800
|
width: 800
|
||||||
},
|
},
|
||||||
|
|
||||||
initComponent: function() {
|
initComponent: function() {
|
||||||
var me = this;
|
var me = this;
|
||||||
|
|
||||||
@ -40,57 +39,65 @@ Ext.define('PVE.qemu.Summary', {
|
|||||||
rstore: rstore
|
rstore: rstore
|
||||||
});
|
});
|
||||||
|
|
||||||
var rrdurl = "/api2/png/nodes/" + nodename + "/qemu/" + vmid + "/rrd";
|
|
||||||
|
|
||||||
var notesview = Ext.create('PVE.panel.NotesView', {
|
var notesview = Ext.create('PVE.panel.NotesView', {
|
||||||
pveSelNode: me.pveSelNode,
|
pveSelNode: me.pveSelNode,
|
||||||
flex: 1
|
flex: 1
|
||||||
});
|
});
|
||||||
|
|
||||||
Ext.apply(me, {
|
var rrdstore = Ext.create('PVE.data.RRDStore', {
|
||||||
items: [
|
rrdurl: "/api2/json/nodes/" + nodename + "/qemu/" + vmid + "/rrddata",
|
||||||
{
|
|
||||||
style: 'padding-top:0px',
|
|
||||||
layout: {
|
|
||||||
type: 'hbox',
|
|
||||||
align: 'stretchmax'
|
|
||||||
},
|
|
||||||
border: false,
|
|
||||||
items: [ statusview, notesview ]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
xtype: 'pveRRDView',
|
|
||||||
title: gettext('CPU usage'),
|
|
||||||
pveSelNode: me.pveSelNode,
|
|
||||||
datasource: 'cpu',
|
|
||||||
rrdurl: rrdurl
|
|
||||||
},
|
|
||||||
{
|
|
||||||
xtype: 'pveRRDView',
|
|
||||||
title: gettext('Memory usage'),
|
|
||||||
pveSelNode: me.pveSelNode,
|
|
||||||
datasource: 'mem,maxmem',
|
|
||||||
rrdurl: rrdurl
|
|
||||||
},
|
|
||||||
{
|
|
||||||
xtype: 'pveRRDView',
|
|
||||||
title: gettext('Network traffic'),
|
|
||||||
pveSelNode: me.pveSelNode,
|
|
||||||
datasource: 'netin,netout',
|
|
||||||
rrdurl: rrdurl
|
|
||||||
},
|
|
||||||
{
|
|
||||||
xtype: 'pveRRDView',
|
|
||||||
title: gettext('Disk IO'),
|
|
||||||
pveSelNode: me.pveSelNode,
|
|
||||||
datasource: 'diskread,diskwrite',
|
|
||||||
rrdurl: rrdurl
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
});
|
||||||
|
|
||||||
me.on('activate', function() {
|
Ext.apply(me, {
|
||||||
notesview.load();
|
plugins: {
|
||||||
|
ptype: 'lazyitems',
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
style: {'padding-top':'0px'},
|
||||||
|
layout: {
|
||||||
|
type: 'hbox',
|
||||||
|
align: 'stretchmax'
|
||||||
|
},
|
||||||
|
border: false,
|
||||||
|
items: [ statusview, notesview ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'pveRRDChart',
|
||||||
|
title: gettext('CPU usage'),
|
||||||
|
pveSelNode: me.pveSelNode,
|
||||||
|
fields: ['cpu'],
|
||||||
|
fieldTitles: [gettext('CPU usage')],
|
||||||
|
store: rrdstore
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'pveRRDChart',
|
||||||
|
title: gettext('Memory usage'),
|
||||||
|
pveSelNode: me.pveSelNode,
|
||||||
|
fields: ['maxmem', 'mem'],
|
||||||
|
fieldTitles: [gettext('Total'), gettext('RAM usage')],
|
||||||
|
store: rrdstore
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'pveRRDChart',
|
||||||
|
title: gettext('Network traffic'),
|
||||||
|
pveSelNode: me.pveSelNode,
|
||||||
|
fields: ['netin','netout'],
|
||||||
|
store: rrdstore
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'pveRRDChart',
|
||||||
|
title: gettext('Disk IO'),
|
||||||
|
pveSelNode: me.pveSelNode,
|
||||||
|
fields: ['diskread','diskwrite'],
|
||||||
|
store: rrdstore
|
||||||
|
}
|
||||||
|
],
|
||||||
|
},
|
||||||
|
listeners: {
|
||||||
|
activate: function() {notesview.load(); rrdstore.startUpdate();},
|
||||||
|
hide: rrdstore.stopUpdate,
|
||||||
|
destroy: rrdstore.stopUpdate,
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
me.callParent();
|
me.callParent();
|
||||||
|
Loading…
Reference in New Issue
Block a user