Module: nagvis Branch: master Commit: 32076127514b35eeb289d9166fd684557414ac69 URL: http://nagvis.git.sourceforge.net/git/gitweb.cgi?p=nagvis/nagvis;a=commit;h=32076127514b35eeb289d9166fd684557414ac69
Author: Lars Michelsen <[email protected]> Date: Sun Oct 31 10:25:04 2010 +0100 Javascript tuning: Memory optimizations (last_conf are now only needed attributes) --- .../frontend/nagvis-js/js/NagVisStatefulObject.js | 33 ++++++++++--------- share/frontend/nagvis-js/js/frontend.js | 4 +- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/share/frontend/nagvis-js/js/NagVisStatefulObject.js b/share/frontend/nagvis-js/js/NagVisStatefulObject.js index d039111..9508683 100644 --- a/share/frontend/nagvis-js/js/NagVisStatefulObject.js +++ b/share/frontend/nagvis-js/js/NagVisStatefulObject.js @@ -27,7 +27,7 @@ var NagVisStatefulObject = NagVisObject.extend({ // Stores the information from last refresh (Needed for change detection) - last_conf: null, + last_state: null, // Array of member objects members: null, @@ -93,12 +93,13 @@ var NagVisStatefulObject = NagVisObject.extend({ * @author Lars Michelsen <[email protected]> */ saveLastState: function() { - this.last_conf = {}; - - // FIXME: Do not copy the whole conf array - for (var i in this.conf) { - this.last_conf[i] = this.conf[i]; - } + this.last_state = { + 'summary_state': this.conf.summary_state, + 'summary_in_downtime': this.conf.summary_in_downtime, + 'summary_problem_has_been_acknowledged': this.conf.summary_problem_has_been_acknowledged, + 'output': this.conf.output, + 'perfdata': this.conf.perfdata, + }; }, /** @@ -109,9 +110,9 @@ var NagVisStatefulObject = NagVisObject.extend({ * @author Lars Michelsen <[email protected]> */ stateChanged: function() { - if(this.conf.summary_state != this.last_conf.summary_state || - this.conf.summary_problem_has_been_acknowledged != this.last_conf.summary_problem_has_been_acknowledged || - this.conf.summary_in_downtime != this.last_conf.summary_in_downtime) { + if(this.conf.summary_state != this.last_state.summary_state || + this.conf.summary_problem_has_been_acknowledged != this.last_state.summary_problem_has_been_acknowledged || + this.conf.summary_in_downtime != this.last_state.summary_in_downtime) { return true; } else { return false; @@ -127,18 +128,18 @@ var NagVisStatefulObject = NagVisObject.extend({ */ stateChangedToWorse: function() { var lastSubState = 'normal'; - if(this.last_conf.summary_problem_has_been_acknowledged && this.last_conf.summary_problem_has_been_acknowledged == 1) { + if(this.last_state.summary_problem_has_been_acknowledged && this.last_state.summary_problem_has_been_acknowledged == 1) { lastSubState = 'ack'; - } else if(this.last_conf.summary_in_downtime && this.last_conf.summary_in_downtime == 1) { + } else if(this.last_state.summary_in_downtime && this.last_state.summary_in_downtime == 1) { lastSubState = 'downtime'; } // If there is no "last state" return true here - if(!this.last_conf.summary_state) { + if(!this.last_state.summary_state) { return true; } - var lastWeight = oStates[this.last_conf.summary_state][lastSubState]; + var lastWeight = oStates[this.last_state.summary_state][lastSubState]; var subState = 'normal'; if(this.conf.summary_problem_has_been_acknowledged && this.conf.summary_problem_has_been_acknowledged == 1) { @@ -164,8 +165,8 @@ var NagVisStatefulObject = NagVisObject.extend({ * @author Lars Michelsen <[email protected]> */ outputOrPerfdataChanged: function() { - if(this.conf.output != this.last_conf.output || - this.conf.perfdata != this.last_conf.perfdata) { + if(this.conf.output != this.last_state.output || + this.conf.perfdata != this.last_state.perfdata) { return true; } else { return false; diff --git a/share/frontend/nagvis-js/js/frontend.js b/share/frontend/nagvis-js/js/frontend.js index 0c43039..7e0333e 100644 --- a/share/frontend/nagvis-js/js/frontend.js +++ b/share/frontend/nagvis-js/js/frontend.js @@ -706,9 +706,9 @@ function updateObjects(aMapObjectInformations, aObjs, sType) { // - Eventlog if(aObjs[intIndex].conf.type == 'service') { - eventlog("state-change", "info", aObjs[intIndex].conf.type+" "+aObjs[intIndex].conf.name+" "+aObjs[intIndex].conf.service_description+": Old: "+aObjs[intIndex].last_conf.summary_state+"/"+aObjs[intIndex].last_conf.summary_problem_has_been_acknowledged+"/"+aObjs[intIndex].last_conf.summary_in_downtime+" New: "+aObjs[intIndex].conf.summary_state+"/"+aObjs[intIndex].conf.summary_problem_has_been_acknowledged+"/"+aObjs[intIndex].conf.summary_in_downtime); + eventlog("state-change", "info", aObjs[intIndex].conf.type+" "+aObjs[intIndex].conf.name+" "+aObjs[intIndex].conf.service_description+": Old: "+aObjs[intIndex].last_state.summary_state+"/"+aObjs[intIndex].last_state.summary_problem_has_been_acknowledged+"/"+aObjs[intIndex].last_state.summary_in_downtime+" New: "+aObjs[intIndex].conf.summary_state+"/"+aObjs[intIndex].conf.summary_problem_has_been_acknowledged+"/"+aObjs[intIndex].conf.summary_in_downtime); } else { - eventlog("state-change", "info", aObjs[intIndex].conf.type+" "+aObjs[intIndex].conf.name+": Old: "+aObjs[intIndex].last_conf.summary_state+"/"+aObjs[intIndex].last_conf.summary_problem_has_been_acknowledged+"/"+aObjs[intIndex].last_conf.summary_in_downtime+" New: "+aObjs[intIndex].conf.summary_state+"/"+aObjs[intIndex].conf.summary_problem_has_been_acknowledged+"/"+aObjs[intIndex].conf.summary_in_downtime); + eventlog("state-change", "info", aObjs[intIndex].conf.type+" "+aObjs[intIndex].conf.name+": Old: "+aObjs[intIndex].last_state.summary_state+"/"+aObjs[intIndex].last_state.summary_problem_has_been_acknowledged+"/"+aObjs[intIndex].last_state.summary_in_downtime+" New: "+aObjs[intIndex].conf.summary_state+"/"+aObjs[intIndex].conf.summary_problem_has_been_acknowledged+"/"+aObjs[intIndex].conf.summary_in_downtime); } // - Sound ------------------------------------------------------------------------------ Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev _______________________________________________ Nagvis-checkins mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nagvis-checkins
