Am 23.05.25 um 18:37 schrieb Aaron Lauterer: > From: Folke Gleumes <f.gleu...@proxmox.com> > > Originally-by: Folke Gleumes <f.gleu...@proxmox.com> > [AL: rebased on current master] > Signed-off-by: Aaron Lauterer <a.laute...@proxmox.com> > --- > src/PVE/ProcFSTools.pm | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/src/PVE/ProcFSTools.pm b/src/PVE/ProcFSTools.pm > index f9fe3f0..382e6c5 100644 > --- a/src/PVE/ProcFSTools.pm > +++ b/src/PVE/ProcFSTools.pm > @@ -151,6 +151,28 @@ sub parse_pressure { > return $res; > } > > +sub read_qemu_pressure { > + my ($vmid) = @_; > + > + my $res = {}; > + foreach my $type (qw(cpu memory io)) { > + my $stats = > parse_pressure("/sys/fs/cgroup/qemu.slice/$vmid.scope/$type.pressure");
There is a SysFSTools module ;-) But OK, the parse_pressure method is here, so finish I guess. I'd rather have this more generic though, as you got just two copies of the same code going on here, and nothing here is specific to qemu or lxc; every cgroup has these. So I'd rather switch this over to a single sub read_cgroup_pressure { my ($cgroup_path) = @_; my $res = {}; for my $type (qw(cpu memory io)) { my $stats = parse_pressure("/sys/fs/cgroup/${cgroup_path}/${type}.pressure"); $res->{$type} = $stats if $stats; } return $res; } If we want to abstract away the base cgroup that would be a job for a pve-guest-common interface and respective implementation in pve-container and qemu-server, but it's probably fine to just assemble the path where needed (manager I'd figure?), in any case not worse than hard-coding it in a dependency leave node like here. > + $res->{$type} = $stats if $stats; > + } > + return $res; > +} > + > +sub read_lxc_pressure { > + my ($vmid) = @_; > + > + my $res = {}; > + foreach my $type (qw(cpu memory io)) { > + my $stats = parse_pressure("/sys/fs/cgroup/lxc/$vmid/$type.pressure"); > + $res->{$type} = $stats if $stats; > + } > + return $res; > +} > + > sub read_pressure { > my $res = {}; > foreach my $type (qw(cpu memory io)) { _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel