Peter Bourgon b3868c58d7 Fix a subtle bug in render mapping
During rendering, RenderableNodes are created by Map funcs, which take only
NodeMetadata. Previously, it was simply assumed that the relevant keys for a
given Map func would be present in the metadata. If that implicit invariant
failed, the returned RenderableNode would be invalid, with e.g. an ID of
"hostid::". That, in turn, would trigger undefined behavior later on in the
rendering workflow.

This bug was detected by creating a partial node metadata for a non-local
endpoint node. That node was detected during the first phase of rendering, and
given an invalid renderable node ID of "myhostname::", which prevented it from
attaching to TheInternet pseudonode. It eventually got removed from the  set
of valid nodes, which meant nodes that were adjacent to it suddenly became
orphans, and got filtered out by the FilterUnconnected step of the rendering
pipeline.

With this change, every map func checks for the presence of mandatory fields,
i.e. the fields that compose the resulting renderable node's ID.

Also,

- Add unit tests for LeafMapFuncs
- Topology Validate checks NodeMetadatas must not have nil Metadata
2015-08-03 10:43:07 +02:00
2015-07-30 17:20:44 +02:00
2015-07-06 12:59:25 +00:00
2015-07-30 17:20:44 +02:00
2015-07-31 10:31:07 +01:00
2015-07-30 17:20:44 +02:00
2015-08-03 10:43:07 +02:00
2015-08-03 10:43:07 +02:00
2015-07-30 17:20:44 +02:00
2015-07-30 17:20:44 +02:00
2015-07-16 15:54:49 +02:00
2015-05-19 10:02:02 +00:00
2015-07-06 14:06:08 +00:00
2015-05-19 10:02:55 +00:00

Scope

Circle CI Coverage Status Sourcegraph

Weave Scope Screenshot

Overview

Weave Scope automatically generates a map of your containers, enabling you to intuitively understand, monitor, and control your applications.

Please note that the code, and especially the building and running story, is in a prerelease state. Please take a look, but don't be surprised if you hit bugs or missing pieces.

Getting started

sudo wget -O /usr/local/bin/scope \
  https://github.com/weaveworks/scope/releases/download/latest_release/scope
sudo chmod a+x /usr/local/bin/scope
sudo scope launch

This script will download and run a recent Scope image from the Docker Hub. Now, open your web browser to http://localhost:4040. (If you're using boot2docker, replace localhost with the output of boot2docker ip.)

Build

make deps
make

This will produce a Docker image called weaveworks/scope.

Note that the repository contains a copy of the compiled UI. To build a fresh UI from the source in the client subdirectory, and re-build the Docker container,

make scope_ui_build.tar
make static
make

Run

./scope launch
Description
Monitoring, visualisation & management for Docker & Kubernetes
Readme Pixar 103 MiB
Languages
Go 60.9%
JavaScript 28.3%
Shell 6.7%
Python 1.6%
HCL 1%
Other 1.5%