<?php // $Header: /cvsroot/phptsmadmin/phpTSMadmin/htdocs/server.stats.php,v 1.6 2009/04/19 04:00:59 wurley Exp $ # Required Libraries require './common.php'; $summaryInfo = objectCache('summaryinfo'); if (! isset($_REQUEST['mediaactions'])) { $blockTitle['form'] = _('Graph Media Statistics.'); $blockBody['form'] = 'Please select the stats you would like to graph.'; $blockBody['form'] .= '<form action="cmd.php">'; $blockBody['form'] .= sprintf('<input type="hidden" name="cmd" value="%s" />',get_request('cmd','REQUEST')); $blockBody['form'] .= '<select multiple size=10 name="mediaactions[]">'; foreach ($summaryInfo->mediaActions(true) as $action) { $blockBody['form'] .= sprintf('<option value="%s">%s</option>',$action,$action); } $blockBody['form'] .= '</select><br />'; $blockBody['form'] .= '<input align="left" type="submit" name="submit" value="Go" />'; $blockBody['form'] .= sprintf('<input type="hidden" name="index" value="%s" />',$app['server']->getIndex()); $blockBody['form'] .= '</form>'; } else { $mediawait = $summaryInfo->mediaActions(); $graph['mediawait']['total'] = 0; $graph['mediawait']['count'] = 0; $graph['thruput']['total'] = 0; $graph['thruput']['count'] = 0; $mode = array(); foreach ($_REQUEST['mediaactions'] as $action) { if (isset($mediawait[$action])) foreach ($mediawait[$action] as $index => $detail) { $start = strtotime(tsmDate($detail['START_TIME'],'nomsec')); $end = strtotime(tsmDate($detail['END_TIME'],'nosec')); $graph['mediawait']['data'][$detail['ACTIVITY']][$end] = $detail['MEDIAW']; $graph['mediawait']['total'] += $detail['MEDIAW']; $graph['mediawait']['count']++; @$mode[$detail['MEDIAW']]++; $graph['thruput']['data'][$detail['ACTIVITY']][$end] = $detail['BYTES']/1024/($end+.1-$start); } # Drop the first and last entry ksort($mode); array_pop($mode); $total = 0; $counter = 0; foreach ($mode as $index => $value) { if ($counter) { $total += $index * $value; } $counter++; } if ($counter) $graph['mediawait']['mode'] = $total/$counter; # Save Session $_SESSION['graph'] = $graph; # Media Wait Graph $blockTitle['mediawait'] = sprintf(_('Migration Information for %s (%s) %s.%s.%s.%s'), $app['server']->GetStatusDetail('SERVER_NAME'), $app['server']->GetStatusDetail('PLATFORM'), $app['server']->GetStatusDetail('VERSION'), $app['server']->GetStatusDetail('RELEASE'), $app['server']->GetStatusDetail('LEVEL'), $app['server']->GetStatusDetail('SUBLEVEL')); $blockBody['mediawait'] = '<table class="blockcitem">'; $blockBody['mediawait'] .= sprintf('<tr><th colspan=2 class="title">%s</th></tr>',_('Media Wait Graph')); $blockBody['mediawait'] .= '<tr><td><table class="blockcitem" border=0>'; $blockBody['mediawait'] .= '<tr><td colspan=2> </td></tr>'; $blockBody['mediawait'] .= '</table></td>'; $blockBody['mediawait'] .= sprintf('<td align="right"><img src="image.server.stats.php?index=%s&activity=mediawait" /></td></tr>', $app['server']->getIndex()); $blockBody['mediawait'] .= '</table>'; # Thruput Graph $blockTitle['thruput'] = sprintf(_('Server Thruput for %s (%s) %s.%s.%s.%s'), $app['server']->GetStatusDetail('SERVER_NAME'), $app['server']->GetStatusDetail('PLATFORM'), $app['server']->GetStatusDetail('VERSION'), $app['server']->GetStatusDetail('RELEASE'), $app['server']->GetStatusDetail('LEVEL'), $app['server']->GetStatusDetail('SUBLEVEL')); $blockBody['thruput'] = '<table class="blockcitem">'; $blockBody['thruput'] .= sprintf('<tr><th colspan=2 class="title">%s</th></tr>',_('Server Thruput Graph')); $blockBody['thruput'] .= '<tr><td><table class="blockcitem" border=0>'; $blockBody['thruput'] .= '<tr><td colspan=2> </td></tr>'; $blockBody['thruput'] .= '</table></td>'; $blockBody['thruput'] .= sprintf('<td align="right"><img src="image.server.stats.php?index=%s&activity=thruput" /></td></tr>', $app['server']->getIndex()); $blockBody['thruput'] .= '</table>'; } } # End render_page($blockTitle,$blockBody); ?>