Setting the auto refresh rate for flows and ports based on the number of flows and... 11/311/1
authorlakshya <lakshya@cisco.com>
Tue, 7 May 2013 05:32:32 +0000 (22:32 -0700)
committerlakshya <lakshya@cisco.com>
Tue, 7 May 2013 05:32:32 +0000 (22:32 -0700)
Change-Id: I5d52330405d4471b1177c104280aa5b7b5161ebf
Signed-off-by: lakshya <lakshya@cisco.com>
opendaylight/web/troubleshoot/src/main/resources/js/page.js

index e258b4003e18c091805aaee58effaa08f23f66ea..87e07f57df22d48ddff3ceb2908a4fc8a4d39d9b 100644 (file)
@@ -90,6 +90,12 @@ one.f.troubleshooting.existingNodes = {
                        popout: "one_f_troubleshooting_existingNodes_id_popout",
                        modal: "one_f_troubleshooting_existingNodes_id_modal"
                },
+               // TODO: Make these values configurable.
+               autoRefreshInterval: {
+                       flows: 10000,
+                       ports: 10000,
+                       refreshRateInterval: 5000
+               },
                load: {
                        main: function($dashlet) {
                                one.lib.dashlet.empty($dashlet);
@@ -114,8 +120,15 @@ one.f.troubleshooting.existingNodes = {
                                                one.lib.dashlet.empty($rightBottomDashlet);
                                                $rightBottomDashlet.append(one.lib.dashlet.header("Flow Details"));
                                                $rightBottomDashlet.append($table);
+                                               var numberOfFlows = content.nodeData.length;
+                                               var refreshRate = one.f.troubleshooting.existingNodes.autoRefreshInterval.flows;
+                                               if (numberOfFlows > 0) {
+                                                       refreshRate += Math.floor(numberOfFlows / 500) *
+                                                               one.f.troubleshooting.existingNodes.autoRefreshInterval.refreshRateInterval;
+                                               }
                                                one.f.troubleshooting.existingNodes.registry.refreshTimer = setTimeout(
-                                                               one.f.troubleshooting.existingNodes.load.flows, 5000, nodeId);
+                                                               one.f.troubleshooting.existingNodes.load.flows,
+                                                               refreshRate, nodeId);
                                        });
                                } catch(e) {}
                        },
@@ -130,8 +143,15 @@ one.f.troubleshooting.existingNodes = {
                                                one.lib.dashlet.empty($rightBottomDashlet);
                                                $rightBottomDashlet.append(one.lib.dashlet.header("Port Details"));
                                                $rightBottomDashlet.append($table);
+                                               var numberOfPorts = content.nodeData.length;
+                                               var refreshRate = one.f.troubleshooting.existingNodes.autoRefreshInterval.ports;
+                                               if (numberOfPorts > 0) {
+                                                       refreshRate += Math.floor(numberOfPorts / 500) *
+                                                               one.f.troubleshooting.existingNodes.autoRefreshInterval.refreshRateInterval;
+                                               }
                                                one.f.troubleshooting.existingNodes.registry.refreshTimer = setTimeout(
-                                                               one.f.troubleshooting.existingNodes.load.ports, 5000, nodeId);
+                                                               one.f.troubleshooting.existingNodes.load.ports,
+                                                               refreshRate, nodeId);
                                        });
                                } catch(e) {}
                        }