jmx4perl/it/t/55_check_incremental.t

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);