## Qmon Overview

qmon is the GUI client of Grid Engine. It allows the administration and use of the Grid Engine system via a GUI. Its functionality is outlined in detail in the qmon man page and with screenshots and usage examples in the Grid engine documentation.

It has been built with the help of several 3rdparty X11/Motif based widget libraries.
The libraries can be found under the 3rdparty/qmon directory. For more detailed documentation for the
libraries I refer you to the following links:

XMT - Motif Tools (<source>/3rdparty/qmon/Xmt310) | http://www.motiftools.org
Xbae - Table Widget (<source>/3rdparty/qmon/Xbae) | http://www.lesstif.org/Xbae
ListTree - Tree Widget (<source>/3rdparty/qmon/ltree) | http://www.akvo.com/robm/software/unsupported
Spinbox - Widget (<source>/3rdparty/qmon/spinbox) | http://ftp.x.org/contrib/widgets/motif/spinbox/spinbox.html
IconList - Widget (<source>/3rdparty/qmon/iconlist) | Link no longer available
Tab - Folder Widget (<source>/3rdparty/qmon/tab) | http://ftp.x.org/contrib/widgets/motif/Tab

The most important of the libraries is the Xmt library build on top of the Motif library providing a rich set of generally useful widgets and a
wealth of convenience and utility routines. The main concept of the Xmt library is to 'mockup' GUIs from resource files. The general mechanism of X11/Motif to define layout settings and look and feel in resource files has been enhanced and simplified in Xmt.
The other widget libs have been connected to Xmt to allow a unified process for building the qmon GUI.

qmon behaves like any other Grid engine client application (General Client Implementation). As an event driven client requests are triggered by a socalled callback
function or a timer that requests information from the master periodically.

Here is a listing of the files in the <source>/clients/qmon directory and its related dialogues or functionality respectively.

Dialogue | Files/Functionality
Main Dialogue showing the menu bar and a toolbar to popup the task dialogues | qmon_main.c process commandline switches, execute general setup, enroll to Grid Engine master, enter XEvent main loop and wait for XEvents qmon_main.ad global or main dialogue specific resource settings, the application default files are processed into a string array and fed to qmon's resource database during the startup phase. Dialogue layouts are also mainly constructed with the help of application default files, so slight changes to dialogue layouts are very easy to achieve. qmon_appres.c handle application defined resources qmon_menus.c create the menu and toolbar main dialogue window and register callback functions qmon_init.c initialize the Xmt library, register additional widgets like Xbae table, Tab widget etc. Q this resource file contains two parts; the first part is shipped as the application default file that can be tuned by the user and resides in the user's home directory. The second part includes all *.ad files. The Q file is processed by a special script develToCVS that produces two stringtables for the fallback resources and the dialog descriptions.
Job Control Dialogue | qmon_job.c creation of the job control dialogue, definition of job control specific task functions and callbacks qmon_job.ad layout definition of the dialogue and related subdialogues qmon_jobcustom.c creation of job customize dialogue and its specific functionality qmon_jobcustom.ad layout definition of the dialogue
Queue Control Dialogue | qmon_queue.c creation of the queue control dialogue, definition of queue related functionality qmon_queue.ad layout of the queue control dialogue and related subdialogues qmon_qcustom.c functions to filter and customize the queues that shall be displayed qmon_qcustom.ad resource file for the dialogue layout qmon_qaction.c functions to add/modify queues and their configuration qmon_qaction.ad layout of the corresponding dialogue
Submit Dialogue | qmon_submit.c functions to prepare a job for submission to the Grid Engine master qmon_submit.ad layout for the submit dialogue and its subdialogues qmon_request.c functions to handle resource requests and corresponding dialogue routines qmon_request.ad resource file for the resource request subdialogue of the Submit Dialogue
Complex Configuration Dialogue | qmon_cplx.c functions for handling complexes configuration qmon_cplx.ad layout resource file for the complex configuration dialogue
Host Configuration Dialogue | qmon_host.c administration/submit/execution host related functionality qmon_host.ad layout for the dialogue and its subdialogues
Cluster Configuration Dialogue | qmon_cluster.c functionality concerning the Grid Engine cluster configuration qmon_cluster.ad layout of the dialogue and its subdialogues
Scheduler Configuration Dialogue | qmon_sconf.c scheduler behavior related functions qmon_sconf.ad layout of the dialogue
Calendar Configuration Dialogue | qmon_calendar.c functions to define calendar objects for Grid Engine qmon_calendar.ad layout of the dialogue
User Configuration Dialogue | qmon_manop.c functions to manipulate user related configurations qmon_manop.ad layout of the dialogue
Parallel Environment Configuration | qmon_pe.c functions for the parallel environment dialogue qmon_pe.ad layout of the dialogue
Checkpoint Configuration | qmon_ckpt.c checkpoint dialogue related functions and callbacks qmon_ckpt.ad layout of the dialogue
Ticket Configuration | qmon_ticket.c qmon_share.c qmon_fticket.c functions for changing and configuring the Grid Engine Enterprise Edition policy related objects like the sharetree, the number of overall tickets, the aging of usage qmon_ticket.ad qmon_fticket.ad qmon_share.ad layout descriptions for the corresponding dialogues
Project Configuration | qmon_project.c Grid Engine Enterprise Edition project object manipulation functionality qmon_project.ad layout of the dialogue
Browser | qmon_browser.c functions to browse and display the status of jobs, queues, messages qmon_browser.ad layout of the dialogue
Helper Dialogues/Functions | AskForItems.c, AskForItem.ad select items from a list of available items AskForTime.c, AskForTime.ad enter time or memory values fulfilling special format requirements qmon_matrix.c Xbae matrix related Xmt glue functions qmon_load.c list choosable load/resource values qmon_widgets.c external widget - Xmt glue and helper functions xmlocale.c locale test example tree_demo.c ListTree widget demo example qmon_preferences.c load a .qmon_preferences file for saving/loading qmon session settings qmon_message.c, qmon_message.ad dialogue for displaying warning and error messages qmon_about.c, qmon_about.ad show qmon version and copyright information
| qmon_comm.c Functions for sending changes and receiving the latest version of Grid Engine objects like queues, jobs etc. qmon keeps its own copy of the corresponding object lists and works on this copy. qmon_timer.c In order to keep in sync with the master keeping the current version of the Grid Engine objects qmon synchronizes on a regular basis. The timer is switched on if a dialogue is opened. If the dialogue is closed the timer is switched off to reduce network traffic.

Copyright 2001 Sun Microsystems, Inc. All rights reserved.