ASNMTAP
view release on metacpan or search on metacpan
applications/display.pl view on Meta::CPAN
$inMCV{DEPENDENT}{UNKNOWN} = 1;
$groupFullView = $groupCondensedView = 0;
foreach $dchecklist (@checklisttable) {
($tinterval, $tgroep, $resultsdir, $ttest) = split(/\#/, $dchecklist, 4);
my @stest = split(/\|/, $ttest);
my $showGroepHeader = ($prevGroep ne $tgroep) ? 1 : 0;
my $showGroepFooter = (($prevGroep ne '') && $showGroepHeader) ? 1 : 0;
printGroepCV($prevGroep, $showGroepHeader, 1);
$prevGroep = $tgroep;
printGroepFooter('', $showGroepFooter);
printGroepHeader($tgroep, $showGroepHeader);
foreach $dtest (@stest) {
my ($catalogID_uniqueKey, $title, $test, $help) = split(/\#/, $dtest);
my ($catalogID, $uniqueKey) = split(/_/, $catalogID_uniqueKey);
unless ( defined $uniqueKey ) {
$uniqueKey = $catalogID;
$catalogID = $CATALOGID;
$catalogID_uniqueKey = $catalogID .'_'. $uniqueKey unless ( $catalogID eq 'CID' );
}
my ($command, undef) = split(/\.pl/, $test);
my $environment = (($test =~ /\-\-environment=([PASTDL])/) ? $1 : 'P');
next if (defined $environment and $environment ne $Cenvironment);
$configNumber++;
my $trendline = get_trendline_from_test($test);
my $commandPopup = maskPassword ($test);
$commandPopup =~ s/(?:\s+(--environment=[PASTDL]|--trendline=\d+))//g;
my $popup = "<TR><TD BGCOLOR=#000080 WIDTH=100 ALIGN=RIGHT>Command</TD><TD BGCOLOR=#0000FF>$commandPopup</TD></TR><TR><TD BGCOLOR=#000080 WIDTH=100 ALIGN=RIGHT>Environment</TD><TD BGCOLOR=#0000FF>".$ENVIRONMENT{$environment}."</TD></TR><TR><T...
print "<", $CATALOGID, "><", $environment, "><", $trendline, "><", $tgroep, "><", $resultsdir, "><", $catalogID_uniqueKey, "><", $catalogID, "><", $uniqueKey, "><", $title, "><", $test, ">\n" if ($debug);
my $number = 1;
my ($statusIcon, $itemTitle, $itemStatus, $itemTimeslot, $itemStatusIcon, $itemInsertInMCV, $inIMW);
$itemTimeslot = $itemStatusIcon = $itemInsertInMCV = 0;
$inIMW = 1;
my @arrayStatusMessage = ();
if ($dbh and $rv) {
my ($acked, $sql, $tLastStatus, $tLastTimeslot, $tPrevStatus, $tPrevTimeslot, $activationTimeslot, $suspentionTimeslot, $instability, $persistent, $downtime, $suspentionTimeslotPersistentTrue, $suspentionTimeslotPersistentFalse, $comment);
# TODO APE: Only one run a day is OK on 00:00:00 to cleanup automatically scheduled donwtimes
my ($localYear, $localMonth, $currentYear, $currentMonth, $currentDay, $currentHour, $currentMin, $currentSec) = ((localtime)[5], (localtime)[4], ((localtime)[5] + 1900), ((localtime)[4] + 1), (localtime)[3,2,1,0]);
if ( $currentHour == 0 and $currentMin <= 15 ) {
my $solvedDate = "$currentYear-$currentMonth-$currentDay";
my $solvedTime = "$currentHour:$currentMin:$currentSec";
my $solvedTimeslot = timelocal($currentSec, $currentMin, $currentHour, $currentDay, $localMonth, $localYear);
$sql = 'UPDATE ' .$SERVERTABLCOMMENTS. ' SET replicationStatus="U", problemSolved="1", solvedDate="' .$solvedDate. '", solvedTime="' .$solvedTime. '", solvedTimeslot="' .$solvedTimeslot. '" where catalogID="'. $CATALOGID. '" and problemSo...
$dbh->do ( $sql ) or $rv = errorTrapDBI($checklist, "Cannot dbh->do: $sql");
}
# <- end
$sql = "select SQL_NO_CACHE lastStatus, lastTimeslot, prevStatus, prevTimeslot from $SERVERTABLEVENTSCHNGSLGDT where catalogID = '$catalogID' and uKey = '$uniqueKey'";
$sth = $dbh->prepare( $sql ) or $rv = errorTrapDBI($checklist, "Cannot dbh->prepare: $sql");
$sth->execute or $rv = errorTrapDBI($checklist, "Cannot sth->execute: $sql") if $rv;
if ( $rv ) {
( $tLastStatus, $tLastTimeslot, $tPrevStatus, $tPrevTimeslot ) = $sth->fetchrow_array();
$sth->finish() or $rv = errorTrapDBI($checklist, "Cannot sth->finish: $sql");
}
$sql = "select SQL_NO_CACHE activationTimeslot, suspentionTimeslot, instability, persistent, downtime, commentData, entryDate, entryTime, activationDate, activationTime, suspentionDate, suspentionTime from $SERVERTABLCOMMENTS where catalogI...
$sth = $dbh->prepare( $sql ) or $rv = errorTrapDBI($checklist, "Cannot dbh->prepare: $sql");
$sth->execute or $rv = errorTrapDBI($checklist, "Cannot sth->execute: $sql") if $rv;
my $statusOverlib = '<NIHIL>'; # $STATE{$ERRORS{'NO DATA'}};
$instability = $downtime = 0;
if ( $rv ) {
my ($TactivationTimeslot, $TsuspentionTimeslot, $Tinstability, $Tpersistent, $Tdowntime, $TcommentData, $TentryDate, $TentryTime, $TactivationDate, $TactivationTime, $TsuspentionDate, $TsuspentionTime, $firstRecordPersistentTrue, $firstRe...
$acked = $sth->rows;
$persistent = -1;
$activationTimeslot = 9999999999;
$firstRecordPersistentTrue = $firstRecordPersistentFalse = 1;
$suspentionTimeslot = $suspentionTimeslotPersistentTrue = $suspentionTimeslotPersistentFalse = 0;
if ( $acked ) {
while( ($TactivationTimeslot, $TsuspentionTimeslot, $Tinstability, $Tpersistent, $Tdowntime, $TcommentData, $TentryDate, $TentryTime, $TactivationDate, $TactivationTime, $TsuspentionDate, $TsuspentionTime) = $sth->fetchrow_array() ) {
if ( int($TactivationTimeslot) <= get_timeslot ($creationDate) and get_timeslot ($creationDate) <= int($TsuspentionTimeslot) ) {
$instability = ( $Tinstability ) ? 1 : $instability;
if ( $Tpersistent ) {
if ( $firstRecordPersistentTrue ) {
$persistent = 1;
$firstRecordPersistentTrue = 0;
$suspentionTimeslotPersistentTrue = int($TsuspentionTimeslot);
}
$suspentionTimeslotPersistentTrue = ($suspentionTimeslotPersistentTrue > int($TsuspentionTimeslot)) ? $suspentionTimeslotPersistentTrue : int($TsuspentionTimeslot);
} else {
if ( $firstRecordPersistentFalse ) {
$persistent = $firstRecordPersistentFalse = 0;
$suspentionTimeslotPersistentFalse = int($TsuspentionTimeslot);
}
$suspentionTimeslotPersistentFalse = ($suspentionTimeslotPersistentFalse > int($TsuspentionTimeslot)) ? $suspentionTimeslotPersistentFalse : int($TsuspentionTimeslot);
}
$downtime = ( $Tdowntime ) ? 1 : $downtime;
$activationTimeslot = ($activationTimeslot < int($TactivationTimeslot)) ? $activationTimeslot : int($TactivationTimeslot);
$suspentionTimeslot = ($suspentionTimeslot > int($TsuspentionTimeslot)) ? $suspentionTimeslot : int($TsuspentionTimeslot);
}
$TcommentData =~ s/'/`/g;
$TcommentData =~ s/[\n\r]+(Updated|Edited|Closed) by: (?:.+), (?:.+) \((?:.+)\) on (\d{4}-\d\d-\d\d) (\d\d:\d\d:\d\d)/\n\r$1 on $2 $3/g;
$TcommentData =~ s/[\n\r]/<br>/g;
$TcommentData =~ s/(?:<br>)+/<br>/g;
$comment .= "<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=2 BGCOLOR=#000000><TR><TD BGCOLOR=#000080 ALIGN=CENTER> Entry Date/Time </TD><TD BGCOLOR=#000080 ALIGN=CENTER> Activation Date/Time </TD><TD BGCOLOR...
}
}
$sth->finish() or $rv = errorTrapDBI($checklist, "Cannot sth->finish: $sql");
}
$step = $tinterval * 60;
$lastTimeslot = get_timeslot ($creationDate);
$firstTimeslot = $lastTimeslot - ($step * $NUMBEROFFTESTS);
$timeCorrectie = 0;
if ( $trigger ) {
$findString = 'select SQL_NO_CACHE title, duration, timeslot, startTime, endTime, endDate, status, statusMessage, perfdata, filename from '.$SERVERTABLEVENTSDISPLAYDT.' where catalogID="' .$catalogID. '" and uKey = "'.$uniqueKey.'" and s...
} else {
$findString = 'select SQL_NO_CACHE title, duration, timeslot, startTime, endTime, endDate, status, statusMessage, perfdata, filename from '.$SERVERTABLEVENTS.' force index (uKey) where catalogID="' .$catalogID. '" and uKey = "'.$uniqueKe...
}
print "<", $findString, ">\n" if ($debug);
$sth = $dbh->prepare($findString) or $rv = errorTrapDBI($checklist, "Cannot dbh->prepare: $findString");
$sth->execute or $rv = errorTrapDBI($checklist, "Cannot sth->execute: $findString") if $rv;
my (@itemTimelocal, @itemStatus, @itemStarttime, @itemTimeslot, @tempStatusMessage);
@itemTimelocal = @itemStatus = @itemStarttime = @itemTimeslot = @tempStatusMessage = ();
$timeValue = $lastTimeslot;
for (; $number <= $NUMBEROFFTESTS; $number++) {
push (@itemTimelocal, $timeValue);
push (@itemStatus, ($number == 1) ? 'IN PROGRESS' : 'NO DATA');
push (@itemStarttime, sprintf ("%02d:%02d:%02d", (localtime($timeValue+$timeCorrectie))[2,1,0]));
push (@itemTimeslot, $timeValue);
push (@tempStatusMessage, undef);
$timeValue -= $step;
}
$timeValue = $lastTimeslot;
$inIMW = 1;
if ($rv) {
while (my $ref = $sth->fetchrow_hashref()) {
$timeslot = ( $step ? int(($lastTimeslot - $ref->{timeslot}) / $step) : 0 );
print "<", $timeslot, "><", $ref->{title}, "><", $ref->{startTime}, "><", $ref->{timeslot}, ">\n" if ($debug);
if ($timeslot >= 0) {
my $dstatus = ($ref->{status} eq '<NIHIL>') ? 'UNKNOWN' : $ref->{status};
$tstatus = $dstatus;
if ($dstatus eq 'OK' and $trendline) {
my $tSeconden = int(substr($ref->{duration}, 6, 2)) + int(substr($ref->{duration}, 3, 2)*60) + int(substr($ref->{duration}, 0, 2)*3600);
$tstatus = 'TRENDLINE' if ($tSeconden > $trendline);
}
$itemStatus[$timeslot] = $tstatus;
$itemStarttime[$timeslot] = $ref->{startTime};
$itemTimeslot[$timeslot] = $ref->{timeslot};
unless ( defined $ref->{perfdata} and $ref->{perfdata} ne '' ) { # remove performance data
# ($ref->{statusMessage}, undef) = split(/\|/, $ref->{statusMessage}, 2);
my $statusMessage = reverse $ref->{statusMessage};
my ($_statusMessage, undef) = reverse split(/\|/, $statusMessage, 2);
$ref->{statusMessage} = reverse $_statusMessage;
}
if ( -e $RESULTSPATH .'/'. $ref->{filename} ) {
$ref->{filename} = $RESULTSURL .'/'. $ref->{filename};
} else {
if ( -e $ref->{filename} ) {
$ref->{filename} =~ s/^$RESULTSPATH\//$RESULTSURL\//g;
} else { # work arround for when switching from ASNMTAP_PATH in mixed environment
$ref->{filename} =~ s*^/opt/asnmtap(-3.000.xxx)+/results/*$RESULTSPATH/*g;
if ( -e $ref->{filename} ) {
$ref->{filename} =~ s/^$RESULTSPATH\//$RESULTSURL\//g;
} else {
$ref->{filename} = '<NIHIL>';
}
( run in 0.577 second using v1.01-cache-2.11-cpan-39bf76dae61 )