@@ -13,6 +13,8 @@ function readablizeBytes(bytes) {
1313
1414var updates = 0 ;
1515
16+ var snmpHistory = { } ;
17+
1618var socket = io . connect ( "http://homemon.trease.eu:8500/" ) ;
1719socket . emit ( "subscribe" , { room : "snmpdata" } ) ;
1820socket . on ( 'data' , function ( data ) {
@@ -39,7 +41,7 @@ socket.on('data', function(data) {
3941
4042 if ( ! ElementExists ( decodedData . device + "-" + decodedData . interface ) ) {
4143 // create row
42- console . log ( "creating interface: " + decodedData . interface ) ;
44+ // console.log ("creating interface: " + decodedData.interface);
4345 var tbl = document . getElementById ( decodedData . device ) ;
4446 var row = tbl . insertRow ( ) ;
4547 row . id = decodedData . device + "-" + decodedData . interface ;
@@ -51,21 +53,31 @@ socket.on('data', function(data) {
5153 cell . id = decodedData . device + "-" + decodedData . interface + "-ifName" ;
5254 cell = row . insertCell ( 0 ) ;
5355 cell . id = decodedData . device + "-" + decodedData . interface + "-interface" ;
56+
57+ var updateCell = document . getElementById ( decodedData . device + "-" + decodedData . interface + "-interface" ) ;
58+ updateCell . innerHTML = decodedData . interface ;
59+
60+ updateCell = document . getElementById ( decodedData . device + "-" + decodedData . interface + "-ifName" ) ;
61+ updateCell . innerHTML = decodedData . ifName ;
62+
63+ snmpHistory [ decodedData . device + "-" + decodedData . interface ] = decodedData ;
5464 }
55- }
56-
57- // update cells now we are sure they exist
58- var updateCell = document . getElementById ( decodedData . device + "-" + decodedData . interface + "-interface" ) ;
59- updateCell . innerHTML = decodedData . interface ;
60-
61- updateCell = document . getElementById ( decodedData . device + "-" + decodedData . interface + "-ifName" ) ;
62- updateCell . innerHTML = decodedData . ifName ;
63-
64- updateCell = document . getElementById ( decodedData . device + "-" + decodedData . interface + "-ifInOctets" ) ;
65- updateCell . innerHTML = decodedData . ifInOctets ;
65+ } else {
66+ // update cells now we are sure they exist
67+ var updateCell = document . getElementById ( decodedData . device + "-" + decodedData . interface + "-interface" ) ;
68+ updateCell . innerHTML = decodedData . interface ;
69+
70+ updateCell = document . getElementById ( decodedData . device + "-" + decodedData . interface + "-ifName" ) ;
71+ updateCell . innerHTML = decodedData . ifName ;
6672
67- updateCell = document . getElementById ( decodedData . device + "-" + decodedData . interface + "-ifOutOctets" ) ;
68- updateCell . innerHTML = decodedData . ifOutOctets ;
73+ updateCell = document . getElementById ( decodedData . device + "-" + decodedData . interface + "-ifInOctets" ) ;
74+ var inBytes = decodedData . ifInOctets - snmpHistory [ decodedData . device + "-" + decodedData . interface ] . ifInOctets ;
75+ updateCell . innerHTML = readablizeBytes ( inBytes ) + "/sec" ;
76+
77+ updateCell = document . getElementById ( decodedData . device + "-" + decodedData . interface + "-ifOutOctets" ) ;
78+ var outBytes = decodedData . ifOutOctets - snmpHistory [ decodedData . device + "-" + decodedData . interface ] . ifOutOctets ;
79+ updateCell . innerHTML = readablizeBytes ( outBytes ) + "/sec" ;
80+ }
6981
7082 // print the time the refresh happened
7183 var dt = new Date ( ) ;
0 commit comments