[Mon-devel] process_event in mon-1-0-0pre1 branch
Brought to you by:
trockij
From: Jim T. <tr...@tr...> - 2004-07-09 13:58:44
|
over the past few days i've made a change which eliminates a bunch of redundant code between proc_cleanup, handle_trap, and handle_trap_timeout, and as an effect has both simplified these routines and fixed a bunch of bugs related to trap processing and alerts/upalerts and all associated squelch knobs (alertevery, alertafter, etc.). there is a new sub named "process_event" which is called by proc_cleanup, handle_trap, and handle_trap_timeout. this sub handles all the gritty details such as incrementing the counters, setting last_failure, calling do_alert, among other things. process_event can be called in one of three modes, "m" for monitor, "t" for trap, and "T" for traptimeout. this triggers very small bits of code which vary for each of those types of events. in addition, i eliminated the code in handle_trap which looks at $trap{"spc"}, so all of that $TRAP_COLDSTART, $TRAP_LINKDOWN, etc. stuff is no more (it was a mess, anyway). the only status it uses is what is found in $trap{"sta"}, and it uses that in the same way proc_cleanup uses $?, the exit value of the monitor. this means that now traps are handled in the same exact way as monitors, which is a very good thing, imho. oh, and the traptimeout stuff is fixed, i.e. it works as the man page says. i've spent an hour or two testing a bunch of combinations of trap + alert + upalert + alertafter/alertevery and monitor + that stuff, and it all seems to work just fine. however, i haven't tested all possible combinations, so i'm hoping others could givet this version a shot and let me know if it works better for them. david, you might want to have a look at these changes and judge their suitability for the head branch. i think they're probably suitable but i don't know how it would affect any changes you've made. the version i'm talking about is checked into cvs under the mon-1-0-0pre1 branch, revision 1.4.2.9. it probably hasn't made its way to the anon cvs mirror at sf.net, though. if anyone wants it immediately let me know and i'll mail it to you. |