ASNMTAP
view release on metacpan or search on metacpan
applications/htmlroot/cgi-bin/detailedStatisticsReportGenerationAndCompareResponsetimeTrends.pl view on Meta::CPAN
if ($statuspie eq 'on') {
$dummy = " checked";
$chartOrTableChecked = 1;
$images .= "<br><center><img src=$HTTPSURL/cgi-bin/generateChart.pl?chart=Status&".encode_html_entities('U', $urlAccessParameters)."></center>\n" if ($uKey1 ne 'none');
} else {
$dummy = '';
}
$checkbox .= " <input type=\"checkbox\" name=\"statuspie\"$dummy> Status\n";
if ($errorpie eq 'on') {
$dummy = " checked";
$chartOrTableChecked = 1;
$images .= "<br><center><img src=$HTTPSURL/cgi-bin/generateChart.pl?chart=ErrorDetails&".encode_html_entities('U', $urlAccessParameters)."></center>\n" if ($uKey1 ne 'none');
} else {
$dummy = '';
}
$checkbox .= " <input type=\"checkbox\" name=\"errorpie\"$dummy> Error Details\n";
if ($bar eq 'on') {
$dummy = " checked";
$chartOrTableChecked = 1;
$images .= "<br><center><img src=$HTTPSURL/cgi-bin/generateChart.pl?chart=Bar&".encode_html_entities('U', $urlAccessParameters)."></center>\n" if ($uKey1 ne 'none');
} else {
$dummy = '';
}
$checkbox .= " <input type=\"checkbox\" name=\"bar\"$dummy> Bar\n";
}
if ($hourlyAvg eq 'on') {
$dummy = " checked";
$chartOrTableChecked = 1;
$images .= "<br><center><img src=$HTTPSURL/cgi-bin/generateChart.pl?chart=HourlyAverage&".encode_html_entities('U', $urlAccessParameters)."></center>\n" if ($uKey1 ne 'none');
} else {
$dummy = '';
}
$checkbox .= " <input type=\"checkbox\" name=\"hourlyAvg\"$dummy> Hourly Average \n";
if ($dailyAvg eq 'on') {
$dummy = " checked";
$chartOrTableChecked = 1;
$images .= "<br><center><img src=$HTTPSURL/cgi-bin/generateChart.pl?chart=DailyAverage&".encode_html_entities('U', $urlAccessParameters)."></center>\n" if ($uKey1 ne 'none');
} else {
$dummy = '';
}
$checkbox .= " <input type=\"checkbox\" name=\"dailyAvg\"$dummy> Daily Average (long term stats)";
$dummy = ($pf eq 'on') ? ' checked' : '';
$printerFriendlyOutputBox = "<input type=\"checkbox\" name=\"pf\"$dummy> Printer friendly output\n";
my $comboboxSelectKeysAndValuesPairs = 'html=>HTML';
$comboboxSelectKeysAndValuesPairs .= '|pdf=>PDF' if ( $HTMLTOPDFPRG ne '<nihil>' and $HTMLTOPDFHOW ne '<nihil>' );
$formatOutputSelect = create_combobox_from_keys_and_values_pairs ($comboboxSelectKeysAndValuesPairs, 'V', 0, $formatOutput, 'formatOutput', '', '', '', '', $debug);
my ($numberOfDays, $sqlStartDate, $sqlEndDate, $yearFrom, $monthFrom, $dayFrom, $yearTo, $monthTo, $dayTo);
($goodDate, $sqlStartDate, $sqlEndDate, $numberOfDays) = get_sql_startDate_sqlEndDate_numberOfDays_test ($STRICTDATE, $FIRSTSTARTDATE, $inputType, $selYear, $selQuarter, $selMonth, $selWeek, $startDate, $endDate, $currentYear, $currentMonth, $c...
$errorMessage .= "<br><font color=\"Red\">Wrong Startdate and/or Enddate</font><br>" unless ( $goodDate );
if ( $selDetailed eq 'on' ) {
if ($details eq 'on') {
$dummy = " checked";
$chartOrTableChecked = 1;
} else {
$dummy = '';
}
$tables .= " <input type=\"checkbox\" name=\"details\"$dummy> Show Details\n";
if ($comments eq 'on') {
$dummy = " checked";
$chartOrTableChecked = 1;
} else {
$dummy = '';
}
$tables .= " <input type=\"checkbox\" name=\"comments\"$dummy> Show Comments\n";
if ( $PERFPARSEENABLED ) {
if ($perfdata eq 'on') {
$dummy = " checked";
$chartOrTableChecked = 1;
} else {
$dummy = '';
}
$tables .= " <input type=\"checkbox\" name=\"perfdata\"$dummy> Show Performance Data\n";
}
if ($topx eq 'on') {
$dummy = " checked";
$chartOrTableChecked = 1;
} else {
$dummy = '';
}
$tables .= " <input type=\"checkbox\" name=\"topx\"$dummy> Show Top 20 Slow tests<br>";
# Sql init & Query's - - - - - - - - - - - - - - - - - - - - - -
if ((($details eq 'on') or ($comments eq 'on') or ($perfdata eq 'on') or ($topx eq 'on')) and ! defined $errorMessage) {
$sqlSelect = "select SQL_NO_CACHE startDate as startDateQ, startTime, endDate as endDateQ, endTime, duration, status, statusMessage";
$sqlAverage = "select SQL_NO_CACHE avg(time_to_sec(duration)) as average";
$sqlErrors = "select SQL_NO_CACHE statusmessage, count(statusmessage) as aantal";
$sqlWhere = "WHERE catalogID='$CcatalogID' and uKey = '$uKey1'";
$sqlPeriode = "AND startDate BETWEEN '$sqlStartDate' AND '$sqlEndDate' $sqlPeriode " if (defined $sqlStartDate and defined $sqlEndDate);
}
my ($numbersOfTests, $step, $average);
my $forceIndex = "force index (key_startDate)"; $forceIndex = '';
# Short Description - - - - - - - - - - - - - - - - - - - - - - - -
if ( $uKey1 ne 'none' ) {
$sqlQuery = "select SQL_NO_CACHE shortDescription from $SERVERTABLPLUGINS WHERE catalogID = '$CcatalogID' and uKey = '$uKey1'";
$sth = $dbh->prepare( $sqlQuery ) or $rv = error_trap_DBI("", "Cannot dbh->prepare: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID);
$sth->execute() or $rv = error_trap_DBI("", "Cannot sth->execute: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID) if $rv;
if ( $rv ) {
($shortDescription) = $sth->fetchrow_array() or $rv = error_trap_DBI("", "Cannot sth->execute: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID) if $rv;
applications/htmlroot/cgi-bin/detailedStatisticsReportGenerationAndCompareResponsetimeTrends.pl view on Meta::CPAN
$sqlQuery = "select SQL_NO_CACHE test, resultsdir from $SERVERTABLPLUGINS $sqlWhere";
$sth = $dbh->prepare( $sqlQuery ) or $rv = error_trap_DBI("", "Cannot dbh->prepare: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID);
$sth->execute() or $rv = error_trap_DBI("", "Cannot sth->execute: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID) if $rv;
if ( $rv ) {
($test, $resultsdir) = $sth->fetchrow_array() or $rv = error_trap_DBI("", "Cannot sth->execute: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID) if $rv;
$sth->finish() or $rv = error_trap_DBI("", "Cannot sth->execute: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID);
if ( $rv ) {
($test, undef) = split(/\.pl/, $test);
$sqlQuery = create_sql_query_events_from_range_year_month ($inputType, $sqlStartDate, $sqlEndDate, $sqlSelect, $forceIndex, $sqlWhere, $sqlPeriode, "AND status <> 'OK' AND status <> 'OFFLINE' AND status <> 'NO TEST'", '', "", "order by ...
$sth = $dbh->prepare( $sqlQuery ) or $rv = error_trap_DBI("", "Cannot dbh->prepare: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID);
$sth->execute() or $rv = error_trap_DBI("", "Cannot sth->execute: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID) if $rv;
$sth->bind_columns( \$startDateQ, \$startTime, \$endDateQ, \$endTime, \$duration, \$status, \$statusMessage ) or $rv = error_trap_DBI("", "Cannot sth->bind_columns: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID) if $rv;
}
}
if ( $rv ) {
sub createLinkToDebugFile {
my ($startDate, $startTime, $status, $statusMessage) = @_;
my ($year, $month, $day) = split (/-/, $startDate);
my ($hour, $min, $sec) = split (/:/, $startTime);
if ( $formatOutput ne 'html' or $htmlToPdf ) {
return ($statusMessage);
} else {
my $catalogID_uKey1 = ( ( $CcatalogID eq 'CID' ) ? '' : $CcatalogID .'_' ) . $uKey1;
if (-e "$PREFIXPATH/$RESULTSDIR/$resultsdir/$DEBUGDIR/$year$month$day$hour$min$sec-$test-$catalogID_uKey1-$status.htm") {
return ("<A HREF=\"$RESULTSURL/$resultsdir/$DEBUGDIR/$year$month$day$hour$min$sec-$test-$catalogID_uKey1-$status.htm\" target=\"_blank\">$statusMessage</A>");
} else {
return ($statusMessage);
}
}
}
$firstrun = 1; $oneblock = $tel = $wtel = 0;
while( $sth->fetch() ) {
$seconden = int(substr($duration, 6, 2)) + int(substr($duration, 3, 2)*60) + int(substr($duration, 0, 2)*3600);
(undef, $rest) = split(/:/, $statusMessage, 2);
# ($rest, undef) = split(/\|/, $rest, 2) if (defined $rest); # remove performance data
if (defined $rest) {
my $_rest = reverse $rest;
my ($_rest, undef) = reverse split(/\|/, $_rest, 2);
my $rest = reverse $_rest;
}
if ($firstrun) {
$firstrun = 0;
} else {
($oneblock, $block, $rrest, $dummy) = setBlockBGcolor ($oneblock, $status, $step, $startDateQ, $startTime, $nyear, $nmonth, $nday, $nhours, $nminuts, $nseconds, $nstatus, $nrest);
if ($rrest =~ /^Response/) {
$wtel++;
$responseTable .= "<table width=\"100%\" border=\"0\" cellpadding=\"1\" cellspacing=\"1\" bgcolor=\"$COLORSTABLE{TABLE}\"><tr><th width=\"40\"> # </th><th>Start</th><th>Stop</th><th>Duration</th><th>Status</th><th>Status Message</th...
$responseTable .= "<tr $block><td>$dummy$wtel</td><td> $nstartDateQ \@ $nstartTime</td><td>$nendDateQ \@ $nendTime</td><td align=\"center\">".$nseconden."s</td><td><font color=\"".$COLORS {$nstatus}."\"> ".encode_html_entities('S', ...
} else {
$tel++;
$errorDetailList .= "<table width=\"100%\" border=\"0\" cellpadding=\"1\" cellspacing=\"1\" bgcolor=\"$COLORSTABLE{TABLE}\"><tr><th width=\"40\"> # </th><th>Start</th><th>Stop</th><th>Duration</th><th>Status</th><th>Status Message</...
$errorDetailList .= "<tr $block><td>$dummy$tel</td><td> $nstartDateQ \@ $nstartTime</td><td>$nendDateQ \@ $nendTime</td><td align=\"center\">".$nseconden."s</td><td><font color=\"".$COLORS{$nstatus}."\"> ".encode_html_entities('S', ...
}
}
($nyear, $nmonth, $nday, $nhours, $nminuts, $nseconds, $nstartDateQ, $nstartTime, $nendDateQ, $nendTime, $nseconden, $nstatus, $nrest) = setPreviousValues ($startDateQ, $startTime, $endDateQ, $endTime, $seconden, $status, $rest);
}
if ($tel || $wtel) {
($oneblock, $block, $rrest, $dummy) = setBlockBGcolor ($oneblock, $status, 0, $startDateQ, $startTime, $nyear, $nmonth, $nday, $nhours, $nminuts, $nseconds, $nstatus, $nrest);
if ($rrest =~ /^Response/) {
$wtel++;
$responseTable .= "<tr $block><td>$dummy$wtel</td><td> $nstartDateQ \@ $nstartTime</td><td>$nendDateQ \@ $nendTime</td><td align=\"center\">".$nseconden."s</td><td><font color=\"".$COLORS {$nstatus}."\"> ".encode_html_entities('S', $n...
} else {
$tel++;
$errorDetailList .= "<tr $block><td>$dummy$tel</td><td> $nstartDateQ \@ $nstartTime</td><td>$nendDateQ \@ $nendTime</td><td align=\"center\">".$nseconden."s</td><td><font color=\"".$COLORS {$nstatus}."\"> ".encode_html_entities('S', $...
}
}
$responseTable .= "</table>\n<br>\n<table border=\"0\" cellpadding=\"1\" cellspacing=\"1\" bgcolor=\"$COLORSTABLE{TABLE}\"><tr><td>Legende:</td><td> </td><td bgcolor=\"$COLORSTABLE{NOBLOCK}\"> Single item...
if ($tel) {
$errorDetailList .= "</table>\n<br>\n<table border=\"0\" cellpadding=\"1\" cellspacing=\"1\" bgcolor=\"$COLORSTABLE{TABLE}\"><tr><td>Legende:</td><td> </td><td bgcolor=\"$COLORSTABLE{NOBLOCK}\"> Single ...
} else {
$errorDetailList .= "<table border=\"0\" cellpadding=\"1\" cellspacing=\"1\" bgcolor=\"$COLORSTABLE{TABLE}\"><tr><td width=\"400\">No problems for this period!</td></tr></table>\n";
}
$sth->finish() or $rv = error_trap_DBI("", "Cannot sth->finish", $debug, '', "", '', "", -1, '', $sessionID);
}
$sqlQuery = create_sql_query_events_from_range_year_month ($inputType, $sqlStartDate, $sqlEndDate, $sqlSelect, $forceIndex, $sqlWhere, $sqlPeriode, "AND status = 'OK' AND statusMessage regexp ': Response time [[:alnum:]]+.[[:alnum:]]+ > tre...
$sth = $dbh->prepare( $sqlQuery ) or $rv = error_trap_DBI("", "Cannot dbh->prepare: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID);
$sth->execute() or $rv = error_trap_DBI("", "Cannot sth->execute: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID) if $rv;
$sth->bind_columns( \$startDateQ, \$startTime, \$endDateQ, \$endTime, \$duration, \$status, \$statusMessage ) or $rv = error_trap_DBI("", "Cannot sth->bind_columns: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID) if $rv;
if ( $rv ) {
$oneblock = $wtel = 0;
while( $sth->fetch() ) {
$seconden = int(substr($duration, 6, 2)) + int(substr($duration, 3, 2)*60) + int(substr($duration, 0, 2)*3600);
(undef, $rest) = split(/:/, $statusMessage, 2);
# ($rest, undef) = split(/\|/, $rest, 2) if (defined $rest); # remove performance data
if (defined $rest) {
my $_rest = reverse $rest;
my ($_rest, undef) = reverse split(/\|/, $_rest, 2);
my $rest = reverse $_rest;
}
if ($wtel) {
($oneblock, $block, $rrest, $dummy) = setBlockBGcolor ($oneblock, $status, $step, $startDateQ, $startTime, $nyear, $nmonth, $nday, $nhours, $nminuts, $nseconds, $nstatus, $nrest);
$responseTable .= "<tr $block><td>$dummy$wtel</td><td> $nstartDateQ \@ $nstartTime</td><td>$nendDateQ \@ $nendTime</td><td align=\"center\">".$nseconden."s</td><td><font color=\"".$COLORS {$nstatus}."\"> " .encode_html_entities('S', $...
} else {
$responseTable .= "<table width=\"100%\" border=\"0\" cellpadding=\"1\" cellspacing=\"1\" bgcolor=\"$COLORSTABLE{TABLE}\"><tr><th width=\"40\"> # </th><th>Start</th><th>Stop</th><th>Duration</th><th>Status</th><th>Status Message</th><...
}
$wtel++;
($nyear, $nmonth, $nday, $nhours, $nminuts, $nseconds, $nstartDateQ, $nstartTime, $nendDateQ, $nendTime, $nseconden, $nstatus, $nrest) = setPreviousValues ($startDateQ, $startTime, $endDateQ, $endTime, $seconden, $status, $rest);
}
if ($wtel) {
($oneblock, $block, $rrest, $dummy) = setBlockBGcolor ($oneblock, $status, 0, $startDateQ, $startTime, $nyear, $nmonth, $nday, $nhours, $nminuts, $nseconds, $nstatus, $nrest);
$responseTable .= "<tr $block><td>$dummy$wtel</td><td> $nstartDateQ \@ $nstartTime</td><td>$nendDateQ \@ $nendTime</td><td align=\"center\">".$nseconden."s</td><td><font color=\"".$COLORS {$nstatus}."\"> " .encode_html_entities('S', $ns...
$responseTable .= "</table>\n<br>\n<table border=\"0\" cellpadding=\"1\" cellspacing=\"1\" bgcolor=\"$COLORSTABLE{TABLE}\"><tr><td>Legende:</td><td> </td><td bgcolor=\"$COLORSTABLE{NOBLOCK}\"> Single it...
} else {
$responseTable .= "<table border=\"0\" cellpadding=\"1\" cellspacing=\"1\" bgcolor=\"$COLORSTABLE{TABLE}\"><tr><td width=\"400\">No response time warnings for this period!</td></tr></table>\n";
}
$sth->finish() or $rv = error_trap_DBI("", "Cannot sth->finish", $debug, '', "", '', "", -1, '', $sessionID);
}
# Problem Summary - - - - - - - - - - - - - - - - - - - - - - -
$sqlQuery = create_sql_query_events_from_range_year_month ($inputType, $sqlStartDate, $sqlEndDate, $sqlErrors, $forceIndex, $sqlWhere, $sqlPeriode, "AND status ='CRITICAL'", "GROUP BY statusmessage", '', "order by aantal desc, statusmessage...
$sth = $dbh->prepare( $sqlQuery ) or $rv = error_trap_DBI("", "Cannot dbh->prepare: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID);
$sth->execute() or $rv = error_trap_DBI("", "Cannot sth->execute: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID) if $rv;
$sth->bind_columns( \$statusMessage, \$count ) or $rv = error_trap_DBI("", "Cannot sth->bind_columns: $sqlQuery", $debug, '', "", '', "", -1, '', $sessionID) if $rv;
if ( $rv ) {
my (%problemSummary);
if ($sth->rows) {
while( $sth->fetch() ) {
my ($dummy, $rest) = split(/:/, $statusMessage, 2);
$rest = $dummy unless ( $rest );
if ($rest) {
# ($rest, undef) = split(/\|/, $rest, 2); # remove performance data
my $_rest = reverse $rest;
my ($_rest, undef) = reverse split(/\|/, $_rest, 2);
my $rest = reverse $_rest;
($dummy, $rest) = split(/,/, $rest, 2);
$rest = $dummy unless ( $rest );
} else {
$rest = 'UNDEFINED';
}
if (exists $problemSummary{$rest}) {
$problemSummary{$rest} += $count;
} else {
$problemSummary{$rest} = $count;
}
}
}
$errorList = "<H1>Problem Summary </H1>\n";
if ( $sth->rows > 0 ) {
$errorList .= "<table border=\"0\" cellpadding=\"1\" cellspacing=\"1\" bgcolor=\"$COLORSTABLE{TABLE}\"><tr><th>Statusmessage</th><th>Freq</th></tr>\n";
foreach my $rest (sort {$problemSummary{$b} <=> $problemSummary{$a}} (keys(%problemSummary))) {
$errorList .= "<tr bgcolor=\"$COLORSTABLE{STARTBLOCK}\"><td> " .encode_html_entities('M', $rest). " </td><td align=\"right\">" .$problemSummary{$rest}. "</td></tr>\n";
}
$errorList .= "</table>\n";
} else {
$errorList .= "<table border=\"0\" cellpadding=\"1\" cellspacing=\"1\" bgcolor=\"$COLORSTABLE{TABLE}\"><tr><td width=\"400\">No errors for this period!</td></tr></table>";
}
$sth->finish() or $rv = error_trap_DBI("", "Cannot sth->finish", $debug, '', "", '', "", -1, '', $sessionID);
}
}
( run in 0.458 second using v1.01-cache-2.11-cpan-ceb78f64989 )