mirror of
https://github.com/weaveworks/scope.git
synced 2026-02-14 18:09:59 +00:00
Move host-related names out of probe code
Reduce the dependency on low-level libraries
This commit is contained in:
@@ -6,7 +6,6 @@ import (
|
||||
|
||||
"context"
|
||||
|
||||
"github.com/weaveworks/scope/probe/host"
|
||||
"github.com/weaveworks/scope/report"
|
||||
)
|
||||
|
||||
@@ -52,8 +51,8 @@ func makeProbeHandler(rep Reporter) CtxHandlerFunc {
|
||||
result := []probeDesc{}
|
||||
for _, n := range rpt.Host.Nodes {
|
||||
id, _ := n.Latest.Lookup(report.ControlProbeID)
|
||||
hostname, _ := n.Latest.Lookup(host.HostName)
|
||||
version, dt, _ := n.Latest.LookupEntry(host.ScopeVersion)
|
||||
hostname, _ := n.Latest.Lookup(report.HostName)
|
||||
version, dt, _ := n.Latest.LookupEntry(report.ScopeVersion)
|
||||
result = append(result, probeDesc{
|
||||
ID: id,
|
||||
Hostname: hostname,
|
||||
|
||||
@@ -8,7 +8,6 @@ import (
|
||||
docker_client "github.com/fsouza/go-dockerclient"
|
||||
|
||||
"github.com/weaveworks/scope/probe"
|
||||
"github.com/weaveworks/scope/probe/host"
|
||||
"github.com/weaveworks/scope/report"
|
||||
)
|
||||
|
||||
@@ -306,7 +305,7 @@ func (r *Reporter) overlayTopology() report.Topology {
|
||||
// Add both local and global networks to the LocalNetworks Set
|
||||
// since we treat container IPs as local
|
||||
node := report.MakeNode(report.MakeOverlayNodeID(report.DockerOverlayPeerPrefix, r.hostID)).WithSets(
|
||||
report.MakeSets().Add(host.LocalNetworks, report.MakeStringSet(subnets...)))
|
||||
report.MakeSets().Add(report.HostLocalNetworks, report.MakeStringSet(subnets...)))
|
||||
t := report.MakeTopology()
|
||||
t.AddNode(node)
|
||||
return t
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
client "github.com/fsouza/go-dockerclient"
|
||||
|
||||
"github.com/weaveworks/scope/probe/docker"
|
||||
"github.com/weaveworks/scope/probe/host"
|
||||
"github.com/weaveworks/scope/report"
|
||||
)
|
||||
|
||||
@@ -141,7 +140,7 @@ func TestReporter(t *testing.T) {
|
||||
}
|
||||
|
||||
want := "5.6.7.8/24"
|
||||
if have, ok := node.Sets.Lookup(host.LocalNetworks); !ok || len(have) != 1 || have[0] != want {
|
||||
if have, ok := node.Sets.Lookup(report.HostLocalNetworks); !ok || len(have) != 1 || have[0] != want {
|
||||
t.Fatalf("Expected node to have exactly local network %v but found %v", want, have)
|
||||
}
|
||||
|
||||
|
||||
@@ -14,16 +14,16 @@ import (
|
||||
|
||||
// Keys for use in Node.Latest.
|
||||
const (
|
||||
Timestamp = "ts"
|
||||
HostName = "host_name"
|
||||
LocalNetworks = "local_networks"
|
||||
OS = "os"
|
||||
KernelVersion = "kernel_version"
|
||||
Uptime = "uptime"
|
||||
Load1 = "load1"
|
||||
CPUUsage = "host_cpu_usage_percent"
|
||||
MemoryUsage = "host_mem_usage_bytes"
|
||||
ScopeVersion = "host_scope_version"
|
||||
Timestamp = report.Timestamp
|
||||
HostName = report.HostName
|
||||
LocalNetworks = report.HostLocalNetworks
|
||||
OS = report.OS
|
||||
KernelVersion = report.KernelVersion
|
||||
Uptime = report.Uptime
|
||||
Load1 = report.Load1
|
||||
CPUUsage = report.CPUUsage
|
||||
MemoryUsage = report.MemoryUsage
|
||||
ScopeVersion = report.ScopeVersion
|
||||
)
|
||||
|
||||
// Exposed for testing.
|
||||
|
||||
@@ -10,7 +10,6 @@ import (
|
||||
"github.com/weaveworks/common/backoff"
|
||||
"github.com/weaveworks/scope/common/weave"
|
||||
"github.com/weaveworks/scope/probe/docker"
|
||||
"github.com/weaveworks/scope/probe/host"
|
||||
"github.com/weaveworks/scope/report"
|
||||
)
|
||||
|
||||
@@ -249,7 +248,7 @@ func (w *Weave) Report() (report.Report, error) {
|
||||
if w.statusCache.IPAM != nil {
|
||||
r.Overlay.AddNode(
|
||||
report.MakeNode(report.MakeOverlayNodeID(report.WeaveOverlayPeerPrefix, w.statusCache.Router.Name)).
|
||||
WithSet(host.LocalNetworks, report.MakeStringSet(w.statusCache.IPAM.DefaultSubnet)),
|
||||
WithSet(report.HostLocalNetworks, report.MakeStringSet(w.statusCache.IPAM.DefaultSubnet)),
|
||||
)
|
||||
}
|
||||
return r, nil
|
||||
|
||||
@@ -5,7 +5,6 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/weaveworks/scope/probe/docker"
|
||||
"github.com/weaveworks/scope/probe/host"
|
||||
"github.com/weaveworks/scope/probe/overlay"
|
||||
"github.com/weaveworks/scope/report"
|
||||
"github.com/weaveworks/scope/test"
|
||||
@@ -82,7 +81,7 @@ func TestOverlayTopology(t *testing.T) {
|
||||
if peerNick, ok := node.Latest.Lookup(overlay.WeavePeerNickName); !ok || peerNick != weave.MockWeavePeerNickName {
|
||||
t.Errorf("Expected weave peer nickname %q, got %q", weave.MockWeavePeerNickName, peerNick)
|
||||
}
|
||||
if localNetworks, ok := node.Sets.Lookup(host.LocalNetworks); !ok || !reflect.DeepEqual(localNetworks, report.MakeStringSet(weave.MockWeaveDefaultSubnet)) {
|
||||
if localNetworks, ok := node.Sets.Lookup(report.HostLocalNetworks); !ok || !reflect.DeepEqual(localNetworks, report.MakeStringSet(weave.MockWeaveDefaultSubnet)) {
|
||||
t.Errorf("Expected weave node local_networks %q, got %q", report.MakeStringSet(weave.MockWeaveDefaultSubnet), localNetworks)
|
||||
}
|
||||
// The weave proxy container is running
|
||||
|
||||
@@ -7,7 +7,6 @@ import (
|
||||
|
||||
"github.com/weaveworks/common/test"
|
||||
"github.com/weaveworks/scope/probe/docker"
|
||||
"github.com/weaveworks/scope/probe/host"
|
||||
"github.com/weaveworks/scope/probe/kubernetes"
|
||||
"github.com/weaveworks/scope/probe/process"
|
||||
"github.com/weaveworks/scope/render"
|
||||
@@ -74,7 +73,7 @@ func TestMakeDetailedHostNode(t *testing.T) {
|
||||
},
|
||||
Metrics: []report.MetricRow{
|
||||
{
|
||||
ID: host.CPUUsage,
|
||||
ID: report.CPUUsage,
|
||||
Label: "CPU",
|
||||
Format: "percent",
|
||||
Value: 0.07,
|
||||
@@ -82,7 +81,7 @@ func TestMakeDetailedHostNode(t *testing.T) {
|
||||
Metric: &fixture.ClientHostCPUMetric,
|
||||
},
|
||||
{
|
||||
ID: host.MemoryUsage,
|
||||
ID: report.MemoryUsage,
|
||||
Label: "Memory",
|
||||
Format: "filesize",
|
||||
Value: 0.08,
|
||||
@@ -90,7 +89,7 @@ func TestMakeDetailedHostNode(t *testing.T) {
|
||||
Metric: &fixture.ClientHostMemoryMetric,
|
||||
},
|
||||
{
|
||||
ID: host.Load1,
|
||||
ID: report.Load1,
|
||||
Label: "Load (1m)",
|
||||
Group: "load",
|
||||
Value: 0.09,
|
||||
|
||||
@@ -9,7 +9,6 @@ import (
|
||||
"github.com/weaveworks/common/mtime"
|
||||
"github.com/weaveworks/common/test"
|
||||
"github.com/weaveworks/scope/probe/docker"
|
||||
"github.com/weaveworks/scope/probe/host"
|
||||
"github.com/weaveworks/scope/probe/process"
|
||||
"github.com/weaveworks/scope/render"
|
||||
"github.com/weaveworks/scope/render/detailed"
|
||||
@@ -173,7 +172,7 @@ func TestMakeNodeSummary(t *testing.T) {
|
||||
Tag: "",
|
||||
},
|
||||
Metadata: []report.MetadataRow{
|
||||
{ID: host.HostName, Label: "Hostname", Value: fixture.ClientHostName, Priority: 11},
|
||||
{ID: report.HostName, Label: "Hostname", Value: fixture.ClientHostName, Priority: 11},
|
||||
},
|
||||
Adjacency: report.MakeIDList(fixture.ServerHostNodeID),
|
||||
},
|
||||
@@ -337,7 +336,7 @@ func TestNodeMetrics(t *testing.T) {
|
||||
node: fixture.Report.Host.Nodes[fixture.ClientHostNodeID],
|
||||
want: []report.MetricRow{
|
||||
{
|
||||
ID: host.CPUUsage,
|
||||
ID: report.CPUUsage,
|
||||
Label: "CPU",
|
||||
Format: "percent",
|
||||
Group: "",
|
||||
@@ -346,7 +345,7 @@ func TestNodeMetrics(t *testing.T) {
|
||||
Metric: &fixture.ClientHostCPUMetric,
|
||||
},
|
||||
{
|
||||
ID: host.MemoryUsage,
|
||||
ID: report.MemoryUsage,
|
||||
Label: "Memory",
|
||||
Format: "filesize",
|
||||
Group: "",
|
||||
@@ -355,7 +354,7 @@ func TestNodeMetrics(t *testing.T) {
|
||||
Metric: &fixture.ClientHostMemoryMetric,
|
||||
},
|
||||
{
|
||||
ID: host.Load1,
|
||||
ID: report.Load1,
|
||||
Label: "Load (1m)",
|
||||
Group: "load",
|
||||
Value: 0.09,
|
||||
|
||||
@@ -2,7 +2,6 @@ package expected
|
||||
|
||||
import (
|
||||
"github.com/weaveworks/scope/probe/docker"
|
||||
"github.com/weaveworks/scope/probe/host"
|
||||
"github.com/weaveworks/scope/probe/kubernetes"
|
||||
"github.com/weaveworks/scope/probe/process"
|
||||
"github.com/weaveworks/scope/render"
|
||||
@@ -345,7 +344,7 @@ var (
|
||||
RenderedHosts = report.Nodes{
|
||||
fixture.ClientHostNodeID: hostNode(fixture.ClientHostNodeID, fixture.ServerHostNodeID).
|
||||
WithLatests(map[string]string{
|
||||
host.HostName: fixture.ClientHostName,
|
||||
report.HostName: fixture.ClientHostName,
|
||||
}).
|
||||
WithChildren(report.MakeNodeSet(
|
||||
RenderedEndpoints[fixture.Client54001NodeID],
|
||||
|
||||
@@ -8,7 +8,6 @@ import (
|
||||
"github.com/weaveworks/common/mtime"
|
||||
|
||||
"github.com/weaveworks/scope/probe/docker"
|
||||
"github.com/weaveworks/scope/probe/host"
|
||||
"github.com/weaveworks/scope/render"
|
||||
"github.com/weaveworks/scope/report"
|
||||
"github.com/weaveworks/scope/test/utils"
|
||||
@@ -102,7 +101,7 @@ var (
|
||||
report.HostNodeID: serverHostNodeID,
|
||||
}).
|
||||
WithSets(report.MakeSets().
|
||||
Add(host.LocalNetworks, report.MakeStringSet("192.168.0.0/16")),
|
||||
Add(report.HostLocalNetworks, report.MakeStringSet("192.168.0.0/16")),
|
||||
).WithTopology(report.Host),
|
||||
},
|
||||
},
|
||||
|
||||
@@ -7,7 +7,6 @@ import (
|
||||
|
||||
"github.com/camlistore/camlistore/pkg/lru"
|
||||
|
||||
"github.com/weaveworks/scope/probe/host"
|
||||
"github.com/weaveworks/scope/report"
|
||||
)
|
||||
|
||||
@@ -77,7 +76,7 @@ func LocalNetworks(r report.Report) report.Networks {
|
||||
|
||||
for _, topology := range []report.Topology{r.Host, r.Overlay} {
|
||||
for _, md := range topology.Nodes {
|
||||
nets, _ := md.Sets.Lookup(host.LocalNetworks)
|
||||
nets, _ := md.Sets.Lookup(report.HostLocalNetworks)
|
||||
for _, s := range nets {
|
||||
networks.AddCIDR(s)
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/weaveworks/common/test"
|
||||
"github.com/weaveworks/scope/probe/host"
|
||||
"github.com/weaveworks/scope/render"
|
||||
"github.com/weaveworks/scope/report"
|
||||
)
|
||||
@@ -16,7 +15,7 @@ func TestReportLocalNetworks(t *testing.T) {
|
||||
Nodes: report.Nodes{
|
||||
"nonets": report.MakeNode("nonets"),
|
||||
"foo": report.MakeNode("foo").WithSets(report.MakeSets().
|
||||
Add(host.LocalNetworks, report.MakeStringSet(
|
||||
Add(report.HostLocalNetworks, report.MakeStringSet(
|
||||
"10.0.0.1/8", "192.168.1.1/24", "10.0.0.1/8", "badnet/33")),
|
||||
),
|
||||
},
|
||||
@@ -24,7 +23,7 @@ func TestReportLocalNetworks(t *testing.T) {
|
||||
Overlay: report.Topology{
|
||||
Nodes: report.Nodes{
|
||||
"router": report.MakeNode("router").WithSets(report.MakeSets().
|
||||
Add(host.LocalNetworks, report.MakeStringSet("10.32.0.1/12")),
|
||||
Add(report.HostLocalNetworks, report.MakeStringSet("10.32.0.1/12")),
|
||||
),
|
||||
},
|
||||
},
|
||||
|
||||
@@ -97,6 +97,17 @@ const (
|
||||
ECSServiceRunningCount = "ecs_service_running_count"
|
||||
ECSScaleUp = "ecs_scale_up"
|
||||
ECSScaleDown = "ecs_scale_down"
|
||||
// probe/host
|
||||
Timestamp = "ts"
|
||||
HostName = "host_name"
|
||||
HostLocalNetworks = "local_networks"
|
||||
OS = "os"
|
||||
KernelVersion = "kernel_version"
|
||||
Uptime = "uptime"
|
||||
Load1 = "load1"
|
||||
CPUUsage = "host_cpu_usage_percent"
|
||||
MemoryUsage = "host_mem_usage_bytes"
|
||||
ScopeVersion = "host_scope_version"
|
||||
)
|
||||
|
||||
/* Lookup table to allow msgpack/json decoder to avoid heap allocation
|
||||
@@ -208,6 +219,17 @@ var commonKeys = map[string]string{
|
||||
ECSServiceRunningCount: ECSServiceRunningCount,
|
||||
ECSScaleUp: ECSScaleUp,
|
||||
ECSScaleDown: ECSScaleDown,
|
||||
|
||||
Timestamp: Timestamp,
|
||||
HostName: HostName,
|
||||
HostLocalNetworks: HostLocalNetworks,
|
||||
OS: OS,
|
||||
KernelVersion: KernelVersion,
|
||||
Uptime: Uptime,
|
||||
Load1: Load1,
|
||||
CPUUsage: CPUUsage,
|
||||
MemoryUsage: MemoryUsage,
|
||||
ScopeVersion: ScopeVersion,
|
||||
}
|
||||
|
||||
func lookupCommonKey(b []byte) string {
|
||||
|
||||
@@ -297,11 +297,11 @@ var (
|
||||
report.HostNodeID: ClientHostNodeID,
|
||||
}).
|
||||
WithTopology(report.Host).WithSets(report.MakeSets().
|
||||
Add(host.LocalNetworks, report.MakeStringSet("10.10.10.0/24")),
|
||||
Add(report.HostLocalNetworks, report.MakeStringSet("10.10.10.0/24")),
|
||||
).WithMetrics(report.Metrics{
|
||||
host.CPUUsage: ClientHostCPUMetric,
|
||||
host.MemoryUsage: ClientHostMemoryMetric,
|
||||
host.Load1: ClientHostLoad1Metric,
|
||||
report.CPUUsage: ClientHostCPUMetric,
|
||||
report.MemoryUsage: ClientHostMemoryMetric,
|
||||
report.Load1: ClientHostLoad1Metric,
|
||||
}),
|
||||
ServerHostNodeID: report.MakeNodeWith(
|
||||
|
||||
@@ -311,11 +311,11 @@ var (
|
||||
report.HostNodeID: ServerHostNodeID,
|
||||
}).
|
||||
WithTopology(report.Host).WithSets(report.MakeSets().
|
||||
Add(host.LocalNetworks, report.MakeStringSet("10.10.10.0/24")),
|
||||
Add(report.HostLocalNetworks, report.MakeStringSet("10.10.10.0/24")),
|
||||
).WithMetrics(report.Metrics{
|
||||
host.CPUUsage: ServerHostCPUMetric,
|
||||
host.MemoryUsage: ServerHostMemoryMetric,
|
||||
host.Load1: ServerHostLoad1Metric,
|
||||
report.CPUUsage: ServerHostCPUMetric,
|
||||
report.MemoryUsage: ServerHostMemoryMetric,
|
||||
report.Load1: ServerHostLoad1Metric,
|
||||
}),
|
||||
},
|
||||
MetadataTemplates: host.MetadataTemplates,
|
||||
|
||||
Reference in New Issue
Block a user