mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-19 21:39:26 +00:00
Don't show multiple pseudo nodes in the host view for the same IP
This commit is contained in:
@@ -107,8 +107,8 @@ var (
|
||||
ClientProcess2ID = render.MakeProcessID(fixture.ClientHostID, fixture.Client2PID)
|
||||
ServerProcessID = render.MakeProcessID(fixture.ServerHostID, fixture.ServerPID)
|
||||
nonContainerProcessID = render.MakeProcessID(fixture.ServerHostID, fixture.NonContainerPID)
|
||||
unknownPseudoNode1ID = render.MakePseudoNodeID(fixture.UnknownClient1IP, fixture.ServerIP, fixture.ServerPort)
|
||||
unknownPseudoNode2ID = render.MakePseudoNodeID(fixture.UnknownClient3IP, fixture.ServerIP, fixture.ServerPort)
|
||||
unknownPseudoNode1ID = render.MakePseudoNodeID(fixture.UnknownClient1IP)
|
||||
unknownPseudoNode2ID = render.MakePseudoNodeID(fixture.UnknownClient3IP)
|
||||
|
||||
unknownPseudoNode1 = func(adjacent string) render.RenderableNode {
|
||||
return render.RenderableNode{
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"fmt"
|
||||
"net"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/weaveworks/scope/probe/docker"
|
||||
@@ -341,31 +340,14 @@ func MapEndpoint2Pseudo(n RenderableNode, local report.Networks) RenderableNodes
|
||||
return RenderableNodes{}
|
||||
}
|
||||
|
||||
port, ok := n.Latest.Lookup(endpoint.Port)
|
||||
if !ok {
|
||||
return RenderableNodes{}
|
||||
}
|
||||
|
||||
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
|
||||
// internet node
|
||||
node = theInternetNode(n)
|
||||
|
||||
} else if p, err := strconv.Atoi(port); err == nil && len(n.Adjacency) > 0 && p >= 32768 && p < 65535 {
|
||||
// We are a 'client' pseudo node if the port is in the ephemeral port range.
|
||||
// Linux uses 32768 to 61000, IANA suggests 49152 to 65535.
|
||||
// We only exist if there is something in our adjacency
|
||||
// Generate a single pseudo node for every (client ip, server ip, server port)
|
||||
_, serverIP, serverPort, _ := ParseEndpointID(n.Adjacency[0])
|
||||
node = newDerivedPseudoNode(MakePseudoNodeID(addr, serverIP, serverPort), addr, n)
|
||||
|
||||
} else if port != "" {
|
||||
// Otherwise (the server node is missing), generate a pseudo node for every (server ip, server port)
|
||||
node = newDerivedPseudoNode(MakePseudoNodeID(addr, port), addr+":"+port, n)
|
||||
|
||||
} else {
|
||||
// Empty port for some reason...
|
||||
node = newDerivedPseudoNode(MakePseudoNodeID(addr, port), addr, n)
|
||||
|
||||
node = newDerivedPseudoNode(MakePseudoNodeID(addr), addr, n)
|
||||
}
|
||||
|
||||
node.Children = node.Children.Add(n)
|
||||
|
||||
Reference in New Issue
Block a user