From: Folke Gleumes <[email protected]>
Originally-by: Folke Gleumes <[email protected]>
[AL:
* rebased on current master
* switch to new, more generic read_cgroup_pressure function
* add pressures to return properties
]
Signed-off-by: Aaron Lauterer <[email protected]>
---
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 741bb33..1870b4b 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
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel