Module: nagvis Branch: master Commit: 82d06fa946f5f472703c70370be089adffc5b3b0 URL: http://nagvis.git.sourceforge.net/git/gitweb.cgi?p=nagvis/nagvis;a=commit;h=82d06fa946f5f472703c70370be089adffc5b3b0
Author: Lars Michelsen <[email protected]> Date: Fri Oct 1 18:58:02 2010 +0200 #361 Trying to catch some more errors when no perfdata is present for weathermap line services --- .../frontend/nagvis-js/js/NagVisStatefulObject.js | 12 ++++++++---- share/frontend/nagvis-js/js/lines.js | 20 +++++++++++++------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/share/frontend/nagvis-js/js/NagVisStatefulObject.js b/share/frontend/nagvis-js/js/NagVisStatefulObject.js index 272ac44..bf4e56e 100644 --- a/share/frontend/nagvis-js/js/NagVisStatefulObject.js +++ b/share/frontend/nagvis-js/js/NagVisStatefulObject.js @@ -528,11 +528,15 @@ var NagVisStatefulObject = NagVisObject.extend({ || (this.conf.line_type == 14 && (setPerfdata[2][0] == 'dummyActualIn' || setPerfdata[3][0] == 'dummyActualOut'))) { var msg = "Missing performance data - "; - if(setPerfdata[0][0] == 'dummyPercentIn' || setPerfdata[1][0] == 'dummyPercentOut') - msg += "value 1 is \'" + setPerfdata[0][1] + "\' value 2 is \'" + setPerfdata[1][1] + "\'"; + 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(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(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] + "\'"; + } this.conf.summary_output += ' (Weathermap Line Error: ' + msg + ')'; } else { diff --git a/share/frontend/nagvis-js/js/lines.js b/share/frontend/nagvis-js/js/lines.js index da109d8..840f3b0 100644 --- a/share/frontend/nagvis-js/js/lines.js +++ b/share/frontend/nagvis-js/js/lines.js @@ -258,11 +258,13 @@ function drawNagVisLine(objectId, lineType, cuts, x1, y1, x2, y2, z, width, colo var xMid = middle(x1, x2, cut); var yMid = middle(y1, y2, cut); // perfdataA contains the percentage info - perfdataA = perfdata[0][1] + perfdata[0][2]; + if(perfdata[0] && perfdata[0][1] && perfdata[0][2]) + perfdataA = perfdata[0][1] + perfdata[0][2]; drawArrow(objectId, x1, y1, xMid, yMid, z, width, colorFill, colorBorder); drawLinkOrLabel(objectId, lineType, x1, y1, xMid, yMid, z, perfdataA, perfdataB, cutIn, bLinkArea, bLabelShow); - perfdataA = perfdata[1][1] + perfdata[1][2]; + if(perfdata[1] && perfdata[1][1] && perfdata[1][2]) + perfdataA = perfdata[1][1] + perfdata[1][2]; drawArrow(objectId, x2, y2, xMid, yMid, z, width, colorFill2, colorBorder); drawLinkOrLabel(objectId, lineType, x2, y2, xMid, yMid, z, perfdataA, perfdataB, cutOut, bLinkArea, bLabelShow); break; @@ -272,13 +274,17 @@ function drawNagVisLine(objectId, lineType, cuts, x1, y1, x2, y2, z, width, colo var yMid = middle(y1, y2, cut); // perfdataA contains the percentage info // perfdataB contains the bandwith info - perfdataA = perfdata[0][1] + perfdata[0][2]; - perfdataB = perfdata[2][1] + perfdata[2][2]; + if(perfdata[0] && perfdata[0][1] && perfdata[0][2]) + perfdataA = perfdata[0][1] + perfdata[0][2]; + if(perfdata[2] && perfdata[2][1] && perfdata[2][2]) + perfdataB = perfdata[2][1] + perfdata[2][2]; drawArrow(objectId, x1, y1, xMid, yMid, z, width, colorFill, colorBorder); drawLinkOrLabel(objectId, lineType, x1, y1, xMid, yMid, z, perfdataA, perfdataB, cutOut, bLinkArea, bLabelShow); - perfdataA = perfdata[1][1] + perfdata[1][2]; - perfdataB = perfdata[3][1] + perfdata[3][2]; + if(perfdata[1] && perfdata[1][1] && perfdata[1][2]) + perfdataA = perfdata[1][1] + perfdata[1][2]; + if(perfdata[3] && perfdata[3][1] && perfdata[3][2]) + perfdataB = perfdata[3][1] + perfdata[3][2]; drawArrow(objectId, x2, y2, xMid, yMid, z, width, colorFill2, colorBorder); drawLinkOrLabel(objectId, lineType, x2, y2, xMid, yMid, z, perfdataA, perfdataB, cutIn, bLinkArea, bLabelShow); break; @@ -320,7 +326,7 @@ function splicePerfdata(nagiosPerfdata) { var setMatches = []; // Check if we got any perfdata - if(nagiosPerfdata == '') + if(!nagiosPerfdata || nagiosPerfdata == '') return 'empty'; else { ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ Nagvis-checkins mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nagvis-checkins
