ASNMTAP
view release on metacpan or search on metacpan
applications/collector-test.pl view on Meta::CPAN
my $_handler = $SIG{ALRM};
my $alarm = $interval * 60;
$SIG{ALRM} = sub { $CHILD_OFF = $alarm; warn "ASNMTAP::Asnmtap::Applications::Collector::CHILD_OFF = $alarm\n" };
alarm ( $alarm );
if ($CAPTUREOUTPUT) {
use IO::CaptureOutput qw(capture_exec);
($stdout, $stderr) = capture_exec("$systemAction");
my (@returnStatus) = split (/\n/, $stdout);
$returnStatus = $returnStatus[-1];
} else {
system ("$systemAction"); $stdout = $stderr = '';
}
$exit_value = $? >> 8;
$signal_num = $? & 127;
$dumped_core = $? & 128;
# print "$CAPTUREOUTPUT -> <$returnStatus> < $stdout >< $stderr >< $exit_value >< $signal_num >< $dumped_core >\n";
alarm (0);
$CHILD_OFF = 0;
$SIG{ALRM} = $_handler ? $_handler : 'DEFAULT';
} else {
$exit_value = -1;
$signal_num = 1;
$dumped_core = 0;
$stdout = $stderr = '';
}
if ($exit_value >= 0 && $exit_value <= 4 && $signal_num == 0 && $dumped_core == 0) {
$action = "Success";
if ($exit_value == 0) {
$dumphttpRename = "OK";
printDebugAll (" OK ------------ : <$PROGNAME v$version -C $collectorlist>");
} elsif ($exit_value == 1) {
$dumphttpRename = "WARNING";
printDebugAll (" WARNING ------- : <$PROGNAME v$version -C $collectorlist>");
printDebugNOK (" WARNING ------- : $system_action");
} elsif ($exit_value == 2) {
$dumphttpRename = "CRITICAL";
printDebugAll (" CRITICAL ------ : <$PROGNAME v$version -C $collectorlist>");
printDebugNOK (" CRITICAL ------ : $system_action");
} elsif ($exit_value == 3) {
$dumphttpRename = "UNKNOWN";
printDebugAll (" UNKNOWN ------- : <$PROGNAME v$version -C $collectorlist>");
printDebugNOK (" UNKNOWN ------- : $system_action");
} elsif ($exit_value == 4) {
$dumphttpRename = "DEPENDENT";
printDebugAll (" DEPENDENT ----- : <$PROGNAME v$version -C $collectorlist>");
printDebugNOK (" DEPENDENT ----- : $system_action");
}
if ($dumphttp ne 'N') {
my $httpdumpFilenameTmpKnownError = $httpdumpFilenameTmp .'-KnownError';
unlink ($httpdumpFilenameTmpKnownError) if (-e "$httpdumpFilenameTmpKnownError");
if ($dumphttp eq 'A' || (($dumphttp eq 'W' or $dumphttp eq 'C' or $dumphttp eq 'U') && $exit_value > 0)) {
if (-e "$httpdumpFilenameTmp") {
$debugFilename = $httpdumpFilename .'-'. $dumphttpRename .'.htm';
rename("$httpdumpFilenameTmp", "$debugFilename");
}
} else {
unlink ($httpdumpFilenameTmp) if (-e "$httpdumpFilenameTmp");
}
}
} else {
$action = 'Failed';
$dumphttpRename = 'UNKNOWN';
printDebugAll (" call_system --- : $system_action: <$exit_value><$signal_num><$dumped_core><$stderr>");
printDebugNOK (" call_system --- : $system_action: <$exit_value><$signal_num><$dumped_core><$stderr>");
if ( $exit_value == -1 ) {
$returnStatus = "$dumphttpRename - $title: PLUGIN '$msgCommand.pl' doesn't exist - contact administrators";
} elsif ( $boolean_signal_kill ) {
$returnStatus = "$dumphttpRename - $title: TIMING OUT SLOW PLUGIN";
my $httpdumpFilenameTmpKnownError = $httpdumpFilenameTmp .'-KnownError';
unlink ($httpdumpFilenameTmpKnownError) if (-e "$httpdumpFilenameTmpKnownError");
unlink ($httpdumpFilenameTmp) if (-e "$httpdumpFilenameTmp");
} else {
$returnStatus = "$dumphttpRename - $title: ERROR NOT DEFINED - contact server administrators";
}
}
$endDate = get_csvfiledate();
$endTime = get_csvfiletime();
unless ( $CAPTUREOUTPUT ) {
$loggedStatus = ( $dumphttp ne 'N' ) ? $httpdumpFilenameTmp : $logging;
$loggedStatus .= '-status.txt';
$returnStatus = "<NIHIL> - $title: $loggedStatus";
if (-e "$loggedStatus") {
unless ( $boolean_signal_kill ) {
$rvOpen = open(DEBUG, "$loggedStatus");
if ($rvOpen) {
while (<DEBUG>) {
chomp;
$returnStatus = $_;
}
close(DEBUG);
} else {
$dumphttpRename = 'UNKNOWN';
$returnStatus = "$dumphttpRename - $title: Cannot open $loggedStatus to retrieve debug information - contact server administrators";
}
}
unlink ($loggedStatus);
} else {
$dumphttpRename = 'UNKNOWN';
$returnStatus = "$dumphttpRename - $title: $loggedStatus doesn't exist - contact server administrators";
}
}
my ($duration) = $returnStatus =~ m/Trendline=([0-9.]+)s;[0-9.]+;;;$/i;
if (defined $duration) {
my ($thour, $tmin, $tsec);
( run in 2.250 seconds using v1.01-cache-2.11-cpan-5b529ec07f3 )