49 Commits

Author SHA1 Message Date
Jonathan Lange
47fcb52354 Optional memcached between probes and S3
If given settings for memcached, services will store & fetch reports
from memcache after checking their in-process cache but before fetching
from S3.
2016-06-22 18:40:50 +01:00
Jonathan Lange
29054f7e54 Spell gvt location correctly. 2016-06-21 09:25:44 +01:00
Jonathan Lange
a0bdad6fa4 Updates to vendoring document (#1595) 2016-06-20 18:12:37 +02:00
Alfonso Acosta
7c5799ad59 Bump github.com/fsouza/go-dockerclient 2016-06-15 16:54:18 +00:00
Tom Wilkie
a7b34f1601 Use NATS for shortcut reports in the service. (#1568)
* Vendor nats-io/nats

* Use NATS for shortcut reports.

* Review feedback.

* Rejig shortcut subscriptions, so they work.

* Review feedback
2016-06-09 12:48:41 +01:00
Alban Crequy
42ad3aa12b Scope slow: improve error messages for debugging (#1534)
* alpine: dl-4.alpinelinux.org is dead, use another server

* increase buffer for docker stats

Attempt to avoid the following message:
docker container: dropping stats.

* probe: better timeout error messages

The logs contains the following messages:

Process reporter took longer than 1s
K8s reporter took longer than 1s
Docker reporter took longer than 1s
Endpoint reporter took longer than 1s

This patch prints how long it takes.
2016-05-22 18:21:55 +01:00
Tom Wilkie
02554b1dcd Propagate network info for containers sharing network namespaces (#1401)
- Add armon/go-radix library, use this to find containers by prefix
- Deal with host net namespace in the same way
2016-04-29 18:13:55 +01:00
Alfonso Acosta
1545b00394 Bump vendor/github.com/weaveworks/go-checkpoint 2016-04-28 11:31:55 +00:00
Tom Wilkie
99204e1ff7 Add k8s pod log control (#1298)
* Remove individually vendored k8s.io/kubernetes/pkg/<foo>

* Vendor the whole of vendor/k8s.io/kubernetes/pkg

* Add k8s pod log control

* Tag pods with host id and include them in the host topology as children.

* adding a basic test for kubernetes.Reporter.GetLogs
2016-04-21 13:48:50 +01:00
Paul Bellamy
f211d48cda Merge pull request #1126 from weaveworks/plugins
Plugins
2016-04-12 18:03:26 +01:00
Paul Bellamy
f899f4451b adding github.com/paypal/ionet for testing 2016-04-12 17:20:20 +01:00
Tom Wilkie
b68a2b6112 Update vendored version of go-spew; fixes #1273 2016-04-12 17:17:17 +01:00
Tom Wilkie
f4ef8020ac Merge pull request #1235 from weaveworks/970-reinstating-restarting-ruckus
Update docker client, to get better state strings in the UI
2016-04-06 18:23:34 +02:00
Paul Bellamy
f3adefa454 Update docker client, to get better state strings in the UI 2016-04-06 16:39:45 +01:00
Tom Wilkie
50c8449c20 Update gorilla/mux to include a fix for path slash cleaning. 2016-04-06 14:47:14 +01:00
Alfonso Acosta
7b03f01630 Vendor github.com/kr and github.com/willdonnelly/passwd 2016-03-29 15:48:57 +00:00
Tom Wilkie
b61c5c0255 Vendor consul api 2016-03-23 15:41:37 +00:00
Tom Wilkie
90bc5e206f Vendor aws go library 2016-03-23 15:41:37 +00:00
Tom Wilkie
f7aa14380e Add vendoring docs 2016-03-17 15:05:04 +00:00
Alfonso Acosta
fd37851a25 Merge pull request #1028 from weaveworks/codecgen-multiarch
Make unconteinerized build work on OSX
2016-03-15 16:41:28 +00:00
Paul Bellamy
0a910b422d only check the first two segments of the kernel version 2016-03-15 13:20:15 +00:00
Alfonso Acosta
7f5005a131 Bump vendor/github.com/ugorji/go/codec
To be able to get rid of GO15VENDOREXPERIMENT https://github.com/ugorji/go/issues/147
2016-03-15 10:14:01 +00:00
Matthias Radestock
c6bd583a35 update vendored go-checkpoint 2016-03-11 11:12:54 +00:00
Tom Wilkie
425013bdd9 Update go-checkpoint library and add link to README. 2016-02-29 11:15:14 +00:00
Paul Bellamy
2fe5d3baae update github.com/gorilla/websocket (to add error-code checking) 2016-02-24 16:25:05 +00:00
Alfonso Acosta
efeab520bc Bump github.com/ugorji/go/codec
To reduce garbage from simpleIoEncWriterWriter
(https://github.com/ugorji/go/issues/143)
2016-02-22 12:30:12 +00:00
Alfonso Acosta
6ac176a492 Remove github.com/2opremio/go-1/codec
* Bump github.com/ugorji/go/codec, to get fixes which make
  github.com/2opremio/go-1/codec unnecessary

* Remove github.com/2opremio/go-1/codec

* Remove type embeddings to avoid the problem explained at
  https://github.com/ugorji/go/issues/141#issuecomment-185450157
2016-02-18 12:47:06 +00:00
Alfonso Acosta
9f02e20ac3 Bump github.com/ugorji/go/codec/ for performance improvements
This caused a dependency chain reaction (sigh):

* All the k8s packages had to be fetched again. This in turn required:
  * Pining github.com/docker/docker/pkg/parsers to
    0f5c9d301b9b1cca66b3ea0f9dec3b5317d3686d to cirvumvent
    https://github.com/kubernetes/kubernetes/issues/18774
  * Update github.com/juju/ratelimit
  * Make probe/kubernetes/client.go comply with API changes.
2016-02-16 06:31:35 +00:00
Alfonso Acosta
0d917b2d8b Use github.com/ugorji/go/codec/ for wiring messages
* New encoding format:
  * Msgpack reports between probe<->app (smaller representation, faster to
    encode/decode).
  * Still use JSON between app<->UI (try to avoid making javascript deal with
    mspack).

  The app still suports publishing reports in both gob and JSON, not braking
  backwards compatibility.

* Use compile-time generated marshallers/unmarshallers for higher performance. In
  order to be able to skip code-generation for certain types, I included
  https://github.com/2opremio/go-1/tree/master/codec/codecgen instead of
  upstream until https://github.com/ugorji/go/pull/139 is merged.

* Encode/decode intermediate types using github.com/ugorji/go/codec.Selfer
  for higher performance and reducing garbage collection (no temporary buffers).
2016-02-16 06:31:31 +00:00
Paul Bellamy
37a8b1294c update go-dockerclient to fix bug with docker 1.10 2016-02-10 14:59:58 +00:00
Tom Wilkie
d4e58b9e33 Decouple Scope lifecycle from Weave lifecycle
- Run the Weave integrations regardless of if weave is detected.
- Make everything backoff and not spam the logs.
- Add miekg dns to vendor.
- Have the app periodically register with weaveDNS, and the probe do lookups there.
- Decide what the local networks are at runtime, not once at startup.
- Correctly resolve app ids, fixes #825
2016-02-09 14:24:57 +00:00
Tom Wilkie
2e9aa9314d Periodically check for newer versions of scope. 2016-02-04 15:22:01 +00:00
Alfonso Acosta
f1ac5f102f Fix net namespace reading in pre-3.8 kernels 2016-02-02 17:53:24 +00:00
Tom Wilkie
7df22c6f39 Update fsouza/go-dockerclient 2016-01-04 16:48:19 +00:00
Paul Bellamy
1b39659d10 Merge pull request #742 from weaveworks/284-profiling
Various CPU usage gains from profiling
2015-12-11 12:05:24 +00:00
Tom Wilkie
d8c759c455 Merge pull request #650 from weaveworks/365-pipes
Pipes
2015-12-11 12:01:36 +00:00
Tom Wilkie
cde5920f9a Cache the contents of some files in /proc
Also cache contents of /proc/foo/stat, but only for 10s.
2015-12-11 10:27:15 +00:00
Tom Wilkie
b77cd3f300 Add pipe controls for Docker attach & exec. 2015-12-10 12:51:17 +00:00
Tom Wilkie
b94751ac10 Move procspy out of vendor into probe/endpoint. 2015-12-09 11:06:04 +00:00
Tom Wilkie
e1585e7ac1 Merge pull request #711 from weaveworks/576-host-metrics
Add host memory and CPU usage metrics
2015-12-04 14:38:48 +00:00
Tom Wilkie
4a475466f6 Add host memory and CPU usage metrics 2015-12-04 13:57:32 +00:00
Tom Wilkie
a9b868d310 Vendor in github.com/weaveworks/weave/common 2015-12-04 09:57:44 +00:00
Tom Wilkie
9142325d54 Instruments probe runtime to find slow reporter. 2015-11-12 17:01:52 +00:00
Tom Wilkie
43d0ce986f Add 'latest' CRDT; use it to store container state.
Also use same technique to merge the controls, returning the latest
set of controls instead of the union.
2015-11-06 18:26:38 +00:00
Tom Wilkie
35bfa5f751 Okay, that was a bad idea 2015-10-26 16:53:21 +00:00
Tom Wilkie
aa55aecec5 Vendor some additional libraries for the tests. 2015-10-26 15:12:10 +00:00
Tom Wilkie
bb755979b1 Add vendored dependancies 2015-10-24 11:19:50 +01:00
Peter Bourgon
5813211f0c vendor/runsvinit: update vendored copy 2015-09-29 14:29:28 +02:00
Peter Bourgon
36b743fe1f probe, app: reliable shutdown
- Restructure main funcs for clean defer-stack-unwinds
- Fix Docker container to handle signals properly
- Introduce runsvinit for container init process
- Integration test
2015-09-29 11:45:12 +02:00