From 19d61ad7800aa48b6c2135a3402542712a651251 Mon Sep 17 00:00:00 2001 From: martin Date: Mon, 19 Sep 2011 17:55:26 -0400 Subject: [PATCH] CC-2363: Diagnostic screen in Web UI -working with ajax now! --- .../application/controllers/ApiController.php | 14 ++++--- .../controllers/SystemstatusController.php | 10 +++-- .../application/models/Systemstatus.php | 32 +++++++++++----- .../views/scripts/systemstatus/index.phtml | 38 +++++++------------ .../public/js/airtime/status/status.js | 20 ++++++++++ 5 files changed, 71 insertions(+), 43 deletions(-) create mode 100644 airtime_mvc/public/js/airtime/status/status.js diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php index 0dfc1a793..33506df01 100644 --- a/airtime_mvc/application/controllers/ApiController.php +++ b/airtime_mvc/application/controllers/ApiController.php @@ -656,12 +656,14 @@ class ApiController extends Zend_Controller_Action $status = array( "platform"=>Application_Model_Systemstatus::GetPlatformInfo(), "airtime_version"=>Application_Model_Systemstatus::GetAirtimeVersion(), - "icecast2"=>Application_Model_Systemstatus::GetIcecastStatus(), - "rabbitmq"=>Application_Model_Systemstatus::GetRabbitMqStatus(), - "pypo"=>Application_Model_Systemstatus::GetPypoStatus(), - "liquidsoap"=>Application_Model_Systemstatus::GetLiquidsoapStatus(), - "show_recorder"=>Application_Model_Systemstatus::GetShowRecorderStatus(), - "media_monitor"=>Application_Model_Systemstatus::GetMediaMonitorStatus() + "services"=>array( + Application_Model_Systemstatus::GetIcecastStatus(), + Application_Model_Systemstatus::GetRabbitMqStatus(), + Application_Model_Systemstatus::GetPypoStatus(), + Application_Model_Systemstatus::GetLiquidsoapStatus(), + Application_Model_Systemstatus::GetShowRecorderStatus(), + Application_Model_Systemstatus::GetMediaMonitorStatus() + ) ); $this->view->status = $status; diff --git a/airtime_mvc/application/controllers/SystemstatusController.php b/airtime_mvc/application/controllers/SystemstatusController.php index 810d5478f..58dcc1597 100644 --- a/airtime_mvc/application/controllers/SystemstatusController.php +++ b/airtime_mvc/application/controllers/SystemstatusController.php @@ -4,17 +4,21 @@ class SystemstatusController extends Zend_Controller_Action { public function init() { - + $request = $this->getRequest(); + $baseUrl = $request->getBaseUrl(); + + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/status/status.js','text/javascript'); } public function indexAction() { $status = array( - "icecast2"=>Application_Model_Systemstatus::GetIcecastStatus(), "pypo"=>Application_Model_Systemstatus::GetPypoStatus(), "liquidsoap"=>Application_Model_Systemstatus::GetLiquidsoapStatus(), "show-recorder"=>Application_Model_Systemstatus::GetShowRecorderStatus(), - "media-monitor"=>Application_Model_Systemstatus::GetMediaMonitorStatus() + "media-monitor"=>Application_Model_Systemstatus::GetMediaMonitorStatus(), + "rabbitmq-server"=>Application_Model_Systemstatus::GetRabbitMqStatus(), + "icecast2"=>Application_Model_Systemstatus::GetIcecastStatus() ); $this->view->status = $status; diff --git a/airtime_mvc/application/models/Systemstatus.php b/airtime_mvc/application/models/Systemstatus.php index e4de9f948..f1df35476 100644 --- a/airtime_mvc/application/models/Systemstatus.php +++ b/airtime_mvc/application/models/Systemstatus.php @@ -22,17 +22,23 @@ class Application_Model_Systemstatus public static function ExtractServiceInformation($p_docRoot, $p_serviceName){ - $starting = array("process_id"=>"STARTING...", - "uptime_seconds"=>"STARTING...", - "memory_perc"=>"UNKNOWN", - "memory_kb"=>"UNKNOWN", - "cpu_perc"=>"UNKNOWN"); + $starting = array( + "name"=>"", + "process_id"=>"STARTING...", + "uptime_seconds"=>"STARTING...", + "status"=>true, + "memory_perc"=>"UNKNOWN", + "memory_kb"=>"UNKNOWN", + "cpu_perc"=>"UNKNOWN"); - $notRunning = array("process_id"=>"FAILED", - "uptime_seconds"=>"FAILED", - "memory_perc"=>"UNKNOWN", - "memory_kb"=>"UNKNOWN", - "cpu_perc"=>"UNKNOWN" + $notRunning = array( + "name"=>"", + "process_id"=>"FAILED", + "uptime_seconds"=>"FAILED", + "status"=>false, + "memory_perc"=>"UNKNOWN", + "memory_kb"=>"UNKNOWN", + "cpu_perc"=>"UNKNOWN" ); $data = $notRunning; @@ -51,10 +57,16 @@ class Application_Model_Systemstatus $data = $notRunning; } } + + $process_id = $item->getElementsByTagName("name"); + if ($process_id->length > 0){ + $data["name"] = $process_id->item(0)->nodeValue; + } $process_id = $item->getElementsByTagName("pid"); if ($process_id->length > 0){ $data["process_id"] = $process_id->item(0)->nodeValue; + $data["status"] = true; } $uptime = $item->getElementsByTagName("uptime"); diff --git a/airtime_mvc/application/views/scripts/systemstatus/index.phtml b/airtime_mvc/application/views/scripts/systemstatus/index.phtml index d369c60d9..7aa567549 100644 --- a/airtime_mvc/application/views/scripts/systemstatus/index.phtml +++ b/airtime_mvc/application/views/scripts/systemstatus/index.phtml @@ -12,40 +12,30 @@ --> - - - - + + + + + + + status as $key=>$value): ?> + " id=""> + + + + + diff --git a/airtime_mvc/public/js/airtime/status/status.js b/airtime_mvc/public/js/airtime/status/status.js new file mode 100644 index 000000000..f8c4a871e --- /dev/null +++ b/airtime_mvc/public/js/airtime/status/status.js @@ -0,0 +1,20 @@ +function success(data, textStatus, jqXHR){ + var services = data.status.services; + + for (var i=0; i
Airtime Status
ServiceStatusUptime
"> 
Disk Space