modal: "one_f_troubleshooting_existingNodes_id_modal",
existingNodesDataGrid: "one_f_troubleshooting_existingNodes_id_datagrid",
portsDataGrid: "one_f_troubleshooting_existingNodes_id_portsDataGrid",
- flowsDataGrid: "one_f_troubleshooting_existingNodes_id_flowsDataGrid"
- },
- // TODO: Make these values configurable.
- autoRefreshInterval: {
- flows: 10000,
- ports: 10000,
- refreshRateInterval: 5000
+ flowsDataGrid: "one_f_troubleshooting_existingNodes_id_flowsDataGrid",
+ refreshFlowsButton:"one_f_troubleshooting_existingNodes_id_refreshFlowsButton",
+ refreshPortsButton:"one_f_troubleshooting_existingNodes_id_refreshPortsButton"
+
},
load: {
main: function($dashlet) {
},
flows: function(nodeId) {
try {
- clearTimeout(one.f.troubleshooting.existingNodes.registry.refreshTimer);
+ if(one.f.troubleshooting === undefined){
+ return;
+ }
$.getJSON(one.main.constants.address.prefix + "/troubleshoot/flowStats?nodeId=" + nodeId, function(content) {
$rightBottomDashlet = one.f.troubleshooting.rightBottomDashlet.get();
one.f.troubleshooting.rightBottomDashlet.setDashletHeader("Flows");
one.lib.dashlet.empty($rightBottomDashlet);
$rightBottomDashlet.append(one.lib.dashlet.header("Flow Details"));
-
+ var button = one.lib.dashlet.button.single("Refresh",
+ one.f.troubleshooting.existingNodes.id.refreshFlowsButton, "btn-primary", "btn-mini");
+ var $button = one.lib.dashlet.button.button(button);
+ $button.click(function() {
+ one.f.troubleshooting.existingNodes.load.flows(nodeId);
+ });
+ $rightBottomDashlet.append($button);
var $gridHTML = one.lib.dashlet.datagrid.init(one.f.troubleshooting.existingNodes.id.flowsDataGrid, {
searchable: true,
filterable: false,
$rightBottomDashlet.append($gridHTML);
var dataSource = one.f.troubleshooting.existingNodes.data.flowsGrid(content);
$("#" + one.f.troubleshooting.existingNodes.id.flowsDataGrid).datagrid({dataSource: dataSource});
-
- 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,
- refreshRate, nodeId);
});
} catch(e) {}
},
ports: function(nodeId) {
try {
- clearTimeout(one.f.troubleshooting.existingNodes.registry.refreshTimer);
+ if(one.f.troubleshooting === undefined){
+ return;
+ }
$.getJSON(one.main.constants.address.prefix + "/troubleshoot/portStats?nodeId=" + nodeId, function(content) {
$rightBottomDashlet = one.f.troubleshooting.rightBottomDashlet.get();
one.f.troubleshooting.rightBottomDashlet.setDashletHeader("Ports");
one.lib.dashlet.empty($rightBottomDashlet);
$rightBottomDashlet.append(one.lib.dashlet.header("Port Details"));
-
+ var button = one.lib.dashlet.button.single("Refresh",
+ one.f.troubleshooting.existingNodes.id.refreshPortsButton, "btn-primary", "btn-mini");
+ var $button = one.lib.dashlet.button.button(button);
+ $button.click(function() {
+ one.f.troubleshooting.existingNodes.load.ports(nodeId);
+ });
+ $rightBottomDashlet.append($button);
var $gridHTML = one.lib.dashlet.datagrid.init(one.f.troubleshooting.existingNodes.id.portsDataGrid, {
searchable: true,
filterable: false,
$rightBottomDashlet.append($gridHTML);
var dataSource = one.f.troubleshooting.existingNodes.data.portsGrid(content);
$("#" + one.f.troubleshooting.existingNodes.id.portsDataGrid).datagrid({dataSource: dataSource});
-
- 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,
- refreshRate, nodeId);
});
} catch(e) {}
}
},
{
property: 'nodeId',
- label: 'Static Route',
+ label: 'Node ID',
sortable: true
},
{
item["statistics"] = "<a href=\"javascript:one.f.troubleshooting.existingNodes.load.flows('" + item["nodeId"] + "');\">Flows</a>" +
" <a href=\"javascript:one.f.troubleshooting.existingNodes.load.ports('" + item["nodeId"] + "');\">Ports</a>";
});
-
},
delay: 0
});
return source;
},
portsGrid: function(data) {
+ $.each(data.nodeData, function(index, item) {
+ item.rxPkts = one.lib.helper.parseInt(item.rxPkts);
+ item.txPkts = one.lib.helper.parseInt(item.txPkts);
+ item.rxBytes = one.lib.helper.parseInt(item.rxBytes);
+ item.txBytes = one.lib.helper.parseInt(item.txBytes);
+ item.rxDrops = one.lib.helper.parseInt(item.rxDrops);
+ item.txDrops = one.lib.helper.parseInt(item.txDrops);
+ item.rxErrors = one.lib.helper.parseInt(item.rxErrors);
+ item.txErrors = one.lib.helper.parseInt(item.txErrors);
+ item.rxFrameErrors = one.lib.helper.parseInt(item.rxFrameErrors);
+ item.rxOverRunErrors = one.lib.helper.parseInt(item.rxOverRunErrors);
+ item.rxCRCErrors = one.lib.helper.parseInt(item.rxCRCErrors);
+ item.collisions = one.lib.helper.parseInt(item.collisions);
+ });
var source = new StaticDataSource({
columns: [
{
}
],
data: data.nodeData,
- delay: 200
+ delay: 0
});
return source;
},
return result;
},
flowsGrid: function(data) {
+ $.each(data.nodeData, function(index, item) {
+ item.byteCount = one.lib.helper.parseInt(item.byteCount);
+ item.packetCount = one.lib.helper.parseInt(item.packetCount);
+ item.durationSeconds = one.lib.helper.parseInt(item.durationSeconds);
+ item.idleTimeout = one.lib.helper.parseInt(item.idleTimeout);
+ item.priority = one.lib.helper.parseInt(item.priority);
+ });
var source = new StaticDataSource({
columns: [
{
label: 'NW Dst',
sortable: true
},
+ {
+ property: 'nwTOS',
+ label: 'ToS Bits',
+ sortable: true
+ },
{
property: 'nwProto',
label: 'NW Proto',
label: 'Idle Timeout',
sortable: true
},
- {
- property: 'outPorts',
- label: 'Out Ports',
- sortable: true
- },
- {
- property: 'outVlanId',
- label: 'Out VlanId',
- sortable: true
- },
{
property: 'priority',
label: 'Priority',
entry.push(value["dlVlan"]);
entry.push(value["nwSrc"]);
entry.push(value["nwDst"]);
+ entry.push(value["nwTOS"]);
entry.push(value["nwProto"]);
entry.push(value["tpSrc"]);
entry.push(value["tpDst"]);
entry.push(value["packetCount"]);
entry.push(value["durationSeconds"]);
entry.push(value["idleTimeout"]);
- entry.push(value["outPorts"]);
- entry.push(value["outVlanId"]);
entry.push(value["priority"]);
tr.entry = entry;
result.push(tr);