Work on performance improvements with caching

This commit is contained in:
Deon George
2012-12-04 11:52:10 +11:00
parent eafb80f7fc
commit 1bf8a520e2
30 changed files with 877 additions and 495 deletions

View File

@@ -1,29 +1,30 @@
<table width="100%">
<tr>
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/nodes')->set('o',$o); ?></td>
<td style="width: 100%; vertical-align: top;" colspan="2"><?php echo View::factory('domain/nodes')->set('o',$o); ?></td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
<td class="spacer" colspan="2">&nbsp;</td>
</tr>
<tr>
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/stgpools')->set('o',$o); ?></td>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('domain/stgpool_summary')->set('o',$o); ?></td>
<td>&nbsp;</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
<td class="spacer" colspan="2">&nbsp;</td>
</tr>
<tr>
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/volumes')->set('o',$o); ?></td>
<td colspan="2"><?php echo View::factory('domain/volumes')->set('o',$o); ?></td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
<td class="spacer" colspan="2">&nbsp;</td>
</tr>
<tr>
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/policy')->set('o',$o); ?></td>
<td colspan="2"><?php echo View::factory('domain/policy')->set('o',$o); ?></td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
<td class="spacer" colspan="2">&nbsp;</td>
</tr>
<tr>
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/schedules')->set('o',$o); ?></td>
<td colspan="2"><?php echo View::factory('domain/schedules')->set('o',$o); ?></td>
</tr>
</table>

View File

@@ -14,27 +14,27 @@
<td>Last IP Addr</td>
<td>Client Opt</td>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<td><?php echo $ctype[0]; ?></td>
<td><?php echo substr($ctype,0,1); ?></td>
<?php } ?>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<td colspan="3" class="right"><?php echo $type; ?>(Vol/Fil/Dat)</td>
<?php } ?>
</tr>
<?php $i=0; foreach ($o->NODE->find_all() as $no) { ?>
<?php $i=0; foreach ($o->nodes() as $no) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><abbr title="<?php printf('%s (%s)',$no->display('CONTACT'),$no->display('EMAIL_ADDRESS')); ?>"><?php echo HTML::anchor('node/detail/'.$no->NODE_NAME,$no->NODE_NAME); ?></abbr></td>
<td class="data"><?php echo $no->tsmclientversion(); ?></td>
<td class="data"><?php echo $no->version(); ?></td>
<td class="data"><?php echo $no->platform(); ?></td>
<td class="data"><?php echo $no->display('LASTACC_TIME'); ?></td>
<td class="data"><?php echo $no->display('TCP_ADDRESS'); ?></td>
<td class="data"><?php echo $no->display('OPTION_SET'); ?></td>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<td class="data"><?php echo $no->hasData($btype) ? 'Y' : 'N'; ?></td>
<td class="data"><?php echo $no->hasData($ctype) ? 'Y' : 'N'; ?></td>
<?php } ?>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<td class="data-right"><?php echo count($no->getStorageTypeVols($type)); ?></td>
<td class="data-right"><?php echo $no->getStorageTypeFiles($type); ?></td>
<td class="data-right"><?php echo $no->getStorageTypeData($type); ?></td>
<td class="data-right"><?php echo count($no->vols_byptype($type)); ?></td>
<td class="data-right"><?php echo number_format($no->file_byptype($type),0); ?></td>
<td class="data-right"><?php echo number_format($no->logmb_byptype($type),0); ?></td>
<?php } ?>
</tr>
<?php } ?>

View File

@@ -15,7 +15,7 @@
<td>Priority</td>
<td>Nodes</td>
</tr>
<?php $i=0;foreach ($o->SCHEDULE_CLIENT->find_all() as $so) { ?>
<?php $i=0; foreach ($o->SCHEDULE_CLIENT->find_all() as $so) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $so->display('SCHEDULE_NAME'); ?></td>
<td class="data"><?php echo $so->display('STARTTIME'); ?></td>

View File

@@ -0,0 +1,36 @@
<!-- $o = ORM::factory('DOMAIN') -->
<table class="box-full">
<tr>
<td class="head" colspan="15">Storage By Pools Summary for Nodes in this Domain</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td colspan="2">Storage Pool and Type</td>
<td class="right">Scr Use</td>
<td class="right">Scr Avl</td>
<td class="right">Nodes</td>
<td class="right">Vols</td>
<td class="right">Files</td>
<td class="right">MB</td>
</tr>
<?php $i=0; foreach ($o->stgpooltypes() as $type) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td colspan="8" class="data"><?php echo $type; ?></td>
</tr>
<?php foreach ($o->stgpools_byptype($type) as $spo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td>&nbsp;</td>
<td class="data"><?php echo HTML::anchor('stgpool/detail/'.$spo->STGPOOL_NAME,$spo->display('STGPOOL_NAME')); ?></td>
<td class="data-right"><?php echo $spo->display('NUMSCRATCHUSED'); ?></td>
<td class="data-right"><?php echo $spo->display('MAXSCRATCH'); ?></td>
<td class="data-right"><?php echo count($o->nodes_bypool($spo)); ?></td>
<td class="data-right"><?php echo count($o->vols_bypool($spo)); ?></td>
<td class="data-right"><?php echo number_format($o->file_bypool($spo),0); ?></td>
<td class="data-right"><?php echo number_format($o->logmb_bypool($spo),0); ?></td>
</tr>
<?php } ?>
<?php } ?>
</table>

View File

@@ -1,53 +0,0 @@
<!-- $o = ORM::factory('DOMAIN') -->
<table class="box-full">
<tr>
<td class="head" colspan="15">Storage Pools used by nodes in this Domain</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td colspan="3">Storage Pool</td>
<td class="right">Scr Use</td>
<td class="right">Scr Avl</td>
<td class="right">Access</td>
<td class="right">Rec %</td>
<td class="right">Util %</td>
<td class="right">Migr %</td>
<td class="right">High/Low</td>
<td class="right">Next</td>
<td class="right">Nodes</td>
<td class="right">Vols</td>
<td class="right">Files</td>
<td class="right">MB</td>
</tr>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<tr class="subhead">
<td colspan="15"><?php echo $btype; ?></td>
</tr>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<tr class="subhead">
<td>&nbsp;</td>
<td colspan="14"><?php echo $type; ?></td>
</tr>
<?php $i=0; foreach ($o->getStoragePoolsType($btype,$type) as $spo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td colspan="2">&nbsp;</td>
<td class="data"><?php echo HTML::anchor('stgpool/detail/'.$spo->STGPOOL_NAME,$spo->display('STGPOOL_NAME')); ?></td>
<td class="data-right"><?php echo $spo->display('NUMSCRATCHUSED'); ?></td>
<td class="data-right"><?php echo $spo->display('MAXSCRATCH'); ?></td>
<td class="data-right"><?php echo $spo->display('ACCESS'); ?></td>
<td class="data-right"><?php echo $spo->display('RECLAIM'); ?></td>
<td class="data-right"><?php echo $spo->display('PCT_UTILIZED'); ?></td>
<td class="data-right"><?php echo $spo->display('PCT_MIGR'); ?></td>
<td class="data-right"><?php printf('%s/%s',$spo->HIGHMIG,$spo->LOWMIG); ?></td>
<td class="data-right"><?php echo $spo->NEXTSTGPOOL ? HTML::anchor('stgpool/detail/'.$spo->NEXTSTGPOOL,$spo->display('NEXTSTGPOOL')) : '&nbsp;'; ?></td>
<td class="data-right"><?php echo count($o->getStorageModeNodes($btype,$type,$spo)); ?></td>
<td class="data-right"><?php echo count($o->getStorageModeVols($ctype,$type,$spo)); ?></td>
<td class="data-right"><?php echo $o->getStorageModeFiles($btype,$type,$spo); ?></td>
<td class="data-right"><?php echo $o->getStorageModeData($btype,$type,$spo); ?></td>
</tr>
<?php } ?>
<?php } ?>
<?php } ?>
</table>

View File

@@ -1,55 +1,51 @@
<!-- $o = ORM::factory('DOMAIN') -->
<table class="box-full">
<tr>
<td class="head" colspan="14">Sequential Volumes needed to restore Data for Nodes in this Domain</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td colspan="4">Volume</td>
<td>Status</td>
<td>Access</td>
<td>Scr</td>
<td class="right">Pct %</td>
<td class="right">Rec %</td>
<td class="right">Mounted</td>
<td class="right">R/W Err</td>
<td class="right">FS</td>
<td class="right">Nodes</td>
<td class="right">Location</td>
</tr>
<table width="100%">
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<tr class="subhead">
<td colspan="14"><?php echo $btype; ?></td>
<tr>
<td style="width: 100%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="2"><?php echo $ctype.' '._('Volumes'); ?></td>
</tr>
<?php if ($o->vols_bybtype($ctype)) { ?>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Volume</td>
<td>Last Read Date</td>
<td>Last Write Date</td>
<td>Access</td>
<td>Status</td>
<td class="right">Errors R/W</td>
<td class="right">Util %</td>
<td class="right">Recl %</td>
<td class="right">FS</td>
<td class="right">Nodes</td>
</tr>
<?php $i=0; foreach ($o->stgpools_bybtype($ctype) as $spo) { ?>
<tr class="subhead"><td colspan="10"><?php printf('%s: Reclaim: %s%%, Scratch Usage: %s/%s, Device Type: %s',$spo->STGPOOL_NAME,$spo->RECLAIM,$spo->NUMSCRATCHUSED,$spo->MAXSCRATCH,$spo->DEVCLASSES->DEVTYPE); ?></td></tr>
<?php foreach ($o->vols_bypoolbybtype($spo->STGPOOL_NAME,$ctype) as $vuo) {
$vo = $vuo->VOLUME; ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo HTML::anchor('volume/detail/'.$vo->VOLUME_NAME,$vo->display('VOLUME_NAME')); ?></td>
<td class="data"><?php echo $vo->display('LAST_READ_DATE'); ?></td>
<td class="data"><?php echo $vo->display('LAST_WRITE_DATE'); ?></td>
<td class="data"><?php echo $vo->display('ACCESS'); ?></td>
<td class="data"><?php echo $vo->display('STATUS'); ?></td>
<td class="data-right"><?php printf('%s/%s',$vo->READ_ERRORS,$vo->WRITE_ERRORS); ?></td>
<td class="data-right"><?php echo $vo->display('PCT_UTILIZED'); ?></td>
<td class="data-right"><?php echo $vo->display('PCT_RECLAIM'); ?></td>
<td class="data-right"><?php echo count($vo->fs_bybtype($ctype)); ?></td>
<td class="data-right"><?php echo count($vo->nodes_bybtype($ctype)); ?></td>
</tr>
<?php } ?>
<?php } ?>
<?php } else { ?>
<tr><td><?php echo _('There are NO volumes for this Domain.'); ?></td></tr>
<?php } ?>
</table>
</td>
</tr>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<tr class="subhead">
<td>&nbsp;</td>
<td colspan="13"><?php echo $type; ?></td>
</tr>
<?php $i=0;foreach ($o->getStoragePoolsType($btype,$type) as $spo) { ?>
<tr class="subhead">
<td colspan="2">&nbsp;</td>
<td colspan="13"><?php echo $spo->DISPLAY('STGPOOL_NAME'); ?></td>
</tr>
<?php foreach ($o->getStorageModeVols($ctype,$type,$spo) as $vuo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td colspan="3">&nbsp;</td>
<td class="data"><?php echo HTML::anchor('volume/detail/'.$vuo->VOLUME_NAME,$vuo->display('VOLUME_NAME')); ?></td>
<td class="data"><?php echo $vuo->VOLUME->display('STATUS'); ?></td>
<td class="data"><?php echo $vuo->VOLUME->display('ACCESS'); ?></td>
<td class="data"><?php echo $vuo->VOLUME->isScratch() ? 'Y' : 'N'; ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->display('PCT_UTILIZED'); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->display('PCT_RECLAIM'); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->display('TIMES_MOUNTED'); ?></td>
<td class="data-right"><?php printf('%s/%s',$vuo->VOLUME->READ_ERRORS,$vuo->VOLUME->WRITE_ERRORS); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->getFSOnVol($ctype); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->getNodesOnVol($ctype); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->location(); ?></td>
</tr>
<?php } ?>
<?php } ?>
<?php } ?>
<?php } ?>
</table>