5
0
mirror of git://git.proxmox.com/git/proxmox-backup.git synced 2025-01-05 09:17:59 +03:00

'available' field in rrd data in the API and change usage of 'total'

The API now exposes the field 'available' as well, with which the
unprivileged total is calculated in all corresponsing views in the
frontend.
The rrd charts now also display the total as the unprivileged total
if available, otherwise the absolute total is used.

Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
This commit is contained in:
Daniel Tschlatscher 2022-11-09 15:25:23 +01:00 committed by Wolfgang Bumiller
parent f362f8f075
commit de923258d0
4 changed files with 26 additions and 5 deletions

View File

@ -1804,6 +1804,7 @@ pub fn get_rrd_stats(
let mut rrd_fields = vec![
"total",
"available",
"used",
"read_ios",
"read_bytes",

View File

@ -3,7 +3,12 @@ Ext.define('pbs-datastore-statistics', {
fields: [
'store',
'total',
{
name: 'total',
calculate: function(data) {
return data.avail + data.used;
},
},
'used',
'avail',
'estimated-full-date',

View File

@ -52,10 +52,11 @@ Ext.define('PBS.datastore.DataStoreListSummary', {
vm.set('maintenance', '');
}
let usage = statusData.used/statusData.total;
let total = statusData.avail + statusData.used;
let usage = statusData.used / total;
let usagetext = Ext.String.format(gettext('{0} of {1}'),
Proxmox.Utils.format_size(statusData.used, true),
Proxmox.Utils.format_size(statusData.total, true),
Proxmox.Utils.format_size(total, true),
);
let usagePanel = me.lookup('usage');

View File

@ -3,6 +3,20 @@ Ext.define('pve-rrd-datastore', {
fields: [
'used',
'total',
{
name: 'unpriv-total', // Can't resuse 'total' here as that creates a stack overflow
calculate: function(data) {
let used = data.used;
let avail = data.available;
if (avail && used) {
return avail + used;
}
return data.total;
},
},
'available',
'read_ios',
'read_bytes',
'write_ios',
@ -66,8 +80,8 @@ Ext.define('PBS.DataStoreInfo', {
let vm = me.getViewModel();
let counts = store.getById('counts').data.value;
let total = store.getById('total').data.value;
let used = store.getById('used').data.value;
let total = store.getById('avail').data.value + used;
let usage = Proxmox.Utils.render_size_usage(used, total, true);
vm.set('usagetext', usage);
@ -236,7 +250,7 @@ Ext.define('PBS.DataStoreSummary', {
{
xtype: 'proxmoxRRDChart',
title: gettext('Storage usage (bytes)'),
fields: ['total', 'used'],
fields: ['unpriv-total', 'used'],
fieldTitles: [gettext('Total'), gettext('Storage usage')],
},
{