Review feedback

This commit is contained in:
Alfonso Acosta
2016-09-20 16:50:29 +00:00
parent 193bfec50b
commit c5ac315b38
7 changed files with 48 additions and 26 deletions
+10 -4
View File
@@ -2,6 +2,7 @@ package render
import (
"net"
"sort"
"github.com/weaveworks/scope/probe/docker"
"github.com/weaveworks/scope/probe/endpoint"
@@ -97,7 +98,7 @@ func MapEndpoint2Pseudo(n report.Node, local report.Networks) report.Nodes {
if ip := net.ParseIP(addr); ip != nil && !local.Contains(ip) {
// If the dstNodeAddr is not in a network local to this report, we emit an
// external pseudoNode
node = toInternetNode(n)
node = externalNode(n)
} else {
// due to https://github.com/weaveworks/scope/issues/1323 we are dropping
// all non-internet pseudo nodes for now.
@@ -157,11 +158,16 @@ func MapProcess2Name(n report.Node, _ report.Networks) report.Nodes {
return report.Nodes{name: node}
}
func toInternetNode(m report.Node) report.Node {
func externalNode(m report.Node) report.Node {
// First, check if it's a known service and emit a
// a specific node if it is
hostnames, _ := m.Sets.Lookup(endpoint.ReverseDNSNames)
for _, hostname := range hostnames {
snoopedHostnames, _ := m.Sets.Lookup(endpoint.SnoopedDNSNames)
reverseHostnames, _ := m.Sets.Lookup(endpoint.ReverseDNSNames)
// Sort the names to make the lookup more deterministic
sort.StringSlice(snoopedHostnames).Sort()
sort.StringSlice(reverseHostnames).Sort()
// Intentionally prioritize snooped hostnames
for _, hostname := range append(snoopedHostnames, reverseHostnames...) {
if isKnownService(hostname) {
return NewDerivedPseudoNode(ServiceNodeIDPrefix+hostname, m)
}