84 lines
2.2 KiB
PHP
84 lines
2.2 KiB
PHP
<?php
|
|
// $Header: /cvsroot/phptsmadmin/phpTSMadmin/htdocs/image.dbbackuphistory.php,v 1.7 2009/04/19 03:54:40 wurley Exp $
|
|
|
|
# Required Libraries
|
|
require './common.php';
|
|
initJPGraph(true);
|
|
|
|
$history = $app['server']->GetDBBackupDetail('history');
|
|
if (! $history)
|
|
exit;
|
|
|
|
$graph = new Graph(400,200,'auto');
|
|
$graph->SetScale('textlin');
|
|
|
|
$fulldata = array();
|
|
$incrdata = array();
|
|
$xtitles = array();
|
|
|
|
foreach ($app['server']->GetDBBackupDetail('history') as $index => $backupdetails) {
|
|
switch ($backupdetails['type']) {
|
|
case 'FULL' :
|
|
$fulldata[] = $backupdetails['size'];
|
|
$incrdata[] = 0;
|
|
break;
|
|
|
|
case 'INCR' :
|
|
$fulldata[] = 0;
|
|
$incrdata[] = $backupdetails['size'];
|
|
break;
|
|
}
|
|
$xtitles[] = preg_replace('/ /',"\n",tsmDate($backupdetails['date'],'daytime'));
|
|
$maxdata[] = $app['server']->GetDBDetail('USABLE_PAGES');
|
|
$curdata[] = $app['server']->GetDBDetail('USED_PAGES');
|
|
}
|
|
|
|
$cplot = new LinePlot($maxdata);
|
|
$cplot->SetLegend('Max DB Size');
|
|
$cplot->SetColor('red');
|
|
$cplot->SetWeight(2);
|
|
if (count($maxdata) == 1)
|
|
$cplot->mark->SetType(MARK_IMG_MBALL,'red',0.5);
|
|
$graph->Add($cplot);
|
|
|
|
$dplot = new LinePlot($curdata);
|
|
$dplot->SetLegend('Cur Size');
|
|
$dplot->SetColor('lightred');
|
|
$dplot->SetWeight(2);
|
|
$graph->Add($dplot);
|
|
|
|
$aplot = new BarPlot($fulldata);
|
|
$aplot->SetLegend('Full');
|
|
$aplot->SetFillColor('blue');
|
|
$aplot->value->Show();
|
|
$aplot->value->SetFormat('%5.0f');
|
|
$graph->Add($aplot);
|
|
|
|
$bplot = new BarPlot($incrdata);
|
|
$bplot->SetLegend('Incremental');
|
|
$bplot->SetFillColor('lightblue');
|
|
$bplot->value->Show();
|
|
$bplot->value->SetFormat('%5.0f');
|
|
$graph->Add($bplot);
|
|
|
|
$graph->img->SetMargin(60,110,20,40);
|
|
$graph->legend->Pos(0.01,0.80,'right','center');
|
|
$graph->legend->SetFillColor('azure');
|
|
$graph->xaxis->SetTickLabels($xtitles);
|
|
$graph->xaxis->SetLabelAngle(90);
|
|
$graph->xgrid->Show(true);
|
|
$graph->yaxis->title->Set('Database Pages \'000s');
|
|
$graph->yaxis->SetLabelFormatCallback('labelformat');
|
|
$graph->yaxis->SetTitleMargin(45);
|
|
$graph->SetMarginColor('azure2');
|
|
$graph->title->Set(sprintf('Database Backups %s',$app['server']->GetStatusDetail('SERVER_NAME')));
|
|
|
|
# Display the Gantt chart
|
|
$graph->Stroke();
|
|
|
|
function labelformat($label) {
|
|
return number_format($label/1000);
|
|
}
|
|
|
|
?>
|