[pve-devel] [PATCH container 2/7] status: add pool usage fields

Fabian Grünbichler f.gruenbichler at proxmox.com
Mon Apr 15 11:32:01 CEST 2024


On April 11, 2024 11:28 am, Wolfgang Bumiller wrote:
> On Wed, Apr 10, 2024 at 03:13:00PM +0200, Fabian Grünbichler wrote:
>> these are similar to existing ones, but with slightly different semantics.
>> 
>> Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
>> ---
>>  src/PVE/LXC.pm | 29 +++++++++++++++++++++++++++++
>>  1 file changed, 29 insertions(+)
>> 
>> diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm
>> index 88a9d6f..78c0e18 100644
>> --- a/src/PVE/LXC.pm
>> +++ b/src/PVE/LXC.pm
>> @@ -138,6 +138,18 @@ our $vmstatus_return_properties = {
>>  	optional => 1,
>>  	renderer => 'bytes',
>>      },
>> +    confmem => {
> 
> Would it make sense, for easier reuse of code, to stick to the same
> naming as in user.cfg - `foo-config`, `foo-run` here?

then it would be inconsistent with the rest of the schema here (which is
directly exported into metrics, so we can't change it easily without
breaking a ton of stuff..).

>> +	description => "Configured amount of memory (inc. swap), might be higher than 'maxmem'.",
>> +	type => 'integer',
>> +	optional => 1,
>> +	renderer => 'bytes',
>> +    },
>> +    runmem => {
>> +	description => "Currently configured amount of memory (inc. swap).",
>> +	type => 'integer',
>> +	optional => 1,
>> +	renderer => 'bytes',
>> +    },
>>      maxdisk => {
>>  	description => "Root disk size in bytes.",
>>  	type => 'integer',
>> @@ -160,6 +172,16 @@ our $vmstatus_return_properties = {
>>  	type => 'number',
>>  	optional => 1,
>>      },
>> +    confcpus => {
>> +	description => "Configured amount of CPUs, might be higher than 'cpus'.",
>> +	type => 'integer',
>> +	optional => 1,
>> +    },
>> +    runcpus => {
>> +	description => "Currently used amount of CPUs.",
>> +	type => 'integer',
>> +	optional => 1,
>> +    },
>>      lock => {
>>  	description => "The current config lock, if any.",
>>  	type => 'string',
>> @@ -200,6 +222,7 @@ sub vmstatus {
>>  	my $conf = PVE::Cluster::cfs_read_file($cfspath) || {};
>>  
>>  	$unprivileged->{$vmid} = $conf->{unprivileged};
>> +	my $usage = PVE::LXC::Config->get_pool_usage($conf);
>>  
>>  	$d->{name} = $conf->{'hostname'} || "CT$vmid";
>>  	$d->{name} =~ s/[\s]//g;
>> @@ -207,6 +230,9 @@ sub vmstatus {
>>  	$d->{cpus} = $conf->{cores} || $conf->{cpulimit};
>>  	$d->{cpus} = $cpucount if !$d->{cpus};
>>  
>> +	$d->{confcpus} = $usage->{cpu};
>> +	$d->{runcpus} = $conf->{cores} || $cpucount;
>> +
>>  	$d->{tags} = $conf->{tags} if defined($conf->{tags});
>>  
>>  	if ($d->{pid}) {
>> @@ -229,6 +255,9 @@ sub vmstatus {
>>  	$d->{maxmem} = ($conf->{memory}||512)*1024*1024;
>>  	$d->{maxswap} = ($conf->{swap}//0)*1024*1024;
>>  
>> +	$d->{confmem} = $usage->{mem};
>> +	$d->{runmem} = $conf->{maxmem} + $conf->{swap};
>> +
>>  	$d->{uptime} = 0;
>>  	$d->{cpu} = 0;
>>  
>> -- 
>> 2.39.2
> 




More information about the pve-devel mailing list