mirror of
https://git.proxmox.com/git/pve-common
synced 2025-07-27 00:11:47 +00:00
add get_pressure_stat
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
This commit is contained in:
parent
8fbb755cd6
commit
0bc3dac963
@ -365,6 +365,48 @@ sub get_memory_stat {
|
|||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub get_pressure_stat {
|
||||||
|
my ($self) = @_;
|
||||||
|
|
||||||
|
my $res = {
|
||||||
|
cpu => {
|
||||||
|
some => { avg10 => 0, avg60 => 0, avg300 => 0 }
|
||||||
|
},
|
||||||
|
memory => {
|
||||||
|
some => { avg10 => 0, avg60 => 0, avg300 => 0 },
|
||||||
|
full => { avg10 => 0, avg60 => 0, avg300 => 0 }
|
||||||
|
},
|
||||||
|
io => {
|
||||||
|
some => { avg10 => 0, avg60 => 0, avg300 => 0 },
|
||||||
|
full => { avg10 => 0, avg60 => 0, avg300 => 0 }
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
my ($path, $ver) = $self->get_path(undef, 1);
|
||||||
|
if (!defined($path)) {
|
||||||
|
# container or VM most likely isn't running
|
||||||
|
return undef;
|
||||||
|
} elsif ($ver == 2) {
|
||||||
|
|
||||||
|
foreach my $type (qw(cpu memory io)) {
|
||||||
|
if (my $fh = IO::File->new ("$path/$type.pressure", "r")) {
|
||||||
|
while (defined (my $line = <$fh>)) {
|
||||||
|
if ($line =~ /^(some|full)\s+avg10\=(\d+\.\d+)\s+avg60\=(\d+\.\d+)\s+avg300\=(\d+\.\d+)\s+total\=(\d+)/) {
|
||||||
|
$res->{$type}->{$1}->{avg10} = $2;
|
||||||
|
$res->{$type}->{$1}->{avg60} = $3;
|
||||||
|
$res->{$type}->{$1}->{avg300} = $4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$fh->close;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
die "bad cgroup version: $ver\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
return $res;
|
||||||
|
}
|
||||||
|
|
||||||
# Change the memory limit for this container.
|
# Change the memory limit for this container.
|
||||||
#
|
#
|
||||||
# Dies on error (including a not-running or currently-shutting-down guest).
|
# Dies on error (including a not-running or currently-shutting-down guest).
|
||||||
|
Loading…
Reference in New Issue
Block a user