GAHmon

A GKrellM plugin for monitoring the genome@home client.

The latest stable version is 0.2.2. [Jan 19, 2002]

This plugin provides a visual indication of the genome@home client (classic 0.99) operating status and display's the clients work progress within the GKrellM monitor bar. This plugin displays the contents of a single logfile that is generated by a set of bash scripts, executed by cron each minute. Multiple systems may be monitored by a single GKrellM bar, using NFS mounts and multiple GAHmon panels.

Features | Requirements | Download | Changelog | Links | Installation | Scripts | Tips | Copyright

Features

  • Client running mode display.
  • Amino acid information for the current work unit.
  • Amino acid information for a cahed work unit.
  • Score tally of completed work, reporting number of genes and approximate credit score.
  • Record of previous "nonet" dump cache, reporting number of genes and credit score.
  • Sequence progress indication bar and current sequence number.
  • Percentage of current sequence completed progress bar.
  • Overall work unit progress needle indicator.
  • Supplimental bash scripts for control of background task clients.
  • Control scripts may be executed across local area networks using rexec, ssh etc.
  • Configurable sound trigger for start of each sequence.
  • Configurable sound trigger for start of new protein.
  • Configurable sound trigger to alert of a crashed client/restarted client.

Requirements

  • Genome@Home 0.99 (Classic) - The merged V3 G@H/F@G client is not yet supported
  • GKrellM 1.2.6 or later
  • gtk 1.2
  • glib 1.2
  • gtk-imlib1

Download


Changelog

  • 0.2.2 Sat Jan 19, 2002 [stable]
    • Fixed "grep" bug in genome-log script
    • Fixed plugin seg fault crash caused when the logfile was empty, unavailable or did not exist

  • 0.2.1 Sat Dec 8, 2001 [beta]
    • Fixed bug with LED pixmap decoding
    • Improved LED 3D rendering

  • 0.2 Sat Dec 8, 2001 [alpha]
    • Modified included wave audio files
    • Added Green LED / New Sequence sound
    • Modified audio command trigger labels (logfile third feild)
    • Improved genome-log script file
    • Settings tab now auto-sizes config listing feilds
    • Updated installation documentation

  • 0.1 Thur Dec 6, 2001 [test]
    • Initial release.

Links to Related Pages


Installation

The following installation is performed as a normal user (not root or su) and must be performed while logged in as the user that installed the genome@home client.

Copy the tarball package to your home directory and unpack the tarball:-

    tar -zxvf gahmon-0.2.2.tgz


This will create the directory:-

    $HOME/gahmon-0.2.2


The installation process requires that you manually copy files from here to specified directories in your Linux system.

G@H Logging Script Installation

  1. Rename your client directory to "gah", and ensure it is in your home directory, ie.
        $HOME/gah

  2. Create a 2nd client installtion, in a directory named "feeder" that is located off your main client path, ie.
        $HOME/gah/feeder

    Ensure that you:-

    • Set your user name (ghclient.cfg)
    • Set your team number (ghclient.cfg)
    • Manually run the client until it has loaded a work unit, then ctl-c to stop

  3. Create a directory named "logs" in your genome client directory, ie.
        $HOME/gah/logs

  4. Install the logging & client control scripts into a directory within your HOME path, preferably $HOME/bin

    • genome-log
    • genome-count
    • genome-list
    • genome-status
    • genome-run
    • genome-net
    • genome-nonet
    • genome-stop
    • genome-send
    • genome-cache (requires the special script replacement for filter.x, in the client directory)
    • genome-fish
    • genome-clear
    • genome-ps

  5. If your client installation is not in your home directory, and you wish to use these scripts without moving the client path, then Modify each of the scripts, ensuring that the Client path is correctly configured, ie.
        # Edit the next line to suit your g@h client installation
            GENOME_PATH=$HOME/gah

    In this example, the client is installed in the directory "gah" in my home path (default installation).

  6. Add the following command line to your cron task list, open a terminal window and enter:
        crontab -e

  7. Now add the following crontab entry:-
        */1 * * * * $HOME/bin/genome-log
            (Assuming the logging scripts are installed in $HOME/bin)

  8. If your installation is correct, you should now find the following logfile generated each minute:-
        $HOME/gah/logs/Criten.log
            (Assuming your system's name is Criten)

  9. Install the Gkrellm plugin as detailed in the next section.

GAHmon Plugin Installation Notes

  1. Copy the Gkrellm plugin binary gahmon.so to $HOME/.gkrellm/plugins
        $HOME/gah

  2. Copy the following wave audio files to a directory in your home path ie. $HOME/sounds

    • gahmon_newsequ.wav
    • gahmon_newgene.wav
    • gahmon_restart.wav

  3. Restart Gkrellm

  4. Open the configuration panel and select "Plugins"

  5. Locate GAHmon and select "enabled"

  6. Select the GAHmon plugin that should now appear in the Plugins on the left hand pane

  7. Enter a heading for the new GAHmon panel, ie. the name of your machine. ie.
        Heading: Genome - Criten

  8. Enter the filename and path of the logfile to monitor, this will be: name_of_your_machine.log and will be located in your g@h installation directory ie.
        Log File: /home/wayne/gah/Criten.log

    You can find your systems name by entering "hostname -s" on the command line. Your system name is set in:-
        /etc/sysconfig/network

  9. Optionally, enter the play commands for the New Gene and Restart sounds. You must include the command required to play the sound, the sound file including full path and finally the character "&" ie.
        New Sequ Sound: play /home/wayne/sounds/gahmon_newsequ.wav &
            New Gene Sound: play /home/wayne/sounds/gahmon_newgene.wav &
            Restart Sound: play /home/wayne/sounds/gahmon_restart.wav &

Script Description

User Scripts

The following scripts are user scripts, and may be executed on the command line, or via desktop shortcuts. When executed from desktop shortcuts, ensure that the option "open in terminal" is selected. The 4 client control scripts (net, nonet, stop and clear) may be run at anytime, without the need to run genome-stop first.

  • genome-count - Cached work report generation, lists number and size of completed work and lists total score.
  • genome-list - Cached work report generation, lists all completed work, with many useless stats :)
  • genome-ps - Runs a "ps" process status listing, displaying any running clients.
  • genome-net - Client control script. Runs the client with network access as an invisible background task.
  • genome-nonet - Client control script. Runs the client "-nonet" as an invisible background task.
  • genome-stop - Client control script. Stop the client.
  • genome-clear - Client control script. Runs the client "-clear" and then stops.
  • genome-send - Copies all completed work into the directory "feeder" and starts a 2nd client with the "-upload" command line switch.
  • genome-cache - Start a 2nd client in the "feeder" directory, that downloads a 2nd cached work unit, and moves the cached unit into the working client directory. Requires the special script replacement for filter.x, in the client directory.
  • genome-fish - Repeatedly executes genome-cache until a 2nd work unit of pre-configured size is downloaded. Edit this script to specify the minimum & maximum size (Amino Acids) of the work unit required.

Sub-Routine Scripts

The following scripts are sub-routine scripts, executed by cron or the user scripts. These scripts should never be executed by the user.

  • genome-log - Reads scrlog.gah, genome.mode, genome.score and genome.score.lastdump and generates the display logfile used by the Gkrellm plugin GAHmon. This script is executed once per minute by cron. The logfile display format may be modified to remove of re-arange the report information, simply edit this script, the output commands are clearly flagged. Remove unwanted output by placing a "#" character before the "echo" command that is not required.
  • genome-status - Handles setting the client operating mode, as stored in genome.mode. Also executes the genome-count script to update the logfile genome.score
  • genome-run - Client run script, used by other scripts to run the client as a background task.

Tips and Hints

To monitor multiple systems using a single machine/gkrellm:-

  • Export your "logs" directory and mount it on each machine to be monitored (using nfs).
  • Define additional GAHmon panels in Gkrellm, one for each system to be monitored.
  • Install the logging scipts and setup cron tasks on each machine.
  • Enjoy.

CopyRight Information

GAHmon
Genome@Home plugin for GKrellM
Copyright (c) 2001, 2002 by Wayne Osborn
aka dnar of The Genome Collective
Released under the LMAO Public License

GAHmon is free software. This means that it's yours to try, for free non-commercial use, forever.
If you enjoy the product, please send in a donation to help support further development and web-server costs.