Loading js-apps/meep-frontend/src/js/util/scenario-utils.js +45 −65 Original line number Diff line number Diff line Loading @@ -1642,20 +1642,23 @@ export function getElementFromScenario(scenario, elementId) { } } function createTooltip() { function createTooltip(title) { var tooltip = document.createElement('div'); tooltip.style.padding = '10px'; if (title) { tooltip.innerHTML = '<b>' + title + '</b>'; } return tooltip; } function addTitle(tooltip, title) { tooltip.innerHTML += '<b>' + title + '</b>'; } function addName(tooltip, name) { tooltip.innerHTML += '<br>id: ' + name; } function addType(tooltip, type) { tooltip.innerHTML += '<br>type: ' + type; } function addNetChar(tooltip, netChar) { tooltip.innerHTML += '<br>latency: ' + (netChar.latency || 0) + ' ms'; tooltip.innerHTML += '<br>jitter: ' + (netChar.latencyVariation || '0') + ' ms'; Loading @@ -1663,23 +1666,18 @@ function addNetChar(tooltip, netChar) { tooltip.innerHTML += '<br>UL throughput: ' + (netChar.throughputUl || 0) + ' mb/s'; tooltip.innerHTML += '<br>DL throughput: ' + (netChar.throughputDl || 0) + ' mb/s'; } function addConnectivityModel(tooltip, model) { tooltip.innerHTML += '<br>connectivity model: ' + (model || ''); } function addCellId(tooltip, cellId) { tooltip.innerHTML += '<br>cell id: ' + (cellId || ''); } function addMacAddress(tooltip, mac) { tooltip.innerHTML += '<br>mac: ' + (mac || ''); } function addConnectionState(tooltip, state) { tooltip.innerHTML += '<br>state: ' + ((state) ? 'CONNECTED' : 'DISCONNECTED'); } function addWirelessTypes(tooltip, type) { if (type) { tooltip.innerHTML += '<br>wireless types: ' + type; Loading @@ -1688,8 +1686,8 @@ function addWirelessTypes(tooltip, type) { // Add scenario node export function addScenarioNode(scenario, nodes) { var nodeTooltip = createTooltip(); addTitle(nodeTooltip, 'id: Internet'); var nodeTooltip = createTooltip('Node Configuration'); addName(nodeTooltip, 'Internet'); addType(nodeTooltip, 'scenario'); addConnectivityModel(nodeTooltip, scenario.deployment.connectivity.model); Loading @@ -1715,8 +1713,8 @@ export function addScenarioNode(scenario, nodes) { // Add domain node export function addDomainNode(domain, parent, nodes, edges) { var nodeTooltip = createTooltip(); addTitle(nodeTooltip, 'id: ' + domain.name); var nodeTooltip = createTooltip('Node Configuration'); addName(nodeTooltip, domain.name); addType(nodeTooltip, domain.type); var n = { Loading @@ -1727,12 +1725,13 @@ export function addDomainNode(domain, parent, nodes, edges) { level: 1 }; var edgeTooltip = createTooltip(); addTitle(edgeTooltip, 'link type: inter-domain'); var edgeTooltip = createTooltip('Link Configuration'); addType(edgeTooltip, 'inter-domain'); addNetChar(edgeTooltip, parent.deployment.netChar); var e = { title: edgeTooltip, label: (parent.deployment.netChar ? parent.deployment.netChar.latency || 0 : 0) + ' ms', from: parent.name, to: domain.id }; Loading @@ -1746,19 +1745,14 @@ export function addDomainNode(domain, parent, nodes, edges) { n['group'] = 'domain'; } var latency = parent.deployment.netChar.latency || 0; if (latency) { e['label'] = latency + ' ms'; } nodes.push(n); edges.push(e); } // Add zone node export function addZoneNode(zone, parent, nodes, edges) { var nodeTooltip = createTooltip(); addTitle(nodeTooltip, 'id: ' + zone.name); var nodeTooltip = createTooltip('Node Configuration'); addName(nodeTooltip, zone.name); addType(nodeTooltip, zone.type); var n = { Loading @@ -1769,12 +1763,13 @@ export function addZoneNode(zone, parent, nodes, edges) { level: 2 }; var edgeTooltip = createTooltip(); addTitle(edgeTooltip, 'link type: inter-zone'); var edgeTooltip = createTooltip('Link Configuration'); addType(edgeTooltip, 'inter-zone'); addNetChar(edgeTooltip, parent.netChar); var e = { title: edgeTooltip, label: (parent.netChar ? parent.netChar.latency || 0 : 0) + ' ms', from: parent.id, to: zone.id, color: { Loading @@ -1793,19 +1788,14 @@ export function addZoneNode(zone, parent, nodes, edges) { n['group'] = 'zone'; } var latency = parent.netChar.latency || 0; if (latency) { e['label'] = latency + ' ms'; } nodes.push(n); edges.push(e); } // Add network location node export function addNlNode(nl, parent, nodes, edges) { var nodeTooltip = createTooltip(); addTitle(nodeTooltip, 'id: ' + nl.name); var nodeTooltip = createTooltip('Node Configuration'); addName(nodeTooltip, nl.name); addType(nodeTooltip, nl.type); var n = { Loading @@ -1816,12 +1806,13 @@ export function addNlNode(nl, parent, nodes, edges) { level: 3 }; var edgeTooltip = createTooltip(); addTitle(edgeTooltip, 'link type: intra-zone'); var edgeTooltip = createTooltip('Link Configuration'); addType(edgeTooltip, 'intra-zone'); addNetChar(edgeTooltip, parent.netChar); var e = { title: edgeTooltip, label: (parent.netChar ? parent.netChar.latency || 0 : 0) + ' ms', from: parent.id, to: nl.id }; Loading Loading @@ -1850,20 +1841,14 @@ export function addNlNode(nl, parent, nodes, edges) { break; } var latency = parent.netChar.latency || 0; if (latency) { e['label'] = latency + ' ms'; } nodes.push(n); edges.push(e); } // Add physical location node export function addPlNode(pl, parent, nodes, edges) { var nodeTooltip = createTooltip(); addTitle(nodeTooltip, 'id: ' + pl.name); var nodeTooltip = createTooltip('Node Configuration'); addName(nodeTooltip, pl.name); addType(nodeTooltip, (pl.type === UE_TYPE_STR) ? 'TERMINAL' : pl.type); var n = { Loading @@ -1885,7 +1870,7 @@ export function addPlNode(pl, parent, nodes, edges) { e.from = parent.name; } var latency = (parent.netChar) ? parent.netChar.latency : 0; var latency = (parent.netChar) ? parent.netChar.latency || 0 : 0; var lineColor = (pl.connected) ? '#606060' : '#FF0000'; e['color'] = { color: lineColor, Loading Loading @@ -1914,10 +1899,10 @@ export function addPlNode(pl, parent, nodes, edges) { break; } case EDGE_TYPE_STR: { edgeTooltip = createTooltip(); addTitle(edgeTooltip, 'link type: intra-zone'); addNetChar(edgeTooltip, parent.netChar); edgeTooltip = createTooltip('Link Configuration'); addType(edgeTooltip, 'intra-zone'); addConnectionState(edgeTooltip, pl.connected); addNetChar(edgeTooltip, parent.netChar); n['level'] = 3; Loading @@ -1938,10 +1923,10 @@ export function addPlNode(pl, parent, nodes, edges) { case UE_TYPE_STR: { addWirelessTypes(nodeTooltip, pl.wirelessType); edgeTooltip = createTooltip(); addTitle(edgeTooltip, 'link type: terminal-link'); addNetChar(edgeTooltip, parent.netChar); edgeTooltip = createTooltip('Link Configuration'); addType(edgeTooltip, 'terminal-link'); addConnectionState(edgeTooltip, pl.connected); addNetChar(edgeTooltip, parent.netChar); n['level'] = 4; Loading Loading @@ -1976,11 +1961,11 @@ export function addPlNode(pl, parent, nodes, edges) { } case DC_TYPE_STR: { edgeTooltip = createTooltip(); addTitle(edgeTooltip, 'link type: inter-domain'); addNetChar(edgeTooltip, parent.deployment.netChar); edgeTooltip = createTooltip('Link Configuration'); addType(edgeTooltip, 'inter-domain'); addConnectionState(edgeTooltip, pl.connected); latency = (parent.deployment.netChar) ? parent.deployment.netChar.latency : 0; addNetChar(edgeTooltip, parent.deployment.netChar); latency = (parent.deployment.netChar) ? parent.deployment.netChar.latency || 0 : 0; n['level'] = -1; Loading Loading @@ -2009,9 +1994,7 @@ export function addPlNode(pl, parent, nodes, edges) { } // Set latency label if (latency) { e['label'] = latency + ' ms'; } nodes.push(n); edges.push(e); Loading @@ -2019,10 +2002,11 @@ export function addPlNode(pl, parent, nodes, edges) { // Add process node export function addProcessNode(proc, parent, nodes, edges) { var nodeTooltip = createTooltip(); addTitle(nodeTooltip, 'id: ' + proc.name); var nodeTooltip = createTooltip('Node Configuration'); addName(nodeTooltip, proc.name); addType(nodeTooltip, proc.type); addTitle(nodeTooltip, '<br><br>application net char'); addTitle(nodeTooltip, '<br><br>Link Configuration'); addType(nodeTooltip, 'application'); addNetChar(nodeTooltip, proc.netChar); var n = { Loading @@ -2032,12 +2016,13 @@ export function addProcessNode(proc, parent, nodes, edges) { label: proc.name }; var edgeTooltip = createTooltip(); addTitle(edgeTooltip, 'link type: node'); var edgeTooltip = createTooltip('Link Configuration'); addType(edgeTooltip, 'node'); addNetChar(edgeTooltip, parent.netChar); var e = { title: edgeTooltip, label: (parent.netChar ? parent.netChar.latency || 0 : 0) + ' ms', from: parent.id, to: proc.id, color: { Loading @@ -2061,11 +2046,6 @@ export function addProcessNode(proc, parent, nodes, edges) { n['group'] = proc.isExternal ? 'procExtCloudApp' : 'procIntCloudApp'; } var latency = parent.netChar.latency || 0; if (latency) { e['label'] = latency + ' ms'; } nodes.push(n); edges.push(e); } Loading Loading
js-apps/meep-frontend/src/js/util/scenario-utils.js +45 −65 Original line number Diff line number Diff line Loading @@ -1642,20 +1642,23 @@ export function getElementFromScenario(scenario, elementId) { } } function createTooltip() { function createTooltip(title) { var tooltip = document.createElement('div'); tooltip.style.padding = '10px'; if (title) { tooltip.innerHTML = '<b>' + title + '</b>'; } return tooltip; } function addTitle(tooltip, title) { tooltip.innerHTML += '<b>' + title + '</b>'; } function addName(tooltip, name) { tooltip.innerHTML += '<br>id: ' + name; } function addType(tooltip, type) { tooltip.innerHTML += '<br>type: ' + type; } function addNetChar(tooltip, netChar) { tooltip.innerHTML += '<br>latency: ' + (netChar.latency || 0) + ' ms'; tooltip.innerHTML += '<br>jitter: ' + (netChar.latencyVariation || '0') + ' ms'; Loading @@ -1663,23 +1666,18 @@ function addNetChar(tooltip, netChar) { tooltip.innerHTML += '<br>UL throughput: ' + (netChar.throughputUl || 0) + ' mb/s'; tooltip.innerHTML += '<br>DL throughput: ' + (netChar.throughputDl || 0) + ' mb/s'; } function addConnectivityModel(tooltip, model) { tooltip.innerHTML += '<br>connectivity model: ' + (model || ''); } function addCellId(tooltip, cellId) { tooltip.innerHTML += '<br>cell id: ' + (cellId || ''); } function addMacAddress(tooltip, mac) { tooltip.innerHTML += '<br>mac: ' + (mac || ''); } function addConnectionState(tooltip, state) { tooltip.innerHTML += '<br>state: ' + ((state) ? 'CONNECTED' : 'DISCONNECTED'); } function addWirelessTypes(tooltip, type) { if (type) { tooltip.innerHTML += '<br>wireless types: ' + type; Loading @@ -1688,8 +1686,8 @@ function addWirelessTypes(tooltip, type) { // Add scenario node export function addScenarioNode(scenario, nodes) { var nodeTooltip = createTooltip(); addTitle(nodeTooltip, 'id: Internet'); var nodeTooltip = createTooltip('Node Configuration'); addName(nodeTooltip, 'Internet'); addType(nodeTooltip, 'scenario'); addConnectivityModel(nodeTooltip, scenario.deployment.connectivity.model); Loading @@ -1715,8 +1713,8 @@ export function addScenarioNode(scenario, nodes) { // Add domain node export function addDomainNode(domain, parent, nodes, edges) { var nodeTooltip = createTooltip(); addTitle(nodeTooltip, 'id: ' + domain.name); var nodeTooltip = createTooltip('Node Configuration'); addName(nodeTooltip, domain.name); addType(nodeTooltip, domain.type); var n = { Loading @@ -1727,12 +1725,13 @@ export function addDomainNode(domain, parent, nodes, edges) { level: 1 }; var edgeTooltip = createTooltip(); addTitle(edgeTooltip, 'link type: inter-domain'); var edgeTooltip = createTooltip('Link Configuration'); addType(edgeTooltip, 'inter-domain'); addNetChar(edgeTooltip, parent.deployment.netChar); var e = { title: edgeTooltip, label: (parent.deployment.netChar ? parent.deployment.netChar.latency || 0 : 0) + ' ms', from: parent.name, to: domain.id }; Loading @@ -1746,19 +1745,14 @@ export function addDomainNode(domain, parent, nodes, edges) { n['group'] = 'domain'; } var latency = parent.deployment.netChar.latency || 0; if (latency) { e['label'] = latency + ' ms'; } nodes.push(n); edges.push(e); } // Add zone node export function addZoneNode(zone, parent, nodes, edges) { var nodeTooltip = createTooltip(); addTitle(nodeTooltip, 'id: ' + zone.name); var nodeTooltip = createTooltip('Node Configuration'); addName(nodeTooltip, zone.name); addType(nodeTooltip, zone.type); var n = { Loading @@ -1769,12 +1763,13 @@ export function addZoneNode(zone, parent, nodes, edges) { level: 2 }; var edgeTooltip = createTooltip(); addTitle(edgeTooltip, 'link type: inter-zone'); var edgeTooltip = createTooltip('Link Configuration'); addType(edgeTooltip, 'inter-zone'); addNetChar(edgeTooltip, parent.netChar); var e = { title: edgeTooltip, label: (parent.netChar ? parent.netChar.latency || 0 : 0) + ' ms', from: parent.id, to: zone.id, color: { Loading @@ -1793,19 +1788,14 @@ export function addZoneNode(zone, parent, nodes, edges) { n['group'] = 'zone'; } var latency = parent.netChar.latency || 0; if (latency) { e['label'] = latency + ' ms'; } nodes.push(n); edges.push(e); } // Add network location node export function addNlNode(nl, parent, nodes, edges) { var nodeTooltip = createTooltip(); addTitle(nodeTooltip, 'id: ' + nl.name); var nodeTooltip = createTooltip('Node Configuration'); addName(nodeTooltip, nl.name); addType(nodeTooltip, nl.type); var n = { Loading @@ -1816,12 +1806,13 @@ export function addNlNode(nl, parent, nodes, edges) { level: 3 }; var edgeTooltip = createTooltip(); addTitle(edgeTooltip, 'link type: intra-zone'); var edgeTooltip = createTooltip('Link Configuration'); addType(edgeTooltip, 'intra-zone'); addNetChar(edgeTooltip, parent.netChar); var e = { title: edgeTooltip, label: (parent.netChar ? parent.netChar.latency || 0 : 0) + ' ms', from: parent.id, to: nl.id }; Loading Loading @@ -1850,20 +1841,14 @@ export function addNlNode(nl, parent, nodes, edges) { break; } var latency = parent.netChar.latency || 0; if (latency) { e['label'] = latency + ' ms'; } nodes.push(n); edges.push(e); } // Add physical location node export function addPlNode(pl, parent, nodes, edges) { var nodeTooltip = createTooltip(); addTitle(nodeTooltip, 'id: ' + pl.name); var nodeTooltip = createTooltip('Node Configuration'); addName(nodeTooltip, pl.name); addType(nodeTooltip, (pl.type === UE_TYPE_STR) ? 'TERMINAL' : pl.type); var n = { Loading @@ -1885,7 +1870,7 @@ export function addPlNode(pl, parent, nodes, edges) { e.from = parent.name; } var latency = (parent.netChar) ? parent.netChar.latency : 0; var latency = (parent.netChar) ? parent.netChar.latency || 0 : 0; var lineColor = (pl.connected) ? '#606060' : '#FF0000'; e['color'] = { color: lineColor, Loading Loading @@ -1914,10 +1899,10 @@ export function addPlNode(pl, parent, nodes, edges) { break; } case EDGE_TYPE_STR: { edgeTooltip = createTooltip(); addTitle(edgeTooltip, 'link type: intra-zone'); addNetChar(edgeTooltip, parent.netChar); edgeTooltip = createTooltip('Link Configuration'); addType(edgeTooltip, 'intra-zone'); addConnectionState(edgeTooltip, pl.connected); addNetChar(edgeTooltip, parent.netChar); n['level'] = 3; Loading @@ -1938,10 +1923,10 @@ export function addPlNode(pl, parent, nodes, edges) { case UE_TYPE_STR: { addWirelessTypes(nodeTooltip, pl.wirelessType); edgeTooltip = createTooltip(); addTitle(edgeTooltip, 'link type: terminal-link'); addNetChar(edgeTooltip, parent.netChar); edgeTooltip = createTooltip('Link Configuration'); addType(edgeTooltip, 'terminal-link'); addConnectionState(edgeTooltip, pl.connected); addNetChar(edgeTooltip, parent.netChar); n['level'] = 4; Loading Loading @@ -1976,11 +1961,11 @@ export function addPlNode(pl, parent, nodes, edges) { } case DC_TYPE_STR: { edgeTooltip = createTooltip(); addTitle(edgeTooltip, 'link type: inter-domain'); addNetChar(edgeTooltip, parent.deployment.netChar); edgeTooltip = createTooltip('Link Configuration'); addType(edgeTooltip, 'inter-domain'); addConnectionState(edgeTooltip, pl.connected); latency = (parent.deployment.netChar) ? parent.deployment.netChar.latency : 0; addNetChar(edgeTooltip, parent.deployment.netChar); latency = (parent.deployment.netChar) ? parent.deployment.netChar.latency || 0 : 0; n['level'] = -1; Loading Loading @@ -2009,9 +1994,7 @@ export function addPlNode(pl, parent, nodes, edges) { } // Set latency label if (latency) { e['label'] = latency + ' ms'; } nodes.push(n); edges.push(e); Loading @@ -2019,10 +2002,11 @@ export function addPlNode(pl, parent, nodes, edges) { // Add process node export function addProcessNode(proc, parent, nodes, edges) { var nodeTooltip = createTooltip(); addTitle(nodeTooltip, 'id: ' + proc.name); var nodeTooltip = createTooltip('Node Configuration'); addName(nodeTooltip, proc.name); addType(nodeTooltip, proc.type); addTitle(nodeTooltip, '<br><br>application net char'); addTitle(nodeTooltip, '<br><br>Link Configuration'); addType(nodeTooltip, 'application'); addNetChar(nodeTooltip, proc.netChar); var n = { Loading @@ -2032,12 +2016,13 @@ export function addProcessNode(proc, parent, nodes, edges) { label: proc.name }; var edgeTooltip = createTooltip(); addTitle(edgeTooltip, 'link type: node'); var edgeTooltip = createTooltip('Link Configuration'); addType(edgeTooltip, 'node'); addNetChar(edgeTooltip, parent.netChar); var e = { title: edgeTooltip, label: (parent.netChar ? parent.netChar.latency || 0 : 0) + ' ms', from: parent.id, to: proc.id, color: { Loading @@ -2061,11 +2046,6 @@ export function addProcessNode(proc, parent, nodes, edges) { n['group'] = proc.isExternal ? 'procExtCloudApp' : 'procIntCloudApp'; } var latency = parent.netChar.latency || 0; if (latency) { e['label'] = latency + ' ms'; } nodes.push(n); edges.push(e); } Loading