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:
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.
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.
|