Task #41
Addition of User and Host monitoring Graphical Interface
| Status: | Closed | Start date: | 2009-08-03 | |
|---|---|---|---|---|
| Priority: | High | Due date: | ||
| Assignee: | Srinivasan Natarajan | % Done: | 100% |
|
| Category: | - | Spent time: | 38.90 hours | |
| Target version: | - |
Description
As stated in Development Roadmap.
History
Updated by Srinivasan Natarajan over 2 years ago
- % Done changed from 0 to 10
The graphical user interface is designed for user information(gwuser) three GtkTreeview's are required for displaying
- User Details
- Execution Manager Drivers
- Transfer Manager Drivers
gwgui@gridway:~$ gwuser
UID NAME JOBS RUN IDLE IDENTITY
0 gwgui 1 0 0
EM MADs: ws (PID=22484), prews_nsh (PID=22512)
TM MADs: gridftp (PID=22531), dummy (PID=22550)
Updated by Srinivasan Natarajan over 2 years ago
- % Done changed from 10 to 20
The graphical user interface is designed for Job history information(gwhistory) using two GtkTreeview's for
- Job State Information
- Job History Details
Updated by Srinivasan Natarajan over 2 years ago
- % Done changed from 20 to 30
The user information view is implemented using GtKTreeView
- The state attributes for user information view are
("USER_ID","USERNAME","ACTIVE_JOBS","RUNNING_JOBS","IDLE","IDENTITY")
- The state attributes for Driver view are
("MAD_ID","NAME","PID")
The output of grid command(gwuser) will be returned back in xml format which needs to be parsed to get the proper data.This part has been implemented using libxml parser
<?xml version="1.0" encoding="iso-8859-1"?>
<gridway xmlns="http://gridway.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://gridway.org gridway.xsd">
<gwuser>
<USER USER_ID="0">
<USERNAME>gwgui</USERNAME>
<ACTIVE_JOBS>2</ACTIVE_JOBS>
<RUNNING_JOBS>1</RUNNING_JOBS>
<IDLE>0</IDLE>
<IDENTITY></IDENTITY>
<EM_MAD MAD_ID="0">
<NAME>ws</NAME>
<PID>22484</PID>
</EM_MAD>
<EM_MAD MAD_ID="1">
<NAME>prews_nsh</NAME>
<PID>22512</PID>
</EM_MAD>
<TM_MAD MAD_ID="0">
<NAME>gridftp</NAME>
<PID>22531</PID>
</TM_MAD>
<TM_MAD MAD_ID="1">
<NAME>dummy</NAME>
<PID>22550</PID>
</TM_MAD>
</USER>
</gwuser>
</gridway>
Updated by Srinivasan Natarajan over 2 years ago
The job history state information view needs to render a radio button for the user to select a particular job id.This part has been implemented using cell renderer radio toggle. The toggled callback is handled to deselect the previous selected option and handle the new selection.
Updated by Srinivasan Natarajan over 2 years ago
- % Done changed from 30 to 40
The job history view is implemented using GtKTreeView
- The state attributes for job history view are
"HID","START_TIME","EXIT_TIME","PROLOG","WRAPPER","EPILOG","MIGRATION","REASON","QUEUE","HOST"
The output of grid command(gwhistory) will be returned back in xml format which needs to be parsed to get the proper data.This part has been implemented using libxml parser
<?xml version="1.0" encoding="iso-8859-1"?>
<gridway xmlns="http://gridway.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://gridway.org gridway.xsd">
<gwhistory JOB_ID="3">
<HISTORY HISTORY_ID="0">
<HID>1</HID>
<START_TIME>19:37:37</START_TIME>
<EXIT_TIME>19:37:37</EXIT_TIME>
<PROLOG>0:00:00</PROLOG>
<WRAPPER>0:00:00</WRAPPER>
<EPILOG>0:00:00</EPILOG>
<MIGRATION>0:00:00</MIGRATION>
<REASON>err </REASON>
<QUEUE>all.q</QUEUE>
<HOST>aquila.dacya.ucm.es/SGE</HOST>
</HISTORY>
<HISTORY HISTORY_ID="1">
<HID>0</HID>
<START_TIME>19:37:32</START_TIME>
<EXIT_TIME>19:37:32</EXIT_TIME>
<PROLOG>0:00:00</PROLOG>
<WRAPPER>0:00:00</WRAPPER>
<EPILOG>0:00:00</EPILOG>
<MIGRATION>0:00:00</MIGRATION>
<REASON>err </REASON>
<QUEUE>default</QUEUE>
<HOST>hydrus.dacya.ucm.es/PBS</HOST>
</HISTORY>
<HISTORY HISTORY_ID="2">
<HID>1</HID>
<START_TIME>18:37:32</START_TIME>
<EXIT_TIME>18:37:32</EXIT_TIME>
<PROLOG>0:00:00</PROLOG>
<WRAPPER>0:00:00</WRAPPER>
<EPILOG>0:00:00</EPILOG>
<MIGRATION>0:00:00</MIGRATION>
<REASON>err </REASON>
<QUEUE>all.q</QUEUE>
<HOST>aquila.dacya.ucm.es/SGE</HOST>
</HISTORY>
<HISTORY HISTORY_ID="3">
<HID>0</HID>
<START_TIME>18:37:27</START_TIME>
<EXIT_TIME>18:37:27</EXIT_TIME>
<PROLOG>0:00:00</PROLOG>
<WRAPPER>0:00:00</WRAPPER>
<EPILOG>0:00:00</EPILOG>
<MIGRATION>0:00:00</MIGRATION>
<REASON>err </REASON>
<QUEUE>default</QUEUE>
<HOST>hydrus.dacya.ucm.es/PBS</HOST>
</HISTORY>
</gwhistory>
</gridway>
Updated by Srinivasan Natarajan over 2 years ago
- % Done changed from 40 to 50
The graphical user interface is designed for host matching requirements of the job (gwhost -m) using two GtkTreeview's for displaying
- Job Information
- Hosts matching the requirements of a given job
Updated by Srinivasan Natarajan over 2 years ago
- % Done changed from 50 to 60
The hosts matching requirement of a job is implemented using GtKTreeView
- The state attributes for the view are
("HID",QNAME","RANK","PRIO","SLOTS","HOSTNAME")
The output format below is parsed to load the matching requirement information in to memory.
<gwhost JOB_ID="3">
<HOST HOST_ID="0">
<HOSTNAME>hydrus.dacya.ucm.es</HOSTNAME>
<FIXED_PRIORITY>1</FIXED_PRIORITY>
<QUEUE QUEUE_ID="0">
<QUEUE_NAME>default</QUEUE_NAME>
<RANK>1995</RANK>
<SLOTS>3</SLOTS>
</QUEUE>
<QUEUE QUEUE_ID="1">
<QUEUE_NAME>qlong</QUEUE_NAME>
<RANK>1995</RANK>
<SLOTS>3</SLOTS>
</QUEUE>
<QUEUE QUEUE_ID="2">
<QUEUE_NAME>verylong</QUEUE_NAME>
<RANK>1995</RANK>
<SLOTS>3</SLOTS>
</QUEUE>
<QUEUE QUEUE_ID="3">
<QUEUE_NAME>qsmall</QUEUE_NAME>
<RANK>1995</RANK>
<SLOTS>3</SLOTS>
</QUEUE>
</HOST>
</gwhost>
</gridway>
Updated by Srinivasan Natarajan over 2 years ago
- % Done changed from 60 to 70
- The gui for displaying all the host is implemented using GTKTreeview(all host view).
- The user can select the host and get the queue information in host queue view.
The State attributes for the all host view has
HOSTNAME
FIXED_PRIORITY
OS_NAME
OS_VERSION
ARCH
CPU_MHZ
CPU_FREE
FREE_MEM_MB
SIZE_MEM_MB
FREE_DISK_MB
SIZE_DISK_MB
RUNNING_JOBS
USED_SLOTS
FREENODECOUNT
NODECOUNT
LRMS_NAME
LRMS_TYPE
The state attributes for the host queue infomation has
QUEUE_NAME
QUEUE_FREENODECOUNT
QUEUE_NODECOUNT
QUEUE_MAXTIME
QUEUE_MAXCPUTIME
QUEUE_MAXCOUNT
QUEUE_MAXRUNNINGJOBS
QUEUE_MAXJOBSINQUEUE
QUEUE_STATUS
QUEUE_DISPATCHTYPE
QUEUE_PRIORITY
Updated by Srinivasan Natarajan over 2 years ago
- % Done changed from 70 to 80
The output of grid command (gwhost) will be returned back in xml format which needs to be parsed to get the proper data.
The data from the remote grid system will have host information and queue information of all hosts.
The parsing must be done such that parser extracts only the host details and it will be loaded to the memory for all job state view.
This part has been implemented using libxml parser.
Below is the snapshot from the gwhost -x command
<?xml version="1.0" encoding="iso-8859-1"?>
<gridway xmlns="http://gridway.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://gridway.org gridway.xsd">
<gwhost>
<HOST HOST_ID="0">
<HOSTNAME>hydrus.dacya.ucm.es</HOSTNAME>
<FIXED_PRIORITY>1</FIXED_PRIORITY>
<OS_NAME>Linux</OS_NAME>
<OS_VERSION>2.6.24-17-server</OS_VERSION>
<ARCH>x86_64</ARCH>
<CPU_MHZ>1995</CPU_MHZ>
<CPU_FREE>100</CPU_FREE>
<FREE_MEM_MB>1425</FREE_MEM_MB>
<SIZE_MEM_MB>2014</SIZE_MEM_MB>
<FREE_DISK_MB>5509</FREE_DISK_MB>
<SIZE_DISK_MB>16362</SIZE_DISK_MB>
<RUNNING_JOBS>0</RUNNING_JOBS>
<USED_SLOTS>0</USED_SLOTS>
<FREENODECOUNT>3</FREENODECOUNT>
<NODECOUNT>4</NODECOUNT>
<LRMS_NAME>PBS</LRMS_NAME>
<LRMS_TYPE>pbs</LRMS_TYPE>
<QUEUE QUEUE_ID="0">
<QUEUE_NAME>default</QUEUE_NAME>
<QUEUE_FREENODECOUNT>3</QUEUE_FREENODECOUNT>
<QUEUE_NODECOUNT>4</QUEUE_NODECOUNT>
<QUEUE_MAXTIME>0</QUEUE_MAXTIME>
<QUEUE_MAXCPUTIME>-1</QUEUE_MAXCPUTIME>
<QUEUE_MAXCOUNT>0</QUEUE_MAXCOUNT>
<QUEUE_MAXRUNNINGJOBS>4</QUEUE_MAXRUNNINGJOBS>
<QUEUE_MAXJOBSINQUEUE>0</QUEUE_MAXJOBSINQUEUE>
<QUEUE_STATUS>enabled</QUEUE_STATUS>
<QUEUE_DISPATCHTYPE>NULL</QUEUE_DISPATCHTYPE>
<QUEUE_PRIORITY>0</QUEUE_PRIORITY>
</QUEUE>
....
....
...
...
</HOST>
</gwhost>
</gridway>
Updated by Srinivasan Natarajan over 2 years ago
- The output of grid command (gwhost) will be returned back in xml format which needs to be parsed to get the proper data.The data from the remote grid system will have host information and queue information of all hosts. The xml parsing for getting host information is already done
- The parsing must be done such that parser extracts only queue details of a particular host and load it to the memory for GtkTreeview.
This part has been implemented using libxml parser. - Refer the above snapshot from the gwhost -x command
Updated by Srinivasan Natarajan over 2 years ago
- % Done changed from 80 to 90
The output of gwacct will be returned from the remote grid system in xml format. The xml format will be different based on the
accounting statistics for the user/host.Changes are made to ensure proper parsing is done for the base tags(gwacct,USER,HOST) The secondary tags(TRANSFER,...) are common for both statistics.
Host Accounting snapshot:¶
<?xml version="1.0" encoding="iso-8859-1"?>
<gridway xmlns="http://gridway.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://gridway.org gridway.xsd">
<gwacct HOSTNAME="gridce2.pi.infn.it">
<USER USERNAME="gwgui">
<TRANSFER>00:00:00</TRANSFER>
<EXECUTION>00:00:00</EXECUTION>
<SUSPENSION>00:00:00</SUSPENSION>
<TOTS>2</TOTS>
<SUCC>0</SUCC>
<ERR>2</ERR>
<KILL>0</KILL>
<USER>0</USER>
<SUSP>0</SUSP>
<DISC>0</DISC>
<SELF>0</SELF>
<PERF>0</PERF>
<S-R>0</S-R>
</USER>
</gwacct>
</gridway>
User Accounting snapshot:¶
<?xml version="1.0" encoding="iso-8859-1"?>
<gridway xmlns="http://gridway.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://gridway.org gridway.xsd">
<gwacct USERNAME="gwgui">
<HOST HOSTNAME="agh2.atlas.unimelb.edu.a">
<TRANSFER>00:00:00</TRANSFER>
<EXECUTION>00:00:00</EXECUTION>
<SUSPENSION>00:00:00</SUSPENSION>
<TOTS>12</TOTS>
<SUCC>0</SUCC>
<ERR>12</ERR>
<KILL>0</KILL>
<USER>0</USER>
<SUSP>0</SUSP>
<DISC>0</DISC>
<SELF>0</SELF>
<PERF>0</PERF>
<S-R>0</S-R>
</HOST>
</gwacct>
</gridway>
Updated by Srinivasan Natarajan over 2 years ago
The Xml contents in the memory needs to be converted in to a model for GtKTreeview.
This needs to be done for
- Three user details view(gwuser)
- Two accounting views(gwacct)
- Four host information views(gwhost)
- Two history views(gwhistory)
Updated by Srinivasan Natarajan over 2 years ago
- % Done changed from 90 to 100
Graphical user interface is designed for accounting information (gwacct) using two GtkTreeview's for displaying
- Host Information
- Statistics results.
The user can filter the results using date filter and can use user id/ hostname for the statistics
Updated by José Luis Vázquez Poletti over 2 years ago
- Status changed from Assigned to Closed