SETIView/2 Version 0.7.3
SETIView/2 is a SETI@home process monitor for OS/2.
Contents
Description
SETIView/2 is a SETI@Home process monitor for OS/2.
I created this because on my home network I have three machines running SETI@Home.
One of them uses a SVCache to manage SETI@Home work units.
This normally has four work units but can have ten, so there are quite a few different directories to look at to see the status of each SETI@Home process.
The existing OS/2 monitors (Ellie and SysBar/2), can only do one process at a time.
Under Windows, I use SETIWatch.
This displays details of as many processes as you want.
It also displays details of work units logged with SETILog (from the same author).
So, out of a desire to see what was happening with my SETI@Home processes and wanting to practice my C++ skills, SETIView/2 was born.
Hopefully, someone other than me will find it useful.
The features of SETIView/2 include:
- Monitor multiple SETI@Home processes
- Local and networked processes
- Different view: Icon, Details, Compact and Custom
- Any column can be put in custom view.
- Auto refresh
- Display user and process details
- Drag-and-drop colours and fonts
- All settings remembered
- Icons indicating process status
- Selected process details displayed in title bar
- Compact and details views store sizes seperately
- Process and user details views store window sizes
- Display SVCache details.
Installation
There's no special installation routine. Just put the executable wherever you
want and run it. An INI file will be created in the current directory.
You should have the following files:
- Readme.TXT - The readme file.
- SETIView.html - Information for SETIView/2.
- SETIVIEW.EXE - The executable.
- SVSetCustom.cmd - Sets the columns for the Custom View.
Usage
In general, you just:
- Start SETIView/2
- Add the processes you want by right-clicking in the window and selecting the "Add" option.
- Size the window.
SETIView/2 will create a INI file called "SETIVIEW.INI" in the directory that it is run.
Alternatively, the name of an INI file can be supplied as a parameter when starting SETIView/2.
The details of the menu and dialog options are below.
The options on the main menu are:
- Add
- Add a new process. Opens the file selection dialog to select the directory containing
the SAH files.
- Details
- Display details of the select process
- User
- Display user details of the select process
- Remove
- Remove the select process
- Default Process
- Sets the selected process as the one to be selected when SETIView/2 starts. It will be checked if the selected
process is the default process
- View
- Open the View Menu
- Settings
- Open the Settings Dialog
- About
- The usual details
- Exit
- Exit SETIView/2
The View menu is used to change the basic style of the SETIView/2 window.
The options are:
- Icon
- Display processes as an icon view. This shows the icon and the process directory name.
- Details
- Display full details of the process.
- Compact
- Display minimal details of the process.
- Custom
- Show the details view with custom column list. The columns are customised with SVSetCustom.cmd.
- Titles
- Toggle display of column titles.
- Window List
- Toggle whether SETIView/2 will be shown in the window list. If it isn't it will also be excluded from other task list such as XCenter (from XWorkplace).
- Arrange
- Arrange icons in the Icon view.
- Sort
- Open the Sort submenu
- Refresh
- Refresh details now.
The Sort menu us used to change the sort sequence of the SETI@Home process listed.
The options are:
- Directory
- SETI Directory
- Progress
- Current progress in descending order
- CPU Used
- CPU Used in descending order
- Remaining CPU
- Remaining CPU in ascending order
- Expected CPU
- Expected CPU in ascending order
- Hourly Rate
- Current hourly rate in descending order
- User Name
- User name
The Settings Dialog has the following options:
- Refresh Rate
- This is the number of seconds between refreshes.
Setting to zero will stop automatic refreshing.
- Column Width Fudge
- This is the number fo pixels to add to each column.
This will help to prevent data being truncated with some font and resolution combinations.
Any integer between -99 and 999 can be used.
- Cache Details
- Check this if you are using SVCache.
The host name and operating system processing the work unit will be displayed.
- Single thread for refresh
- When the view is refreshed, SETIView/2 normally starts a thread for each directory being monitored.
Checking this will restrict SETIView/2 to only using one thread when a refresh is done.
The result will be that a refresh takes a little longer, but less CPU will be used while it is done.
The following table defines the the columns that are displayed.
Column Title
| Description
| Comments
|
SETI Directory | The directory being monitored |
|
State | Icon indicating the state work unit |
|
Progress | Percentage completed for the work unit |
|
Rate | Average percent per hour for this work unit |
|
CPU Used | Amount of CPU time so far used to process the work unit |
|
CPU Left | Estimated amount of CPU time needed to complete the work unit |
|
Current Rate | Processing rate during the last refresh period | When SETIView/2 is first started, this and the other current values will be the same as the equivalent full values.
|
Current CPU | Amount of CPU used during the last refresh period |
|
Current Left | Estimated amount of CPU time needed to complete the work unit based on the Current Rate |
|
Expected | Estimated total amount of CPU time needed for this work unit |
|
Last Write | Date and time the STATE.SAH or RESULT.SAH files where last written to |
|
User | SETI@Home user name running the process. |
|
Work Unit Name | Name of SETI@Home work unit |
|
Host | hostname for machine running the process | Read from SVCache.HOST
|
OS | Operating system running the process | Read from SVCache.HOST
|
All columns are displayed in the details view.
The compact view only displays:
- SETI Directory
- Progress
- Rate
- CPU Used
- CPU Left
- Host
"Host" and "OS" are only displayed if Cache Details is checked on the Settings Dialog.
They show details for directories that are being managed by SVCache.
The User and Process details views display information about the SETI@Home process.
This is the information that is displayed in the main window, plus other details the SAH files.
They are each sizable, and the size is stored.
Most of the information displayed comes from the SAH files.
This information is displayed exactly as it is stored in the files.
The "Register Time" and "Last Work Unit Time" are examples of this.
The Custom view is a details view of the processes that only displays selected columns.
Any column can be displayed, but, the order of them can't be changed.
Currently, the columns are selected via a REXX program called SVSetCustom.cmd.
There are instructions in the program, but, this is what you do:
- Edit SVSetCustom.CMD with your favorite text editor. The OS/2 System Editor or Enhanced Editor can be used.
- Find the line: /******** Start of columns */. From there, until the line /******** End of columns */ are the list of columns.
- Decide which columns you want to display.
- Find the line: /******** Put the desired colunms here. ********/.
Remove lines for columns that you don't want to display.
- Now, copy the lines for the columns you want to display her.
Do not change the lines in any way..
- Save the changes you have made.
- Stop SETIView/2.
Run SVSetCustom.cmd with the name of the INI file you use. If you don't specify the INI file, SETIVIEW.INI in the current directory will be used.
- Start SETView/2 and select the custom view.
Note: This is only temporary.
I intend to add a way to customise the columns within, SETIView/2, but, that might take some time.
Some suggestions to make SETIView/2 work better:
- OS/2s file dialog doesn't display networked computers unless they have been assigned a "NET USE" has been done for the share.
But, you can enter the UNC name for a share on the networked computer.
You will then be able to navigate to a directory to add it as a SETI@Home process.
- The "Current Rate" and "Current CPU" can be used to monitor if a process is being run. If they are zero, the process is not going.
And it could mean the computer has died.
- I run SETIView/2 on a laptop.
I have use two INI files.
One monitors only the processes on my laptop (two under SVCache and one for Win2000).
The other is for checking the all the machines on my home network.
I only use this when I have the laptop plugged into my home network.
Future Enhancements
In no particular order:
- Real documentation
- Hide the title bar
- Better icons - any ideas? -
Better details dialogs
- Details of logged work units
- Release the code as well (after cleaning it up)
- Enable accelerator keys
- More error handling
- Enable refresh for each process (Armin Schaefer)
- Auto disable refresh on missing network processes (Armin Schaefer)
- Configure columns displayed in details view (Torsten)
- Draw a bar graph behind the directoy name.
- Minimal view with directory name and graph.
If there's something you want, tell me.
Unfortunately, there are some problems that I haven't been able to fix yet:
- About dialog doesn't display correctly on different resolutions.
Problem reported for 1024*768. I'm developing using 800*600, so I wasn't
surprised.
Version History
- 0.1Alpha - 21/02/2001 - Initial release
- 0.2Alpha - 28/02/2001
- Fixed problem with initialising the settings.
- Wasn't reading user details or result header file from networked Windows machines.
These have DOS mangled names ("USER_I~1.SAH" and "RESULT~1.SAH" respectively) and I had hadn't
opened them correctly.
- Found a situation when there was a state.sah and
a result.sah. I wasn't expection this to happen.
- Removed some test code
that was checking for the directories existence mutliple times. Should
speed up return from checking from checking for networked directories that
no longer exist
- Setting dialog for refresh rate.
- Changed way the refresh
timer works. It is stopped when the refresh is started, and then restarted
afterwards.
- Changed "Product Information" to "About" on the menu.
- Runtime build in seperate zip file - SETIVIEW2R.ZIP
- 0.3Alpha - 11/03/2001
- Separate thread for refreshing each process. This
stops WPS being blocked when refreshes are done.
- Added remaining CPU column.
- Sorting by directory, progress, CPU (Used, remaining, expected),
hourly rate, and user.
- Only runtime version produced.
- 0.4Alpha - 14/03/2001
- Runtime build has actually been tested this time!
- Rebuilt details dialog to be a list instead of seperate fields.
- Added a few more details from the various files into the details dialog.
- 0.5Alpha - 08/04/2001
- Doesn't produce a SYS3170 error if left open when OS/2 is shutdown.
- User Details uses dialog similar to Process details.
- Rebuilt way that window size and position is stored. This should solve problem of window not being restored properly. - Storing Details and Compact view
window size and position seperately.
- Storing size and position of User and Process windows.
- 0.6 - 13/04/2001
- Fixed problem with toggling the titles.
- Columns are now sized depending on the font and the longest text
in them.
- Now available from my new OS2World website
- 0.6.5 - 19/07/2001
- Wasn't resetting CPU and progress for finished processes
that have been returned.
- Added ini file as parameter. Defaults to SETIVIEW.INI in current directory.
- Added "default process" option to menu
- Added toggling whether SETIView will appear in the window list
- Split bar not displayed at startup if using compact view.
- Settings dialog didn't save the refresh rate.
- Fixed justification of fields.
- 0.7.0 - 28/09/2001
- Major rewrite of container handling
- Makes it easier to add new columns
- New way for columns to be displayed/hidden
- Changed order the SAH files were being read. Should solve update problems when work
unit is completed and returned. Also, now all data is displayed for completed
work units.
- Added "Column Width Fudge" to settings.
- When resizing columns, will ignore column heading widths if the headings are not shown.
- Column heading display stored for brief and details views
- Added Cache Details
- Displays details of what machine and OS is processing a directory.
- Works with SVCache.
- Option on Settings dialog.
- Added Single Thread Update:
- Allows either a single thread refreshing all SETI process details, or one thread per process (previous method).
- Option on Settings dialog.
- 0.7.1 - 02/11/2001
- Added "Current Rate" and "Current CPU" columns.
- Added "Last Write" columns.
- Added cache details to details dialog.
- Documentation moved from README.TXT to this HTML file.
- 0.7.2 - 10/11/2001
- Added "Custom" view. Columns used read from INI file.
- Currently configured via SVSetCustom.cmd. The instructions are in the program.
- Storing window size and position for Custom and Icon view.
- Fixed icon view. Was displaying as a details view.
- Fixed window list menu item. Wasn't removing SETIView/2 from window list.
- More details in the User details window: total CPU in hours and days, average hours per work unit and number of work units per day as well as most of the items in the user_info.sah file.
- 0.7.3 - 01/03/2002
- Bug: Increased size for hourly rate string.
- Bug: Could get circumstance where current CPU was negative. Now will show zero.
- Bug: Wasn't rereading user_info.sah. This meant values weren't being updated in user view when a new work unit was retrieved.
- New: Added column "Current Left".
If you find any bugs, please tell me at the contact address below. Tell me:
- version of SETIView/2
- OS/2 Version and fixpack level
- if there are strange results being displayed, zip up the SAH files for
the SETI@Home process, and send them along.
- anything else you think is important
Here are some links that you might find useful:
Copyright (c) 2001 David Forrester. All rights reserved.
This software is provided as is. No warranty is given by the author,
expressed or implied. Use this software at your own risk. The author
assumes no responsibility for any damage from the use of this software.
This software is freeware which means that it is free for use and distribution.
Contacts
If you find any bugs, have any suggestions or simply want to say how wonderful
or terrible SETIView/2 is, drop me an e-mail