104 lines
3.9 KiB
PHP
104 lines
3.9 KiB
PHP
<?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);
|
|
?>
|