diff --git a/application/classes/Model/ACTSUM.php b/application/classes/Model/ACTSUM.php
new file mode 100644
index 0000000..8fa05c2
--- /dev/null
+++ b/application/classes/Model/ACTSUM.php
@@ -0,0 +1,32 @@
+'ASC',
+ );
+
+ protected $_display_filters = array(
+ 'START_TIME'=>array(
+ array('ORM_TSM::date',array(':value','d-M H:i')),
+ ),
+ 'END_TIME'=>array(
+ array('ORM_TSM::date',array(':value','d-M H:i')),
+ ),
+ );
+
+ public function bytes() {
+ return (real)number_format($this->BYTES/1024/1024,0,'','');
+ }
+}
+?>
diff --git a/application/classes/Model/NODE.php b/application/classes/Model/NODE.php
index dddf7ba..2532ff1 100644
--- a/application/classes/Model/NODE.php
+++ b/application/classes/Model/NODE.php
@@ -115,6 +115,32 @@ class Model_NODE extends ORM_TSM {
),
);
+ /**
+ * Get all the ACTIVITY SUMMARY for this NODE
+ */
+ private function _actsum() {
+ Log::instance()->add(LOG::DEBUG,'ENTER :method',array(':method'=>__METHOD__));
+
+ $k = sprintf('%s-%s',__METHOD__,$this->NODE_NAME);
+ $c = Kohana::$config->load('config')->cache;
+
+ if (is_null($result = Cache::instance($c)->get($k))) {
+ $result = array();
+
+ // In the interest of performance, we load all the records and get PHP to process it.
+ // Our ORM caching we reduce the hit on TSM.
+ foreach (ORM::factory('ACTSUM')->order_by('SCHEDULE_NAME')->find_all() as $o)
+ if ($o->ENTITY == $this->NODE_NAME)
+ array_push($result,$o);
+
+ // @todo Cache time should be configurble
+ Cache::instance($c)->set($k,$result,300);
+ }
+
+ Log::instance()->add(LOG::DEBUG,'EXIT :method',array(':method'=>__METHOD__));
+ return $result;
+ }
+
/**
* Get all the FILESPACES for this NODE
*/
@@ -287,6 +313,31 @@ class Model_NODE extends ORM_TSM {
return $result;
}
+ /**
+ * Return the ACTIVITY of this NODE
+ * @param $type is Bkup/Arch/SpMg
+ */
+ public function act_bybtype($type) {
+ Log::instance()->add(LOG::DEBUG,'ENTER :method',array(':method'=>__METHOD__));
+
+ $k = sprintf('%s-%s-%s',__METHOD__,$this->NODE_NAME,$type);
+ $c = Kohana::$config->load('config')->cache;
+
+ if (is_null($result = Cache::instance($c)->get($k))) {
+ $result = array();
+
+ foreach ($this->_actsum() as $aso)
+ if ($aso->ACTIVITY == $this->datatypemap($type))
+ array_push($result,$aso);
+
+ // @todo Cache time should be configurble
+ Cache::instance($c)->set($k,$result,300);
+ }
+
+ Log::instance()->add(LOG::DEBUG,'EXIT :method',array(':method'=>__METHOD__));
+ return $result;
+ }
+
/**
* Return the BACKUP TYPES used by this NODE
* ie: Bkup/Arch/SpMg
diff --git a/application/views/node/detail.php b/application/views/node/detail.php
index e1da41c..2ad0823 100644
--- a/application/views/node/detail.php
+++ b/application/views/node/detail.php
@@ -12,6 +12,7 @@
set('o',$o); ?> |
+set('o',$o); ?>
set('o',$o); ?>
set('o',$o); ?>
set('o',$o); ?>
diff --git a/application/views/node/sessions.php b/application/views/node/sessions.php
new file mode 100644
index 0000000..0f88d01
--- /dev/null
+++ b/application/views/node/sessions.php
@@ -0,0 +1,55 @@
+
+
+ btypes() as $btype) { ?>
+
+
+
+
+ |
+
+ act_bybtype($btype)) { ?>
+
+ |
+
+
+ Start |
+ End |
+ Comm |
+ Schedule |
+ Session |
+ Examined |
+ Backed Up |
+ Failed |
+ MB |
+ Idle |
+ Media Wait |
+ Comm Wait |
+ Process |
+ Success |
+
+ act_bybtype($btype) as $ao) { ?>
+
+ display('START_TIME'); ?> |
+ display('END_TIME'); ?> |
+ display('COMMMETH'); ?> |
+ display('SCHEDULE_NAME'); ?> |
+ display('NUMBER'); ?> |
+ display('EXAMINED'); ?> |
+ display('AFFECTED'); ?> |
+ display('FAILED'); ?> |
+ bytes(); ?> |
+ display('IDLE'); ?> |
+ display('MEDIAW'); ?> |
+ display('COMM_WAIT'); ?> |
+ display('PROCESSES'); ?> |
+ display('SUCCESSFUL'); ?> |
+
+
+
+ |
+
+
+ |
+
+
+