48 lines
1.4 KiB
Perl
48 lines
1.4 KiB
Perl
|
use strict;
|
||
|
use warnings;
|
||
|
use Test::More qw(no_plan);
|
||
|
use Data::Dumper;
|
||
|
use JMX::Jmx4Perl::Alias;
|
||
|
use It;
|
||
|
|
||
|
require "check_jmx4perl/base.pl";
|
||
|
|
||
|
my $jmx = It->new(verbose => 1)->jmx4perl;
|
||
|
my ($ret,$content);
|
||
|
|
||
|
# ====================================================
|
||
|
# Incremental value checks
|
||
|
|
||
|
reset_history($jmx);
|
||
|
|
||
|
my $membean = "--mbean java.lang:type=Memory --attribute HeapMemoryUsage";
|
||
|
my $cparams = $membean . " --path used --unit B --delta --name mem";
|
||
|
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx($cparams);
|
||
|
is($ret,0,"Initial history fetch returns OK");
|
||
|
#print $content;
|
||
|
ok($content =~ /mem=(\d+)/ && $1 eq "0","Initial history fetch returns 0 mem delta");
|
||
|
|
||
|
my $max_mem = $jmx->get_attribute("java.lang:type=Memory", "HeapMemoryUsage","max");
|
||
|
my $c = abs(0.50 * $max_mem);
|
||
|
#print "Mem Max: $mem\n";
|
||
|
my $mem = $jmx->get_attribute("java.lang:type=Memory", "HeapMemoryUsage","used");
|
||
|
#print "Used Memory: $mem\n";
|
||
|
|
||
|
# Trigger Garbage collection
|
||
|
$jmx->execute("java.lang:type=Memory","gc");
|
||
|
|
||
|
for my $i (0 .. 2) {
|
||
|
$jmx->execute("java.lang:type=Memory","gc");
|
||
|
($ret,$content) = exec_check_perl4jmx($cparams . " -c -$c:$c");
|
||
|
is($ret,0,($i+1) . ". history fetch returns OK for -c $c");
|
||
|
ok($content =~ /mem=([\-\d]+)/ && $1 ne "0",($i+1) . ". history fetch return non null Mem-Delta ($1)");
|
||
|
#print Dumper($ret,$content);
|
||
|
print "Heap: ",$jmx->get_attribute("java.lang:type=Memory","HeapMemoryUsage","used"),"\n";
|
||
|
}
|
||
|
#print "$c: $content\n";
|
||
|
|
||
|
reset_history($jmx);
|
||
|
|