diff options
-rw-r--r-- | web/nms.gathering.org/nms2/index.html | 5 | ||||
-rw-r--r-- | web/nms.gathering.org/nms2/js/nms-map-handlers.js | 50 | ||||
-rw-r--r-- | web/nms.gathering.org/nms2/js/nms.js | 4 |
3 files changed, 55 insertions, 4 deletions
diff --git a/web/nms.gathering.org/nms2/index.html b/web/nms.gathering.org/nms2/index.html index b9bc2b7..304cece 100644 --- a/web/nms.gathering.org/nms2/index.html +++ b/web/nms.gathering.org/nms2/index.html @@ -60,6 +60,7 @@ <li><a href="#temp" onclick="setUpdater(handler_temp)">Temperature map</a></li> <li><a href="#traffic" onclick="setUpdater(handler_traffic)">Traffic map</a></li> <li><a href="#comment" onclick="setUpdater(handler_comment)">Comment spotter</a></li> + <li><a href="#traffictot" onclick="setUpdater(handler_traffic_tot)">Total switch traffic</a></li> <li><a href="#disco" onclick="setUpdater(handler_disco)">DISCO</a></li> <li class="divider"> </li> <li><a href="#" onclick="toggleLayer('nowPickerBox');document.getElementById('nowPicker').focus();">Travel in time</a></li> @@ -264,6 +265,10 @@ </tr> <tr> <td>6</td> + <td>View total switch traffic map</td> + </tr> + <tr> + <td>7</td> <td>View Disco map</td> </tr> <tr> diff --git a/web/nms.gathering.org/nms2/js/nms-map-handlers.js b/web/nms.gathering.org/nms2/js/nms-map-handlers.js index 531b686..9b2d44c 100644 --- a/web/nms.gathering.org/nms2/js/nms-map-handlers.js +++ b/web/nms.gathering.org/nms2/js/nms-map-handlers.js @@ -46,6 +46,13 @@ var handler_traffic = { name:"Uplink traffic map" }; +var handler_traffic_tot = { + updater:trafficTotUpdater, + init:trafficTotInit, + tag:"traffictot", + name:"Switch traffic map" +}; + var handler_disco = { updater:randomizeColors, init:discoInit, @@ -66,7 +73,8 @@ var handlers = [ handler_ping, handler_traffic, handler_disco, - handler_comment + handler_comment, + handler_traffic_tot ]; /* @@ -159,14 +167,48 @@ function trafficUpdater() } } -function colorFromSpeed(speed) +/* + * Init-function for uplink map + */ +function trafficTotInit() +{ + var m = 1024 * 1024 / 8; + drawGradient([lightgreen,green,orange,red]); + setLegend(1,colorFromSpeed(0),"0 (N/A)"); + setLegend(5,colorFromSpeed(5000 * m,5) , "5000Mb/s"); + setLegend(4,colorFromSpeed(3000 * m,5),"3000Mb/s"); + setLegend(3,colorFromSpeed(1000 * m,5),"1000Mb/s"); + setLegend(2,colorFromSpeed(100 * m,5),"100Mb/s"); +} + +function trafficTotUpdater() +{ + if (!nms.switches_now["switches"]) + return; + for (sw in nms.switches_now["switches"]) { + var speed = 0; + for (port in nms.switches_now["switches"][sw]["ports"]) { + if (!nms.switches_then["switches"][sw] || + !nms.switches_then["switches"][sw]["ports"] || + !nms.switches_then["switches"][sw]["ports"][port]) + continue; + var t = nms.switches_then["switches"][sw]["ports"][port]; + var n = nms.switches_now["switches"][sw]["ports"][port]; + speed += (parseInt(t["ifhcoutoctets"]) -parseInt(n["ifhcoutoctets"])) / (parseInt(t["time"] - n["time"])); + } + setSwitchColor(sw,colorFromSpeed(speed,5)); + } +} + +function colorFromSpeed(speed,factor) { var m = 1024 * 1024 / 8; + if (factor == undefined) + factor = 2; if (speed == 0) return blue; speed = speed < 0 ? 0 : speed; - return getColorStop( 1000 * (speed / (2 * (1000 * m)))); -// return rgb_from_max2( 100 * (speed / (2 * (1000 * m)))); + return getColorStop( 1000 * (speed / (factor * (1000 * m)))); } diff --git a/web/nms.gathering.org/nms2/js/nms.js b/web/nms.gathering.org/nms2/js/nms.js index f6d7bb0..d4cf4e8 100644 --- a/web/nms.gathering.org/nms2/js/nms.js +++ b/web/nms.gathering.org/nms2/js/nms.js @@ -73,6 +73,7 @@ var nms = { '4':setMapModeFromN, '5':setMapModeFromN, '6':setMapModeFromN, + '7':setMapModeFromN, 'h':moveTimeFromKey, 'j':moveTimeFromKey, 'k':moveTimeFromKey, @@ -1526,6 +1527,9 @@ function setMapModeFromN(e,key) setUpdater(handler_comment); break; case '6': + setUpdater(handler_traffic_tot); + break; + case '7': setUpdater(handler_disco); break; } |