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

Reply via email to