From cce2e3c0b5beb0c7777e6fad2a0cdfac01af81d1 Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Wed, 10 Jun 2015 07:51:55 +0000 Subject: [PATCH] Restore container details to their rightful position. --- app/origin_node.go | 67 ----------------------------------------- report/detailed_node.go | 19 +++++++++--- 2 files changed, 14 insertions(+), 72 deletions(-) delete mode 100644 app/origin_node.go diff --git a/app/origin_node.go b/app/origin_node.go deleted file mode 100644 index fa6b7e432..000000000 --- a/app/origin_node.go +++ /dev/null @@ -1,67 +0,0 @@ -package main - -import "github.com/weaveworks/scope/report" - -// OriginNode is a node in the originating report topology. It's a process ID -// or network host. It's used by the /api/topology/{topology}/{nodeID} handler -// to generate detailed information. One node from a rendered topology may -// have multiple origin nodes. -type OriginNode struct { - Table report.Table -} - -func getOriginNode(t report.Topology, id string) (OriginNode, bool) { - node, ok := t.NodeMetadatas[id] - if !ok { - return OriginNode{}, false - } - - // The node represents different actual things depending on the topology. - // So we deduce what it is, based on the metadata. - if _, ok := node["pid"]; ok { - return originNodeForProcess(node), true - } - - // Assume network host. Could strengthen this guess by adding a - // special key in the probe spying procedure. - return originNodeForNetworkHost(node), true -} - -func originNodeForProcess(node report.NodeMetadata) OriginNode { - rows := []report.Row{ - {Key: "Host", ValueMajor: node["domain"], ValueMinor: ""}, - {Key: "PID", ValueMajor: node["pid"], ValueMinor: ""}, - {Key: "Process name", ValueMajor: node["name"], ValueMinor: ""}, - } - for _, tuple := range []struct{ key, human string }{ - {"docker_container_id", "Container ID"}, - {"docker_container_name", "Container name"}, - {"docker_image_id", "Container image ID"}, - {"docker_image_name", "Container image name"}, - {"cgroup", "cgroup"}, - } { - if val, ok := node[tuple.key]; ok { - rows = append(rows, report.Row{Key: tuple.human, ValueMajor: val, ValueMinor: ""}) - } - } - return OriginNode{ - Table: report.Table{ - Title: "Origin Process", - Numeric: false, - Rows: rows, - }, - } -} - -func originNodeForNetworkHost(node report.NodeMetadata) OriginNode { - rows := []report.Row{ - {"Hostname", node["name"], ""}, - } - return OriginNode{ - Table: report.Table{ - Title: "Origin Host", - Numeric: false, - Rows: rows, - }, - } -} diff --git a/report/detailed_node.go b/report/detailed_node.go index a841e7a98..193c55b79 100644 --- a/report/detailed_node.go +++ b/report/detailed_node.go @@ -60,11 +60,20 @@ func OriginTable(r Report, originID string) (Table, bool) { func endpointOriginTable(nmd NodeMetadata) (Table, bool) { rows := []Row{} - if val, ok := nmd["endpoint"]; ok { - rows = append(rows, Row{"Endpoint", val, ""}) - } - if val, ok := nmd["host_name"]; ok { - rows = append(rows, Row{"Host name", val, ""}) + for _, tuple := range []struct{ key, human string }{ + {"endpoint", "Endpoint"}, + {"host_name", "Host name"}, + {"pid", "PID"}, + {"name", "Process name"}, + {"docker_container_id", "Container ID"}, + {"docker_container_name", "Container name"}, + {"docker_image_id", "Container image ID"}, + {"docker_image_name", "Container image name"}, + {"cgroup", "cgroup"}, + } { + if val, ok := nmd[tuple.key]; ok { + rows = append(rows, Row{Key: tuple.human, ValueMajor: val, ValueMinor: ""}) + } } return Table{ Title: "Origin Endpoint",