Author:   Lars Michelsen <[email protected]>
Date:     Thu Jun 27 14:52:21 2013 +0200
Committer:   Lars Michelsen <[email protected]>
Commit-Date: Thu Jun 27 14:52:21 2013 +0200

Weathermap lines now deal with bit/byte values provided by Check_MKs interface 
checks

---

 ChangeLog                                          |    3 ++
 .../frontend/nagvis-js/js/NagVisStatefulObject.js  |   21 ++++++++++++++++++-
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ff42242..51aada7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,7 @@
 1.7.10
+Frontend:
+  * Weathermap lines now deal with bit/byte values provided by Check_MKs
+    interface checks
 
 1.7.9
 Core:
diff --git a/share/frontend/nagvis-js/js/NagVisStatefulObject.js 
b/share/frontend/nagvis-js/js/NagVisStatefulObject.js
index eaaf9ec..f5e44ad 100644
--- a/share/frontend/nagvis-js/js/NagVisStatefulObject.js
+++ b/share/frontend/nagvis-js/js/NagVisStatefulObject.js
@@ -625,17 +625,34 @@ var NagVisStatefulObject = NagVisObject.extend({
         var newPerfdata = [];
         var foundNew = false;
 
+        // Check_MK if/if64 checks support switching between bytes/bits. The 
detection
+        // can be made by some curios hack. The most hackish hack I've ever 
seen. From hell.
+        // Well, let's deal with it.
+        var display_bits = false;
+        if(oldPerfdata.length >= 11 && oldPerfdata[10][5] == '0.0')
+            display_bits = true;
+
         // This loop takes perfdata with the labels "in" and "out" and uses 
the current value
         // and maximum values to parse the percentage usage of the line
         for(var i = 0; i < oldPerfdata.length; i++) {
             if(oldPerfdata[i][0] == 'in' && (oldPerfdata[i][2] === null || 
oldPerfdata[i][2] === '')) {
                 newPerfdata[0] = this.perfdataCalcPerc(oldPerfdata[i]);
-                newPerfdata[2] = 
this.perfdataCalcBytesReadable(oldPerfdata[i]);
+                if(!display_bits) {
+                    newPerfdata[2] = 
this.perfdataCalcBytesReadable(oldPerfdata[i]);
+                } else {
+                    oldPerfdata[i][1] *= 8; // convert those hakish bytes to 
bits
+                    newPerfdata[2] = 
this.perfdataCalcBitsReadable(oldPerfdata[i]);
+                }
                 foundNew = true;
             }
             if(oldPerfdata[i][0] == 'out' && (oldPerfdata[i][2] === null || 
oldPerfdata[i][2] === '')) {
                 newPerfdata[1] = this.perfdataCalcPerc(oldPerfdata[i]);
-                newPerfdata[3] = 
this.perfdataCalcBytesReadable(oldPerfdata[i]);
+                if(!display_bits) {
+                    newPerfdata[3] = 
this.perfdataCalcBytesReadable(oldPerfdata[i]);
+                } else {
+                    oldPerfdata[i][1] *= 8; // convert those hakish bytes to 
bits
+                    newPerfdata[3] = 
this.perfdataCalcBitsReadable(oldPerfdata[i]);
+                }
                 foundNew = true;
             }
         }


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Nagvis-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nagvis-checkins

Reply via email to