Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
ONLY SPAWN 1 THREAD / MONITOR (!!!)
added PING-INTERVAL slot to PING-MONITOR class made SHOW method on PING-MONITOR return the image reworked how PROCESS works with PING-MONITOR uses new slot made MAKE-PING take keyword args instead of optional, added interval arg fixes with web UI
made various config objects set their PARENT slot made "multiple after methods" work for web UI
added OVER-RTT slot to PING-MONITOR class to keep track of how many times in a row the RTT limit has been exceeded. This is mostly for the Web UI stuff. Changed SCHEDULE from a function to a method so we can play some fun CLOS games there. Added additional logic to PROCESS for PING-MONITOR - some of it is cruft! reworked HOST-PINGS - only consider a host to not be pingable if it has FAILED previously added more to the Web UI
added load-monitor to config syntax (not named "load" for obvious reasons!) added FIND-EQUIPMENT-BY-NAME function to find a piece of gear in the *equipment* list by its name. added FIND-OBJECT method to find an object in a SCHEDULER, TIMESLOT, or EVENT. This is used to see if an object is already scheduled! Also hella useful for de bugging! :) fixed thunko where all monitors wouldn't be run if the host didn't ping INCLUDIN G FREAKIN' PING MONITORS!!! D'OH! (I think I introduced this bug! :P ) added code to ensure that the ping monitor is scheduled! (may not be needed!) Worked a little on parsing df output a little better. Ignoring lines with Files ystem at the beginning instead of simply assuming the first line is that (I had some errors where, apparently, the first line was blank, then the second was the "Filesystem" line.. :P ) a little work on the Web UI
IM Ooooops! Too quick with the sexp-surgery. PROCESS (event) should hopefully work better now.
IM Must Make Sure to MP-protect the part we actually care about MP-protecting (that is, the call to PROCESS rather than the making of threads).
IM Checked in what SHOULD be a better way of guarding the number of simultaneous processes, using SBCL semaphores to do the counting. This way there should be next-to-no risk losing what we're trying to do, with a slight downside of not having proper return values from the macro (not, I believe, that they're actually used). To change number of processes run-time, er... dunno (maybe SB-THREAD:SIGNAL-SEMAPHORE with a "high" number?).
tried to make multithreading stuff work better XXX CHECK ME XXX
added scaffolding to make it easier to get the alert-level of any object without querying its children. This should make it easier to instrument the code for web display stuff (I hope)
IM Added a scheduler loop and a control variable.
moved :BEFORE PROCESS method for EVENT class into scheduler.lisp
IM Bulk update of (mostly) network-code-related changes. There's one change that pertains to graph code (setting the last-updated field).
factored out the ID slot from the EQUIPMENT, MONITOR, and BASE-GRAPH classes. Created ID-OBJECT mixin class with :AFTER method that causes the instance to be added to the *ID-OBJECTS* hash table. Instances may be retrieved using the newly added GET-INSTANCE-BY-ID macro. Modified NEXT-TIMESLOT so if it is called without the optional scheduler and there is no *DEFAULT-SCHEDULER*, a default scheduler is created and bound to *DEFAULT-SCHEDULER*. Modified PARSE-DF so that if it is given a line, like an automount line on MacOS, it munges the line into something useable. This is sort-of *(OK, REALLY)* kludgy but it makes it so NOCtool doesn't blow up on my Mac :) . Also modified PARSE-DF so that it says the disk is 100% full if there is 0 available space instead of signaling a DIVIDE-BY-ZERO error. Added SHOW method for DISK-CONTAINER class.
made ip nested macro create ping monitor for the equipment made process method with event argument use no-noctool-threads feature to turn off creating a separate thread (to help with debugging!). wrote parse-df function to parse the output of df into a list of lists, each list containing the contents of one disk entry (which is not necessarily one line, at least on my systems). rewrote process-disk to use parse-df function
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.
|Powered by ViewVC 1.1.5|