CMLOG WISH LIST PAGE #1.

This page contains the status of ideas for the previous major release (V2.0 was released in the fall of 1999).

STATUS OF IDEAS FOR CMLOG V2.0 Last Update: 11/28/2000.

Listed below are the ideas we had for possible inclusion in V2.0 and their status. Jie came to SLAC and did lots of useful work on these ideas in the summer of 1999. At this point, the release is undergoing final testing. I'm testing the version of V2.0 that Jie left here. Jie has a more current release which contains some of the features which this page says are not included. AGAIN, THIS PAGE LIES IN SOME CASES WHEN IT SAYS A FEATURE IS NOT AVAILABLE. This web page can be useful in creating the V2.0 release notes.

THIS IS A WORKING DOCUMENT... Contributions are from several people.
The ideas are listed in the order of: browser, client, server, make, and documentation. The order implies no preference for one idea over another. The heading for each item contains an abstract discription and tracking number to help us track the item later. The heading is followed by a description of the idea which is followed, in turn by the current status.

1.1 cmlog browser..... Display connection information

Provide a way for the browser to display the name of the host and port of the server to which it is connected.


Status of this item in V2.0


Connection information is now available by selecting the Options Pulldown menu Server Info. item. It displays the server name and port.
Status is: TESTED / FEATURE IS COMPLETE.

1.2 cmlog browser..... Add stop button

Provide a stop button on the query dialog box for stopping a query that is taking too long.


Status of this item in V2.0


There is now a dialog box presented when a query is in progress. It asks "Do you want to stop the query?" Clicking OK in this box stops the query.
Status is: TESTED / FEATURE IS COMPLETE.

1.3 cmlog browser..... Add print/save display cabability

Provide an easy user-friendly way to print out the browser display. It would be nice to be able to print it to a printer, or save it in a file. It would also be nice to be able to do an 'auto print' which would begin capturing on command and continue capturing until the user terminates the command. Then, the captured text could be printed to a printer or saved in a file.
 


Status of this item in V2.0


There is a dialog box on the File PullDown menu called "Save Screen".  It lets you save the current screen or some larger number of lines.  It saves the data to a file.  You  can then print or process that file any way you wish.  Auto Print was not implemented but it would not be that useful anyway.  
Status is: TESTED /  FEATURE IS COMPLETE
 

1.4 cmlog browser..... Log more info. when connection is made.

The server currently logs messages when it receives (and closes) connections to browsers. Those messages currently include the name of the host on which the browser is running.
Also log the username of the account making the connection.
Also log the node name of the DISPLAY on which the browser is being displayed. This would be useful for tracking down the user of the browser because he or she is probably sitting at the DISPLAY. Logging the DISPLAY information would probably require an extra message to be sent to the server (from the browser) saying "this is my DISPLAY".
 


Status of this item in V2.0


The messages have been enhanced which are put out when a connection is made from a browser.  The messages include he host where the browser is running and the port.  The DISPLAY of the browser was not included in the messages.
Status is: TESTED /  FEATURE IS COMPLETE WITH SOME FUNCTIONALITY LEFT FOR A FUTURE  RELEASE
 
 

1.5 cmlog browser..... Query buttons bump next field value.

In the browser query dialog box, when one advances the day field past the last day in the month, then the month field should automatically advance to the next month. Similar action should be taken for decrementing the field. This applies to all fields: Year, Month, Day, Hour, Minute, Second.


Status of this item in V2.0


Status is: TESTED /  FEATURE NOT COMPLETED, MIGHT BE INCLUDED  IN A FUTURE  RELEASE
 

1.6 cmlog browser..... Sticky query buttons.

In the browser query dialog box, when one is advancing a field (like the day field), then holding down the mouse button should cause it to increment rapidly. Currently, one has to click for each advancement of the field.


Status of this item in V2.0


Status is: TESTED /  FEATURE NOT COMPLETED, MIGHT BE INCLUDED  IN A FUTURE  RELEASE
 
 

1.7 cmlog browser..... Time field causes flashing in NT displays.

Just a nit but a visual annoyance. The current time update in the lower left rewrites the entire time every second and so the whole field is constantly flashing, at least running X-win32 on NT. (suggestion from RCS 7/99). Ron's experience here is that it does take significant bandwidth over a Xwin32 modem link to a pc.


Status of this item in V2.0


Status is: NOT TESTED /  FEATURE NOT COMPLETED, MIGHT BE INCLUDED  IN A FUTURE  RELEASE
 

1.8 cmlog browser..... Allow user to add browser title.

Add the ability to have a title in the config file that would appear in the window heading.


Status of this item in V2.0


This feature is not included in V2.0.

1.9 cmlog browser..... Support cut and paste with mouse.

Add the ability to copy text using the mouse like you can with other x-applications. (i.e. copy a whole line for a message from browser to a text file). Is this a terminal setup issue?


Status of this item in V2.0


This feature is not included in V2.0. But, there is a new feature which allows saving the screen to a file (see item 1.3). Saving to a file satisfies the spirit of this item.
Status is: TESTED /  FEATURE NOT COMPLETED, MIGHT BE INCLUDED  IN A FUTURE  RELEASE
 

1.10 cmlog browser..... c/r on query launches query.

When one hits c/r after entering a string in the dialog box (at either the update or query pull down options): it should launch the query or update (having the same effect as hitting ok at that point).


Status of this item in V2.0


This feature is not included in V2.0. It works like it did in 1.1. The c/r just verifies syntax on the update dialog box only. It is ignored for Query.
Status is: TESTED / FEATURE NOT INCLUDED.

1.11 cmlog browser..... Support up arrow for update/query selection string history.

The last Options/Update "selection string" that was entered is already visible when the user brings up a new selection string dialog box in the same cmlog session. That is good. Now, add the capability to use the up-arrow to go back through previous entries so the user can edit it or just re-enter it. The new string could then be launched by hitting c/r.


Status of this item in V2.0


This feature is not included in V2.0.
Status is: TESTED / FEATURE NOT INCLUDED.

1.12 cmlog browser..... Add browser help.

Add content to the help button on the browser. Ron M will be glad to help write the help content. A first cut at this help content is at http://www.slac.stanford.edu/~ronm/slac_cmlog_browser_help.html


Status of this item in V2.0


To get HELP for the browser, enter: cmlog -h
TESTED / FEATURE COMPLETE.  Help pulldown menu on browser may be provided in a future release.

1.13 cmlog browser..... save complete context in .cmlogrc

The Preferences/ Save current settings button. This button currently saves the settings from the CMLOG_CONFIG file (headings and tag values) to $(HOME)/.cmlogrc Additionally, could we have this button do these things too:

a. Have this button save the settings for the Options/ query and update options
- from/to dates
- search message strings (ie Message like)
- level of verbosity or severity to be displayed to be be displayed. (ie Severity > 10 && Host == 'anode')
 


Status of this item in V2.0


This feature was not included in V2.0. The "save current settings" button does save more stuff than it used to, but it doesn't save any of the items listed here. These items should be saved in the queryMessage and updateMessage fields of the cmlogrc file.
TESTED / FEATURE NOT COMPLETE. 

1.14 cmlog browser..... Browser auto connect

When the browser is started, have it attempt a connection automatically. That is, it would do the same thing as File/Connect now does automatically at startup.


Status of this item in V2.0


This feature is included in V2.0. Start the browser with 'cmlog -c'.
TESTED / FEATURE COMPLETE.;

1.15 cmlog browser..... Auto connect or update mode depends on .cmlogrc

If the person does not save _any_ of the query settings, it would come up as it does now, and a connection would be automatically attempted for the user (cmlog -c). It would be in a purely interactive mode. If he saves only the query string (should this be update string?), it comes up, connects automatically, and goes into update mode with the saved string.


Status of this item in V2.0


This feature not included in V2.0. Saving the update or query strings to cmogrc from the browser is not supported. However, the user may edit the cmlogrc file and set those fields themselves. In that case, the browser may be started and those fields will be used. However, the fileds must be set to values that have NO imbedded blanks. Therefore, the 'like' verb is not supported. For example, severity>10 is supported in cmlogrc. But Message like 'foo' is not.
TESTED / FEATURE NOT COMPLETE.;

1.16 cmlog browser..... Update mode with history provided.

If the times were also available in cmlogrc, then first it would do a "query" with the time boundaries to get the historical information into the display, then go into "update" mode, all automatically after automatic connection. One could do this even without the saved query string if the times were there -- this shows all traffic and is possible with the interactive mode.

The idea here is to provide 'automatic mode' and 'interactive mode'. In automatic mode, the browser starts up, connects, and runs in update mode based on previous settings. In 'interactive mode', the user does setup himself and then launches the query or update.


Status of this item in V2.0


This feature partially included in V2.0. The cmlog -hu option meets this request.
The 'cmlog -hu' option seems to do a query IF I set the time field in the queryMessage field of cmlogrc and don't specify a string in query Message OR updateMessage. But I don't see how to also set the query or update search string for the search that is done as part of the -hu option.


For example, I would expect the following commands to start the browser and do a query for Host=='ERRD ' over the last hour and then coutinue in update mode with Host=='ERRD ' being the update string selection.


Invoke the browser like this:
cmlog -hu -f cmlogrc &
Have this in cmlogrc:
# Default query message
queryMessage Host=='ERRD ' -1:00 now
# Default update selection message
updateMessage Host=='ERRD '
TESTED / FEATURE PARTIALLY COMPLETE.;

1.17 cmlog browser..... Save preferences and update buffer size

b. Have this button save the Updating buffer size entry too.


Status of this item in V2.0


This feature not included in V2.0. It is possible to edit a different updating buffer size into the cmlogrc file and then start the browser with that new value in effect. But that's not the same thing as was suggested here.
TESTED / FEATURE NOT COMPLETE.;

1.18 cmlog browser..... Save field widths and window size.

c. Have this button save the currently selected field widths also. It currently just saves the values it read from the CMLOG_CONFIG file.


Status of this item in V2.0


This feature is included in V2.0. The user restarts the browser with cmlog -f cmlogrc_file and it works.
TESTED / FEATURE COMPLETE.;

1.19 cmlog browser..... Preserve .cmlogrc

These items would be saved in the .cmlogrc so that next time the browser is started, these settings will be re-instated without any operator interaction.


Status of this item in V2.0


This feature is included in V2.0. The user restarts the browser with cmlog -f cmlogrc_file and it works.
TESTED / FEATURE COMPLETE.;

1.20 cmlog, the whole system..... Epics error msgs

Lets talk about ways cmlog can fit into an overall system wide modification to the way errors are logged. This involves standard error codes across all platforms, passing error codes instead of strings, etc. etc.


Status of this item in V2.0


Discussions were held.
COMPLETE.

1.21 cmlog browser..... Table driven translation of any tags. Int to strings

Provide a translation table for the browser. This table would translate numeric error codes to string error codes for any given field. The Severity field would be the initial use for this feature, but there may be others depending on user requirements . The location of this table (file) would be determined by a setting in cmlogrc (the browser configuration file). The information in this file would be used to display strings in place of numbers for any field that is specific in the file. It would also be used when the user enters a query or update searching message. For example:
Severity < 'fatal'

An example of the contents of the file is:
Field Numeric_value String_value
----- ------------- ------------
Severity 0 Info
Severity 1 Warn
Severity 2 Error
Severity 3 Fatal

A comment from Carl... Conversion of numbers to words should be a general capability, so it can be applied to any column with any given enumeration.

When providing for this idea of symbolic substitution of strings for numbers in the browser (For example, when the browser has a 2 for severity, display WARN instead), Make this driven by a configuration file so it can be changed and the browser restarted.


Status of this item in V2.0


This valuable feature is included in V2.0. The codeConversion table is edited into the cmlogrc file by the user.
TESTED / FEATURE COMPLETE.;

1.22 cmlog browser..... Display current tag settings

Add a way to display all the current settings related to the tags (e.g. Severity > WARN Host == 'mynode' etc).


Status of this item in V2.0


This feature is included in V2.0. The new query and update command HELP (assisted) specification popup menu provides the feature.
TESTED / FEATURE COMPLETE.;

1.23 cmlog browser..... New query and update syntax.

WE COULD DEFINE A NEW SYNTAX FOR QUERY and UPDATE other than the C like syntax we currently use. Here's a first cut at the syntax:

set severity > WARN
set node = MYNODE [ANOTHERNODE ...]


Status of this item in V2.0


This feature is included in V2.0. The new query and update command HELP (assisted) specification popup menu provides the feature.
TESTED / FEATURE COMPLETE

1.24 cmlog browser..... Support showing all tags for a given message.

Add the capability to the browser to show ALL the tags associated with a single message. This would be nice for debugging purposes. Jie said it is very simple to write one because each message is cdevData. One can walk through cdevDataEntry to list all tags and their datas.


Status of this item in V2.0


No work was done on this idea for V2.0. The person who requested it is not working on cmlog any more and it's not clear that anything is really needed.
FEATURE COMPLETE.

1.25 cmlog browser..... Color code tags

Add the capability to the browser to use color-coding and special fonts for particular messages based on the value of the message's tags. I don't think we want to add new tags for COLOR and FONT and have the clients set these tags - we want to do it in the browser itself using the existing tags.
We could add this definition to the cmlogrc initialization file. Jie said: " The data acquisition group here wrote a TK version of cmlog browser which actually does color coding. I have to talk to them to find out the scheme. I think it is a configuration file driven mechanism. If it is true, I can put this feature into cmlog browser."


Status of this item in V2.0


This valuable feature is included in V2.0. The codeConversion table is edited into the cmlogrc file by the user. The version of V2.0 that I tested does not support any blanks in the codeConversion value. That caused me a problem when the logging client sent three bytes and a trailing blank for the value of a tag. This didn't work: codeConversion "Facility == 'SLC '" Severity. The 'SLC ' had a trailing blank. Jie is working on a fix.
You might ask what colors are available to be displayed. Here's what Jie said: You can use any colors that can be converted from rgb text to pixel values. You can check /usr/openwin/lib/X11/rgb.txt or similiar file to find out all colors.
TESTED / FEATURE COMPLETE.;

1.26 cmlog browser..... Remove browser exit time debug message.

When the browser exits, it issues the following message: "Clean up C++ objects ...". Replace that message with something else like "Exiting browser".


Status of this item in V2.0


This feature is included in V2.0.
TESTED / FEATURE COMPLETE

1.27 cmlog browser.... Improve server search performance.

I understand that a complicated query, and/or a query that searches for strings slows down the server. Is there anything that could be done to improve that performance?


Status of this item in V2.0


Jie says there's nothing to be done here.
FEATURE COMPLETE

1.28 cmlog browser..... Support wildcard string searches.

Is there a way to do wildcard matching on strings in the search string?
ie Host=='sdr' instead of Host='sdr00ioc00'. This would be in addition to the SQL like syntax (Host like 'sdr'). Of course, if the syntax of browser queries is re-worked, this request could be met with that re-worked syntax.


Status of this item in V2.0


This feature is included in V2.0. The new query and update command HELP (assisted) specification popup menu provides the feature.
TESTED / FEATURE COMPLETE

1.29 cmlog browser..... Command line says which cmlogrc to use.

Command line specification of which cmlogrc file to use. We could get along without this since there is an environment variable


Status of this item in V2.0


This feature is included in V2.0. Start the browser with 'cmlog -f filename'
TESTED / FEATURE COMPLETE

1.30 cmlog browser..... cmlogrc "save as" capability.

"Save as" capability for the cmlogrc file. We could get along without this because we know where it goes and just have to move it if needed.


Status of this item in V2.0


The browser just tells you that it wrote cmlogrc file. It doesn't let you enter the file name.
TESTED / FEATURE NOT COMPLETE

1.31 cmlog browser..... Browser web interface, java.

Should there be a browser which is a web interface? ie. html connection to the server.


Status of this item in V2.0


This might be implemented in the future some time.
TESTED / FEATURE NOT COMPLETE

2.1 cmlog client..... Add a flag for turning off 'cant connect' messages

When the client can't connect to the server (or looses it's connection), it repeatedly issues the error message "Can't find server... (more)". Could we provide an environment variable to limit (and turn off) these messages? I was thinking of a variable called CMLOG_CLIENT_ERROR_MESSAGE which is set to a number of seconds the error message should be put out to the console. If it is set to zero, then the messages don't come out at all.


Status of this item in V2.0


I had thought that cmlogVxLogDisable() (see below) would meet this need. But my tests show that the messages continue even after the call. Instead, this is what Jie implemented.

You will not see those messages many times. You will only see them once when it starts up if there is no server running. The following will be the output from a clientD Find cmlog server running at port 36842 on sysdevs1.cebaf.gov Starting up cmlog client daemon.... cmlog server is gone Find cmlog server running at port 36842 on sysdevs1.cebaf.gov Connection to the server has been reestablished
NOT TESTED / FEATURE COMPLETE

2.2 cmlog client..... Client failover.

Add failover capability to the client. For example, when the cmlogServer dies, then the client daemon should be able to look for another server (a secondary server). Then, when connected to the secondary server, the capability should exist to fail-back to the original server. Logic would be needed to have the client only fail over a limited number of times.
One way to configure it would to add two new environment variables:
CMLOG_HOST_SECONDARY
CMLOG_PORT_SECONDARY


Status of this item in V2.0


I don't believe this feature was included. It might be implemented in the future some time.
NOT TESTED / FEATURE NOT COMPLETE

2.3 cmlog client..... Add client diagnostics.

Provide enhanced diagnostic capability. I'm not sure what form this would take. Here are some ideas:
Utility like seqShow (sequence) to display connection, lost packets, etc.
Make it a function entry into the Client which is called from vxWorks command line.
Add it to CMlog logging client api
Make it run as background task to printout to stdio periodically.
It could printout cdev tag table values.


Status of this item in V2.0


I don't believe this feature was included. It might be implemented in the future some time.
NOT TESTED / FEATURE NOT COMPLETE

2.4 cmlog client..... Client meetering

Fully test the client api calls for metering if this hasn't already been done (setThrottle , setSeverityThreshold , setVerbosiyThreshold ).


Status of this item in V2.0


Jie did a lot of work on meetering. It is much more useful than it used to be. Here's how to use it:
Use cmlogClient setThrottle(char* tag, int size, int limit, double delta);
The 'tag' is the tag one wants to set meter on.
The 'size' is the number of possible tagged values.
The 'limit' is the max number of messages one wants to receive in the period specifed by 'delta' seconds.

setSeverityThreshold and setVerbosityThreshold are still useful. But nobody has yet used it. One can setSeverityThreshold to filter out messages that has severity smaller than the threshold. Similiarly messages are filtered with verbosity bigger than the threshold. These two thresholds are applied on each message automatically, but since the default thresholds are set way to low or too high no messages have ever been filtered by the default thresholds.

One issue is: When someone issues a call to setThrottle on vxWorks from the command line (_not_ from a C program), does the throttling occur for all tasks running on the ioc? I want to issue one call at iocInit time and have it effect the whole ioc (all tasks) so that I don't flood cmlogServer with messages when an ioc goes crazy and issues a bunch of messages. I also don't want to have to modify any of the C code on the ioc.
JIE said this about that: On vxWorks, setThrottle should change everything since there is only one cmlogClient on an IOC.

JIE also said this about throttling: If setThrottle is called, then a particular tag will be checked. If number of messages containing this tag exceeds limit set in the setThrottle call in a predefined time interval, the data will be filtered.

Does dt float?
After the setThrottle call is made, 'limit' number of messages over "any" time dt will be throttled. For example, it's not just the first time dt from the time of the call, but any floating dt interval.
JIE says it works that way.

We specify "tag", not the value of the tag. So, any messages that are logged which contain that tag (no matter what the value of the tag is in a given message), will be meetered if indicated by dt and limit.
JIE agrees and adds: Right. However, severity and verbosity can be throttled seperately.

Once meetering has begun for a given tag, then no more messages that contain that tag are even transmitted again? If that is the case, then how does one cause the messages with that tag to be transmitted again? OR, it it the case that messages automatically begin being transmitted again after there are _not_ "limit" number of messages within a floating "dt". I suspect it's the later.
JIE agrees and adds: I think you are right again. Once limit and dt is reset, messages should reappear.

Can a vxWorks user call cmlog_set_throttle several times to set throttling on different tags with different limits for each tag?
JIE says yes.

Is the setThrottle "size" in bytes or #messages?
JIE says: Number of messages.

There are other sections below about meetering. Don't miss them too! Of course, you'll want to look at the Programer's guide too for more on this subject.
I didn't test this feature at SLAC. Jie tested it on unix.

NOT TESTED / FEATURE COMPLETE

2.5 cmlog client..... Add C interface for meetering.

How does one set throttling from the client from a C program? The client API calls to set verbosity and throttling seem to be only in the C++ logging client API and not in the C API. Would it be a big deal to add these calls to the C API?


Status of this item in V2.0


I didn't test this feature at SLAC. But here's what Jie said:

We did implement c interface for setThrottle. It is declared in cmlog.h and is implemented in Client/cmlogClient.cc

extern int cmlog_set_throttle (cmlog_client_t client, char* tag, int valuerange, int limit, double interval);

You could write a simple function to set throttle for SLAC on a particular tag like the following (Say tag is error)

/* global cmlog_client_t on a vxworks */
cmlog_client_t client = 0;
int slacSetThrottle (int limit, double interval)
{
if (client == 0) {
cmlog_client_t client = cmlog_open ("slac_error");
if (client == 0)
return -1;
}
cmlog_set_throttle (client, "error", limit, interval);
}

By doing this, you can then issue slacSetThrottle on command line.

NOT TESTED / FEATURE COMPLETE

2.6 cmlog client..... Add cmlogDisable flag for disabling ioc logging.

Add support for an environment variable which can be set in the ioc at boot time to disable the logging of messages. This would be like iocLogDisable that currently exists for standard error passing. I set iocLogDisable=1 on the ioc before doing the cmlog taskspawn commands. Then I did logMsg and errlogPrintf commands on the ioc. The error messages were sent to the cmlog server anyway.


Status of this item in V2.0


This valuable feature was included. Here's how it works: On vxWorks, just type cmlogVxLogDisable(). Enabled is the default. To re-enable logging, type cmlogVxLogEnable(). I tested this by having a browser connected up and having a client logging messages. Then I disabled and enabled logging.
TESTED / FEATURE COMPLETE

2.7 cmlog client..... Add meetering summary messages.

Add summary messages like the slc micros have to the metering code.


Status of this item in V2.0


This feature was not included. It might be implemented in the future some time.
NOT TESTED / FEATURE NOT COMPLETE

2.8 cmlog client..... Discuss buffering.

Discuss client buffering of messages. Does the clientD really buffers up messages or is it Nageling that does that. Figure out what to do about needing to turn off Nageling to provide msgs that can be correlated with events (Mark's email concerns). We might provide a flag to turn it off.


Status of this item in V2.0


We did discuss this item. The answer is 'both'. He didn't think correlation of messages was a problem.
NOT TESTED / FEATURE COMPLETE

2.9 cmlog client..... Support vxWorks td for client code.

If we taskspawn the cmlog components after the ioc is up and running, it doesnt work correctly if we 'td' those 2 tasks and then restart them with taskSpawn. The client program went into a state where it kept disconnecting and reconnecting with the server. Jie said the following about this issue: " I just did a exact same step as you took, I had the same problem. But if I unld(ed) all codes and reloaded all codes before I did taskSpawn, everything was ok. I guess there were some variables I did not reset when the tasks are deleted. I have to work on it. For now just make sure you unld code and reld code if you want to shutdown and restart client daemon on iocs.


Status of this item in V2.0


I tested this and it seems to work ok now.
TESTED / FEATURE COMPLETE

3.1 cmlog client and Server..... Diag ports list not so useful port numbers

Currently, when error or diagnostic messages are issued that list a port number of the server, they seen to list a large number I don't recognize. It should also list the listener port number so that one can easily tell which server is being reported.


Status of this item in V2.0


Jie made some changes in this area. But I didn't do any testing on this minor issue.
NOT TESTED / FEATURE COMPLETE

3.2 cmlog Server..... Web based diagnostics.

Provide enhanced diagnostic capability. A web interface could be provided like the one that Mark Crane implemented for the SLAC proxy server. It provides a view of current tcp/ip connections, system status, and application task information like buffer usage. It would be nice to keep track of server's internal messages through this interface. For example, if a server stops logging messages, we could connect via the web interface and find out why. This would be useful for afs outages for example.


Status of this item in V2.0


This feature might be implemented in the future some time.
NOT TESTED / FEATURE NOT COMPLETE

3.3 cmlog Server..... Add timestamps to diagnostic messages.

Add time stamps to all messages in server log files. For example, these messages would be more useful given timestamps:

Add a timestamp of server startup time and stop time.
Starting up cmlog server ........
Cannot load context data from /u1/cmlog/data/cmlogcxt_927306503
Cannot load context data from /u1/cmlog/data/cmlogcxt_927306503
Client SDR00IOC00.SLAC.Stanford.EDU connection closed
cmlogMsg: error in receiving packet <------ MORE DETAILS PLEASE
Client SDR00IOC00.SLAC.Stanford.EDU connection closed
Interrupted by 15 signal
Stop cmlog server


Status of this item in V2.0


This feature was not included. It might be implemented in the future some time.
NOT TESTED / FEATURE NOT COMPLETE

3.4 cmlog Server..... Data backup issues.

Lets talk about how to backup data (say to tape) and how to restore it. We will be required to backup cmlog database files to tape after the total disk storage gets to some number of megabytes. Then, we will be asked to restore selective parts of that database. One example is: "Give me all the messages from a date more than one year ago". Is that possible? Or does it blow away the indexing of the server when retrieving messages if the files on disk are non-contigious? I've seen retrieval problems when I delted the database files in disorganized manner.


Status of this item in V2.0


We discussed these issues but no changes were made.
NOT TESTED / FEATURE NOT COMPLETE

3.5 cmlog Server..... Disk error recovery.

If only the primary database location is defined, and that location goes away (in our case AFS became unavailable), then the server does not appear to keep trying to log to that location. It was necessary to restart the server to get it to log to afs once it came back. This issue needs more discussion and testing to verify that I understand the issues involved.

I believe that the server keeps running but when AFS returns, it does not create new log files. It continues to receive messages during and after the afs outage. The messages can be monitored using a browser during the outage. But the server does not log them successfully to disk when afs returns.

When the database is stored on AFS, the server seems to loose continuity of data. That is, I can't retrieve messages some times. It says 'no messages found'. I suspect this happens because of mini-outages of AFS which causes file corruption. There could be more to it, but I don't see this on our machine with local storage.


Status of this item in V2.0


We discussed these issues but no changes were made.
NOT TESTED / FEATURE NOT COMPLETE

3.6 cmlog Server..... Discuss loss of messages when server killed.

If the server crashes, are files closed correctly? Are messages lost? How many?


Status of this item in V2.0


We discussed these issues but no changes were made. Only a message or so might be lost if it has not been written to disk (its in memory on on the network). Othewise all stored data will be preserved.
NOT TESTED / FEATURE NOT COMPLETE

3.7 cmlog Server..... Host Database Failover issues.

Provide database failover. Currently, the 'secondary database' is used for searching for historic messages (ie the server looks through the primary and secondary locations for messages based on a browser query). It doesn't have anything to do with failure of the logging server to be able to write its database. The server should instead try to log to a secondary location. Then, we would need to make sure we could browse historical messages across both locations. Perhaps we would need a utility which would allow us to merge the two locations into one later (for ease of maintenance).


Status of this item in V2.0


We discussed these issues but no changes were made. This might be included in a future release.
NOT TESTED / FEATURE NOT COMPLETE

3.8 cmlog Server..... Remove server context messages

When starting up cmlog server (and perhaps at other times), we get these errors occasionally in cmlogServer.log........
Cannot load context data from /u1/cmlog/data/cmlogcxt_927306503
Cannot load context data from /u1/cmlog/data/cmlogcxt_927306503
Jie said they are probably something to be ignored.


Status of this item in V2.0


We discussed these issues but no changes were made (I think). This is a really minor issue.
NOT TESTED / FEATURE NOT COMPLETE

3.9 cmlog Server..... Multiple servers in same network, shared database, DB redundancy, db merge.

There are issues around having multiple servers for the same accelerator.

1. Provided the ability to switch between servers from the browser without restarting the browser.

2. Provide the ability to browse two server's at once and mesh the messages together on a time basis. That is, the messages might come out being from different servers but be in contiguous order, starting at the beginning time to the ending time. Provide this capability for both update and query mode.

3. Alternately, we could have multiple servers feeding data into one database. This needs some thought. The database might be on another machine requiring network i/o for the server to write the data to it's database.


Status of this item in V2.0


We discussed these issues but no changes were made. This might be included in a future release.
NOT TESTED / FEATURE NOT COMPLETE

4.1 make..... Standalone make issues.

Discuss Make: - Discuss ways to make a standalone version of the server. A standalone version is one that runs without LD_LIBRARY_PATH set and no run time libraries would need to be copied over to the standalone (non-afs/nfs) machine. We need this capibility to run on machines other than the build machine which don't have NFS/AFS.


Status of this item in V2.0


We discussed these issues but no changes were made. Jie felt that the current system is sufficient.
NOT TESTED / FEATURE NOT COMPLETE

4.2 make..... Discuss other distribution methods like autoconfigure.

Is the a better way to support the distribution and building of cmlog? Is supporting a makeBaseApp scheme the right way to go? Are other tools like striptool moving in that direction?


Status of this item in V2.0


We discussed these issues but no changes were made. Jie thought that autoconfigure would be a good idea in the future, possibly.
NOT TESTED / FEATURE NOT COMPLETE

5.1 Benchmarking..... Document what's been done already.

Yes. We could do some benchmarking and document the results on the web for everyone to see that is interested.


Status of this item in V2.0


We discussed these issues but no changes were made.
NOT TESTED / FEATURE NOT COMPLETE

5.2 Documentation.... Other documentation items.

Add troubleshooting section to programmer's document.
In the programmer's document, write up all the parameters, talk about tags, talk about the new features in this release, and write up the meaning of the secondary database.
Add documentation to the source code. If Jie will teach Ron about it, he will write it. We could use slc style file and module headers.


Status of this item in V2.0


We discussed these issues and the new user's guide should be much improved. The version I was testing had no online help.
TESTED / FEATURE COMPLETE

6.1 Flashing colors

Provide flashing of colors in the color coding. I think epics dm does that type of thing so it's something that someone will want at some time. I'm thinking of an extra field in codeConversion which indicates 'flash' or 'noflash' like this:
4 Fatal Red Flash


Status of this item in V2.0


Jie tells me that this will be in release 2.0. But it will be in a release subsequent to the one I'm testing with at SLAC.
NOT TESTED

RETURN TO SLAC CMLOG HOME PAGE 

SLAC Last modified: 28-Nov 2000 by Ron MacKenzie