public function actionCluster() { $this->_view->clusterName = ''; $this->_view->nodes = array(); $requestClusterName = null; if (isset($_GET['c'])) { $requestClusterName = $_GET['c']; } if ($requestClusterName) { foreach ($this->_structure as $cluster) { if ($cluster->getName() == $requestClusterName) { $clusterMemSize = 0; $clusterMemUsed = 0; foreach ($cluster->getNodes() as $nodeId => $node) { $state = $node->getUpState() ? 'UP' : 'DOWN'; $responseTime = Memcadmin_Misc::formatSecAsmSec($node->getLastResponseTime()); $stats = $node->getFullStats(); $version = $stats['version']; $startTime = time() - intval($stats['uptime']); $upTime = $stats['uptime']; $memSize = intval($stats['limit_maxbytes']); $memUsed = intval($stats['bytes']); $clusterMemSize += $memSize; $clusterMemUsed += $memUsed; $this->_view->nodes[] = array('node_id' => $nodeId, 'name' => $node->getName(), 'ip' => $node->getIp(), 'port' => $node->getPort(), 'stats' => $stats, 'responseTime' => $responseTime, 'state' => $state, 'startTime' => $startTime, 'upTime' => $upTime, 'memSize' => Memcadmin_Misc::bsize($memSize), 'memUsed' => Memcadmin_Misc::bsize($memUsed), 'memAvailable' => Memcadmin_Misc::bsize($memSize - $memUsed), 'version' => $version); } $this->_view->cluster = array('name' => $cluster->getName(), 'memSize' => Memcadmin_Misc::bsize($clusterMemSize), 'memUsed' => Memcadmin_Misc::bsize($clusterMemUsed), 'memAvailable' => Memcadmin_Misc::bsize($clusterMemSize - $clusterMemUsed)); break; } } } return $this; }