[pve-devel] [PATCH] resourcestore : add host cpu usage
Alexandre Derumier
aderumier at odiso.com
Mon Aug 25 08:39:56 CEST 2014
Currently we can't sort easily vms cpu usage to find which vm use the more host ressource.
This add a new hostcpu, value is vm cpu * vm maxcpus.
(This give us a result like a "top" on host, so 200% = 2 cores 100%).
Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
---
www/manager/Utils.js | 11 +++++++++++
www/manager/data/ResourceStore.js | 22 ++++++++++++++++++++--
2 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/www/manager/Utils.js b/www/manager/Utils.js
index f95c180..d5cfc3e 100644
--- a/www/manager/Utils.js
+++ b/www/manager/Utils.js
@@ -787,6 +787,17 @@ Ext.define('PVE.Utils', { statics: {
return per.toFixed(1) + '% of ' + maxcpu.toString() + (maxcpu > 1 ? 'CPUs' : 'CPU');
},
+ render_host_cpu: function(value, metaData, record, rowIndex, colIndex, store) {
+
+ if (!(record.data.uptime && Ext.isNumeric(value))) {
+ return '';
+ }
+
+ var per = value * 100;
+
+ return per.toFixed(1) + '%';
+ },
+
render_size: function(value, metaData, record, rowIndex, colIndex, store) {
/*jslint confusion: true */
diff --git a/www/manager/data/ResourceStore.js b/www/manager/data/ResourceStore.js
index 51d0112..cfa5f1d 100644
--- a/www/manager/data/ResourceStore.js
+++ b/www/manager/data/ResourceStore.js
@@ -124,8 +124,26 @@ Ext.define('PVE.data.ResourceStore', {
type: 'float',
renderer: PVE.Utils.render_cpu,
sortable: true,
- width: 100
+ width: 100,
+ },
+ hostcpu: {
+ header: gettext('Host CPU usage'),
+ type: 'float',
+ renderer: PVE.Utils.render_host_cpu,
+ hidden: true,
+ sortable: true,
+ width: 100,
+
+ convert: function(value, record) {
+ var info = record.data;
+ if (info.cpu) {
+ if(Ext.isNumeric(info.maxcpu) && (info.maxcpu > 0)){
+ return (info.cpu * info.maxcpu);
+ }
+ }
+ }
},
+
maxcpu: {
header: gettext('maxcpu'),
type: 'integer',
@@ -208,7 +226,7 @@ Ext.define('PVE.data.ResourceStore', {
if (!Ext.isDefined(value.convert)) {
fields.push({name: key, type: value.type});
fieldNames.push(key);
- } else if (key === 'text' || key === 'running') {
+ } else if (key === 'text' || key === 'running' || key === 'hostcpu') {
fields.push({name: key, type: value.type, convert: value.convert});
fieldNames.push(key);
}
--
1.7.10.4
More information about the pve-devel
mailing list