From: Folke Gleumes <f.gleu...@proxmox.com> Originally-by: Folke Gleumes <f.gleu...@proxmox.com> [AL: * rebased on current master * switch to new, more generic read_cgroup_pressure function * add pressures to return properties ] Signed-off-by: Aaron Lauterer <a.laute...@proxmox.com> ---
Notes: changes since: v2: * add return properties for pressures * reorder to run before cpu info collection, otherwise that might trigger 'next', skipping the pressure collection. For example when using `pvesh` for the 'current' API endpoint src/PVE/LXC.pm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm index ffedcb9..2932c77 100644 --- a/src/PVE/LXC.pm +++ b/src/PVE/LXC.pm @@ -227,6 +227,32 @@ our $vmstatus_return_properties = { optional => 1, default => 0, }, + pressurecpusome => { + description => "CPU Some pressure average over the last 10 seconds.", + type => 'number', + optional => 1, + }, + pressureiosome => { + description => "IO Some pressure average over the last 10 seconds.", + type => 'number', + optional => 1, + }, + pressureiofull => { + description => "IO Full pressure average over the last 10 seconds.", + type => 'number', + optional => 1, + }, + pressurememorysome => { + description => "Memory Some pressure average over the last 10 seconds.", + type => 'number', + optional => 1, + }, + pressurememoryfull => { + description => "Memory Full pressure average over the last 10 seconds.", + type => 'number', + optional => 1, + }, + }; sub vmstatus { @@ -329,6 +355,14 @@ sub vmstatus { $d->{diskwrite} = 0; } + my $pressures = PVE::ProcFSTools::read_cgroup_pressure("lxc/${vmid}"); + $d->{pressurecpusome} = $pressures->{cpu}{some}{avg10}; + $d->{pressurecpufull} = $pressures->{cpu}{full}{avg10}; + $d->{pressureiosome} = $pressures->{io}{some}{avg10}; + $d->{pressureiofull} = $pressures->{io}{full}{avg10}; + $d->{pressurememorysome} = $pressures->{memory}{some}{avg10}; + $d->{pressurememoryfull} = $pressures->{memory}{full}{avg10}; + if (defined(my $cpu = $cgroups->get_cpu_stat())) { # Total time (in milliseconds) used up by the cpu. my $used_ms = $cpu->{utime} + $cpu->{stime}; -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel