diff --git a/client/app/scripts/components/node-details/node-details-table.js b/client/app/scripts/components/node-details/node-details-table.js
index 88dab6a95..7553def3a 100644
--- a/client/app/scripts/components/node-details/node-details-table.js
+++ b/client/app/scripts/components/node-details/node-details-table.js
@@ -153,7 +153,8 @@ export default class NodeDetailsTable extends React.Component {
if (field) {
if (field.valueType === 'metadata') {
return (
-
+ |
{field.value}
|
);
diff --git a/probe/endpoint/reporter.go b/probe/endpoint/reporter.go
index c34ec1c21..d16e72a33 100644
--- a/probe/endpoint/reporter.go
+++ b/probe/endpoint/reporter.go
@@ -16,10 +16,11 @@ import (
// Node metadata keys.
const (
- Addr = "addr" // typically IPv4
- Port = "port"
- Conntracked = "conntracked"
- Procspied = "procspied"
+ Addr = "addr" // typically IPv4
+ Port = "port"
+ Conntracked = "conntracked"
+ Procspied = "procspied"
+ ReverseDNSNames = "reverse_dns_names"
)
// Reporter generates Reports containing the Endpoint topology.
@@ -182,7 +183,7 @@ func (r *Reporter) addConnection(rpt *report.Report, t fourTuple, extraFromNode,
// In case we have a reverse resolution for the IP, we can use it for
// the name...
if toNames, err := r.reverseResolver.get(t.toAddr); err == nil {
- toNode = toNode.WithSet("name", report.MakeStringSet(toNames...))
+ toNode = toNode.WithSet(ReverseDNSNames, report.MakeStringSet(toNames...))
}
if extraFromNode != nil {
diff --git a/render/detailed/connections.go b/render/detailed/connections.go
index 09203d83a..61e62fa89 100644
--- a/render/detailed/connections.go
+++ b/render/detailed/connections.go
@@ -5,6 +5,7 @@ import (
"sort"
"strconv"
+ "github.com/weaveworks/scope/probe/endpoint"
"github.com/weaveworks/scope/render"
"github.com/weaveworks/scope/report"
)
@@ -94,6 +95,8 @@ func incomingConnectionsSummary(topologyID string, r report.Report, n report.Nod
port: port,
}
if isInternetNode(n) {
+ endpointNode := r.Endpoint.Nodes[localEndpointID]
+ key.localNode = &endpointNode
key.localAddr = localAddr
}
counts[key] = counts[key] + 1
@@ -144,6 +147,8 @@ func outgoingConnectionsSummary(topologyID string, r report.Report, n report.Nod
port: port,
}
if isInternetNode(n) {
+ endpointNode := r.Endpoint.Nodes[remoteEndpointID]
+ key.localNode = &endpointNode
key.localAddr = localAddr
}
counts[key] = counts[key] + 1
@@ -206,10 +211,15 @@ func connectionRows(r report.Report, in map[connection]int, includeLocal bool) [
connection.Linkable = false
}
if includeLocal {
+ // Does localNode have a DNS record in it?
+ label := row.localAddr
+ if set, ok := row.localNode.Sets.Lookup(endpoint.ReverseDNSNames); ok && len(set) > 0 {
+ label = set[0]
+ }
connection.Metadata = append(connection.Metadata,
report.MetadataRow{
ID: "foo",
- Value: row.localAddr,
+ Value: label,
Datatype: number,
})
}