Some more performance improvements and caching

This commit is contained in:
Deon George
2012-12-07 14:33:16 +11:00
parent df498a76a7
commit 7a3539cb95
13 changed files with 475 additions and 203 deletions

View File

@@ -6,8 +6,8 @@
<td class="spacer" colspan="2">&nbsp;</td>
</tr>
<tr>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('domain/stgpool_summary')->set('o',$o); ?></td>
<td>&nbsp;</td>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('domain/stgpool_pool')->set('o',$o); ?></td>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('domain/stgpool_type')->set('o',$o); ?></td>
</tr>
<tr>
<td class="spacer" colspan="2">&nbsp;</td>

View File

@@ -16,7 +16,7 @@
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<td><?php echo substr($ctype,0,1); ?></td>
<?php } ?>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<?php foreach ($o->stgpooltypes() as $type) { ?>
<td colspan="3" class="right"><?php echo $type; ?>(Vol/Fil/Dat)</td>
<?php } ?>
</tr>
@@ -31,7 +31,7 @@
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<td class="data"><?php echo $no->hasData($ctype) ? 'Y' : 'N'; ?></td>
<?php } ?>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<?php foreach ($o->stgpooltypes() as $type) { ?>
<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>

View File

@@ -0,0 +1,39 @@
<!-- $o = ORM::factory('DOMAIN') -->
<table class="box-full">
<tr>
<td class="head" colspan="8">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 class="data" colspan="4"><?php echo $type; ?></td>
<td class="data-right"><?php echo count($o->nodes_byptype($type)); ?></td>
<td class="data-right"><?php echo count($o->vols_byptype($type)); ?></td>
<td class="data-right"><?php echo number_format($o->file_byptype($type),0); ?></td>
<td class="data-right"><?php echo number_format($o->logmb_byptype($type),0); ?></td>
</tr>
<?php foreach ($o->stgpools_byptype($type) as $spo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td>&nbsp;</td>
<td><?php echo HTML::anchor('stgpool/detail/'.$spo->STGPOOL_NAME,$spo->display('STGPOOL_NAME')); ?></td>
<td class="right"><?php echo $spo->display('NUMSCRATCHUSED'); ?></td>
<td class="right"><?php echo $spo->display('MAXSCRATCH'); ?></td>
<td class="right"><?php echo count($o->nodes_bypool($spo)); ?></td>
<td class="right"><?php echo count($o->vols_bypool($spo)); ?></td>
<td class="right"><?php echo number_format($o->file_bypool($spo),0); ?></td>
<td class="right"><?php echo number_format($o->logmb_bypool($spo),0); ?></td>
</tr>
<?php } ?>
<?php } ?>
</table>

View File

@@ -1,36 +0,0 @@
<!-- $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

@@ -0,0 +1,39 @@
<!-- $o = ORM::factory('DOMAIN') -->
<table class="box-full">
<tr>
<td class="head" colspan="8">Storage By Type 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->btypes() as $type) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data" colspan="4"><?php echo $type; ?></td>
<td class="data-right"><?php echo count($o->nodes_bybtype($type)); ?></td>
<td class="data-right"><?php echo count($o->vols_bybtype($type)); ?></td>
<td class="data-right"><?php echo number_format($o->file_bybtype($type),0); ?></td>
<td class="data-right"><?php echo number_format($o->logmb_bybtype($type),0); ?></td>
</tr>
<?php foreach ($o->stgpools_bybtype($type) as $spo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td>&nbsp;</td>
<td><?php echo HTML::anchor('stgpool/detail/'.$spo->STGPOOL_NAME,$spo->display('STGPOOL_NAME')); ?></td>
<td class="right"><?php echo $spo->display('NUMSCRATCHUSED'); ?></td>
<td class="right"><?php echo $spo->display('MAXSCRATCH'); ?></td>
<td class="right"><?php echo count($o->nodes_bypoolbybtype($spo,$type)); ?></td>
<td class="right"><?php echo count($o->vols_bypoolbybtype($spo,$type)); ?></td>
<td class="right"><?php echo number_format($o->file_bypoolbybtype($spo,$type),0); ?></td>
<td class="right"><?php echo number_format($o->logmb_bypoolbybtype($spo,$type),0); ?></td>
</tr>
<?php } ?>
<?php } ?>
</table>

View File

@@ -28,14 +28,13 @@
<td colspan="10">
<?php
if ($spo->DEVCLASS == 'DISK')
printf('%s: Utilised: %s%%, Device Type: %s',$spo->STGPOOL_NAME,$spo->PCT_UTILIZED,$spo->DEVCLASS);
printf('%s: Utilised: %s%%, Device Type: %s',$spo->STGPOOL_NAME,$spo->PCT_MIGR,$spo->DEVCLASS);
else
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_bypoolbyctype($spo->STGPOOL_NAME,$ctype) as $vuo) {
$vo = $vuo->VOLUME; ?>
<?php foreach ($o->vols_bypoolbyctype($spo->STGPOOL_NAME,$ctype) as $vo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo HTML::anchor('volume/detail/'.base64_encode($vo->VOLUME_NAME),$vo->display('VOLUME_NAME')); ?></td>
<td class="data"><?php echo $vo->display('LAST_READ_DATE'); ?></td>