The "checking" part had moved from the main class to an inner class, thus the synchronize(this) blocks were pointing at different "this"'s. This how now been fixed, we hope.
Fully javadoc'd all the monitors. Also made a few little changes here and there, removing code that had been duplicated by copying other monitors, and tidying up any silly little things (such has hardcoded integer values).
Fixed inheritance bug.
Re-arranged...better layout.
For some reason this code wouldn't compile under FreeBSD without this change.
Now works with the new queue structure.
The whole server package structure has been changed. Old Package: uk.ac.ukc.iscream.* New Package: uk.org.iscream.*
TOTALLY re-wrote the Register class and made appropriate changes thoughout. It is now much more obvious what is going on in many places. The problem was probably caused by doing CPU as a first monitor and hard coding the number of attributes a Register stores. Now if a monitor wants to store multiple attributes, it has to do that itself. This makes alot of things much more readable and inteligable as a result.
A slight logic error. Should now properly count the time between heartbeats, and thus won't bypass thresholds when it shouldn't :)
The synchronization is causing delays. Looking at the analysePacket method, it only modifies the HashMap structure when a new host appears - which isn't very often relatively. Therefore, only that section is synchronized, meaning the new packets that arrive regularly will not have to wait for the "checking" thread. I'm hoping the logic behind the synchronization here works.
Added some synchronization. We managed to get a ConcurrentModificationException in the server :)
The threshold values now represent the time in seconds "since the heartbeat was expected". Before this change, you could set a value of less than the heartbeat period and alerts would be fired when the heartbeat is simply not due.
Changed the existing monitor's to use the skeleton class.
Now removes a host if it has reached the FINAL level.
Now passes the time since the first alert for a problem occoured. Also has support for formatting and displaying this information as obtained from the config
Forgot to prepend Host. to the TCPUpdateTime value.
Added error checking, and also changed to an "implements Runnable" Thread. This is because we may be moving to an abstract class soon.
Fixed to work. Had a bug with using int's instead of long's. Didn't actually start the thread. Needed a bit or error catching.
A monitor to watch Heartbeats. This has been built around the architecture of the CPU Monitor, in the hope that it'll later allow better abstraction. This may not fully work yet.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.