Module: nagvis Branch: master Commit: f51c8c1af759a63eb58da19841c8549a2ad2bd31 URL: http://nagvis.git.sourceforge.net/git/gitweb.cgi?p=nagvis/nagvis;a=commit;h=f51c8c1af759a63eb58da19841c8549a2ad2bd31
Author: Lars Michelsen <[email protected]> Date: Mon Jan 3 01:24:01 2011 +0100 Made weathermap lines more resistant agains invalid perfdata --- .../frontend/nagvis-js/js/NagVisStatefulObject.js | 24 +++++++++++++++----- 1 files changed, 18 insertions(+), 6 deletions(-) diff --git a/share/frontend/nagvis-js/js/NagVisStatefulObject.js b/share/frontend/nagvis-js/js/NagVisStatefulObject.js index e11449f..94c41c6 100644 --- a/share/frontend/nagvis-js/js/NagVisStatefulObject.js +++ b/share/frontend/nagvis-js/js/NagVisStatefulObject.js @@ -522,18 +522,30 @@ var NagVisStatefulObject = NagVisObject.extend({ */ // Check perfdata array, did we get usable data back - if(setPerfdata == 'empty' || setPerfdata[0][0] == 'dummyPercentIn' || setPerfdata[1][0] == 'dummyPercentOut' - || (this.conf.line_type == 14 && (setPerfdata[2][0] == 'dummyActualIn' || setPerfdata[3][0] == 'dummyActualOut'))) { + if(setPerfdata == 'empty' + || !isset(setPerfdata[0]) || setPerfdata[0][0] == 'dummyPercentIn' + || !isset(setPerfdata[1]) || setPerfdata[1][0] == 'dummyPercentOut' + || (this.conf.line_type == 14 && ( + !isset(setPerfdata[2]) || setPerfdata[2][0] == 'dummyActualIn' + || !isset(setPerfdata[3]) || setPerfdata[3][0] == 'dummyActualOut'))) { var msg = "Missing performance data - "; if(setPerfdata == 'empty') msg += "perfdata string is empty"; else { - if(setPerfdata[0][0] == 'dummyPercentIn' || setPerfdata[1][0] == 'dummyPercentOut') - msg += "value 1 is \'" + setPerfdata[0][1] + "\' value 2 is \'" + setPerfdata[1][1] + "\'"; + if(isset(setPerfdata[0]) && setPerfdata[0][0] == 'dummyPercentIn') + msg += "value 1 is \'" + setPerfdata[0][1] + "\'"; - if(this.conf.line_type == 14 && (setPerfdata[2][0] == 'dummyActualIn' || setPerfdata[3][0] == 'dummyActualOut')) - msg += " value 3 is \'" + setPerfdata[2][1] + "\' value 4 is \'" + setPerfdata[3][1] + "\'"; + if(isset(setPerfdata[1]) && setPerfdata[1][0] == 'dummyPercentOut') + msg += " value 2 is \'" + setPerfdata[1][1] + "\'"; + + if(this.conf.line_type == 14) { + if(isset(setPerfdata[2]) && setPerfdata[2][0] == 'dummyActualIn') + msg += " value 3 is \'" + setPerfdata[2][1] + "\'"; + + if(isset(setPerfdata[3]) && setPerfdata[3][0] == 'dummyActualOut') + msg += " value 4 is \'" + setPerfdata[3][1] + "\'"; + } } this.conf.summary_output += ' (Weathermap Line Error: ' + msg + ')'; ------------------------------------------------------------------------------ Learn how Oracle Real Application Clusters (RAC) One Node allows customers to consolidate database storage, standardize their database environment, and, should the need arise, upgrade to a full multi-node Oracle RAC database without downtime or disruption http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ Nagvis-checkins mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nagvis-checkins
