Commit Graph

87 Commits

Author SHA1 Message Date
Damien Lespiau
6bb6d4dd5a vendoring: Update gopacket to latest master
We'd like to benefit from the memory reduction from:

  https://github.com/google/gopacket/pull/377

I just ran:

  $ gvt update github.com/google/gopacket

Fixes: https://github.com/weaveworks/scope/issues/2905
2017-10-27 12:32:05 +01:00
Bryan Boreham
42bf0dedba Update ugorji/go/codec to latest commit 54210f4e076c57f351166f0ed60e67d3fca57a36 2017-09-23 21:08:33 +00:00
Bryan Boreham
5defa75721 Update to latest weaveworks/common 2017-09-15 10:29:55 +00:00
Alban Crequy
93ca8b83ed vendor: update tcptracer-bpf and gobpf
This includes:

- https://github.com/iovisor/gobpf/pull/70
  perf: close go channels idiomatically

- https://github.com/iovisor/gobpf/pull/70
  close channels on the sender side & fix closing race

- https://github.com/weaveworks/tcptracer-bpf/pull/50
  vendor: update gobpf
2017-08-17 17:55:09 +02:00
Matthias Radestock
b087e95711 bump tcptracer-bpf version 2017-07-12 07:27:35 +01:00
Matthias Radestock
8cf79b2e4a bump tcptracer-bpf version and use it to fix race
We defer starting the ebpf tracer until we've set the global var which
is referenced by the callback functions. Previously the var could be
unset when the callbacks are invoked, resulting in a segfault.

Fixes #2687.
2017-07-07 06:56:28 +01:00
Alfonso Acosta
93b0bc82d3 Remove more unused dependencies 2017-07-03 20:20:34 +00:00
Roland Schilter
247c365e16 Merge pull request #2570 from weaveworks/update-weaveworks-common
Update github.com/weaveworks/common & dependencies (needs go1.8)
2017-06-29 13:48:21 +02:00
Roland Schilter
c817eccb9b Update github.com/weaveworks/common & deps
Bumped all packages that make the build fail:

    gvt update github.com/golang/protobuf/proto
    gvt fetch github.com/golang/protobuf/ptypes
    gvt fetch google.golang.org/genproto/googleapis/rpc/status
    gvt update google.golang.org/grpc/status
    gvt update google.golang.org/grpc/transport
    gvt update golang.org/x/net/http2
2017-06-21 12:19:17 +02:00
Matthias Radestock
a306867610 fast network membership check
The rendering code checks whether endpoint IPs are part of
cluster-local networks. Due to the prevalence of endpoints - medium
sized reports can contain many thousands of endpoints - this is
performance critical. Alas the existing code performs the check via a
linear scan of a list of networks. That is slow when there are more
than a few, which will be the case in the context of k8s, since there
the probes register service IPs as local /32 networks.

Here we change representation of the set of networks to a prefix
tree (aka trie), which is well-suited for IP network membership checks
since networks are in fact a bitstring prefixes.

The specific representation is a crit-bit tree, but that choice was
purely based on implementation convenience - the chosen library is the
only one I could find that directly supports IP networks.
2017-06-21 03:03:49 +01:00
Matthias Radestock
9e75331e9a Revert "fast network membership check"
This reverts commit 98f036359b.
2017-06-20 20:51:27 +01:00
Matthias Radestock
98f036359b fast network membership check
The rendering code checks whether endpoint IPs are part of
cluster-local networks. Due to the prevalence of endpoints - medium
sized reports can contain many thousands of endpoints - this is
performance critical. Alas the existing code performs the check via a
linear scan of a list of networks. That is slow when there are more
than a few. Unfortunately in some common k8s network setups, e.g. on
AWS, a cluster can contain hundreds of networks, due to /32 networks
derived from interfaces with multiple IPs.

Here we change representation of the set of networks to a prefix
tree (aka trie), which is well-suited for IP network membership checks
since networks are in fact a bitstring prefixes.

The specific representation is a crit-bit tree, but that choice was
purely based on implementation convenience - the chosen library is the
only one I could find that directly supports IP networks.
2017-06-20 19:31:11 +01:00
Roland Schilter
2e4f4a3771 Elide url passwords in cli arguments (#2568)
Closes #2365
2017-06-07 10:18:18 +01:00
Alfonso Acosta
c70e357998 Bump github.com/weaveworks/tcptracer-bpf/ and github.com/iovisor/gobpf/ 2017-05-26 04:44:06 +00:00
Alban Crequy
1fb4ce728b vendor: update tcptracer-bpf
This includes https://github.com/weaveworks/tcptracer-bpf/pull/39
2017-05-19 14:14:26 +02:00
Alban Crequy
fc0e4490dd vendoring: update gobpf and tcptracer-bpf 2017-05-10 18:37:32 +02:00
Marcus Cobden
5b6e5ca81d Update billing-client 2017-05-09 15:33:11 +00:00
Alban Crequy
c6a299402c vendor: update github.com/weaveworks/common 2017-05-02 14:42:11 +02:00
Alban Crequy
ac5e379da2 vendor: update gobpf and tcptracer-bpf
It will help to get missing kretprobe events during the ebpf tracker
initialization and missing connect & accept events, specially visible on
single-cores:
- https://github.com/weaveworks/tcptracer-bpf/pull/36
- https://github.com/iovisor/gobpf/pull/39

It makes use of a Linux patch that should be in Linux >= 4.12
(unreleased yet): https://github.com/iovisor/bcc/issues/1072#issuecomment-289777787
It falls back gracefully on current/older Linux kernels.

The new gobpf vendoring also includes other small fixes such as error
handling.
2017-04-06 11:16:25 +02:00
Paul Bellamy
619ab90502 gvt update github.com/weaveworks/billing-client 2017-04-04 10:38:43 +01:00
Iago López Galeiras
7541ad9c9c vendor: bump tcptracer-bpf
We found out we were losing kretprobes sometimes because maxactive was set too
low[1]. This problem was more apparent in our GCE test environment because
the kernel was configured with `CONFIG_PREEMPT` not set and we're running
single-core VMs (see https://github.com/weaveworks/tcptracer-bpf/issues/24 for
more details).

Unfortunately, we can't set the maxactive explicitly from userspace. Alban
submitted a kernel patch to allow this[2].

This bumps tcptracer-bpf to include a workaround[3] for this issue in the
guess-offsets phase.

[1]: https://github.com/weaveworks/tcptracer-bpf/issues/24
[2]: https://lkml.org/lkml/2017/3/28/629
[3]: https://github.com/weaveworks/tcptracer-bpf/pull/33
2017-03-29 15:57:25 +02:00
Paul Bellamy
e68ffd467e Add app/multitenant/billing_emitter to emit billing events 2017-03-22 10:41:34 +00:00
Alfonso Acosta
f3a9b61cd0 Merge pull request #2366 from kinvolk/schu/ebpf-stop-tracker
endpoint/ebpf: implement stop
2017-03-22 10:17:55 +01:00
Michael Schubert
b49d2e6f9d vendor: update github.com/weaveworks/tcptracer-bpf 2017-03-22 10:07:55 +01:00
Alfonso Acosta
482a41f88e Bump github.com/weaveworks/common 2017-03-21 11:49:02 +00:00
Bryan Boreham
07c8265c6b Update ugorji/co/codec to latest commit 708a42d246822952f38190a8d8c4e6b16a0e600c 2017-03-14 14:54:17 +00:00
Iago López Galeiras
6ede5e5c91 vendor: add weaveworks/tcptracer-bpf 2017-03-08 22:11:12 +01:00
Iago López Galeiras
d77a297ebf vendor: add iovisor/gobpf 2017-03-08 22:11:12 +01:00
Alfonso Acosta
96e7c6b414 Bump google.golang.org/grpc to make github.com/weaveworks/common happy 2017-02-24 13:50:18 +00:00
Alfonso Acosta
e8cb4fb4c6 Bump github.com/weaveworks/common 2017-02-24 13:43:06 +00:00
Jonathan Lange
a8ba7b2c86 Log whether it's a websocket request 2016-12-12 17:57:48 +00:00
Jonathan Lange
256e480acc Vendor new weaveworks/common 2016-12-12 17:40:46 +00:00
Jonathan Lange
813e6468bc Correctly instrument websocket handshakes
Part of weaveworks/monitoring#82
2016-12-08 17:36:45 +00:00
Jonathan Lange
496afb9a42 Vendor in weaveworks/common 2016-12-07 11:22:39 +00:00
Tom Wilkie
21ee72a384 Add OpenTracing support to TimeRequestHistogram (#2023)
* Vendor open tracing

* Extend TimeRequestHistorgram to also emit opentracing spans.

* Update some of the labels
2016-11-22 14:43:15 +00:00
Simon
7e5166e45e Merge pull request #1966 from weaveworks/746-resize-ttys
Resize TTYs
2016-11-03 11:06:16 +01:00
Alfonso Acosta
260464e7f2 Vendor github.com/dustin/go-humanize 2016-11-02 13:00:16 +00:00
Alfonso Acosta
6cbf2bf26e Vendor github.com/docker/docker/pkg/term 2016-10-31 11:08:56 +00:00
Mike Lang
8f8c0f2204 Merge pull request #1839 from weaveworks/mike/app/graceful-shutdown
Gracefully shutdown app, letting active http requests finish with timeout
2016-09-09 15:06:23 -07:00
Krzesimir Nowak
467ad884f6 Vendor github.com/containernetworking/cni/pkg/ns
We will use this code to execute the code in some process' network
namespace.

I did the vendoring a bit differently, as gvt seems to be a bit dumb
about getting dependencies for test packages (it tried to vendor
ginkgo and gomega, since cni tests are using it).

Also, instead of vendoring golang.org/x/sys as
github.com/containernetworking/cni/vendor/golang.org/x/sys I moved it
to scope's vendor directory.
2016-09-06 11:53:34 +02:00
Mike Lang
46249fd403 vendor github.com/tylerb/graceful and dependencies 2016-08-31 18:07:56 -07:00
Alfonso Acosta
47056bde16 Vendor the exact same version of mergo used by k8s
Merging is buggy in master: https://github.com/imdario/mergo/issues/33
2016-08-18 15:32:49 +00:00
Alfonso Acosta
e9235a56ba Vendor github.com/imdario/mergo
In order to use k8s.io/kubernetes/pkg/client/unversioned/clientcmd/client_config.go
2016-08-17 15:15:34 +00:00
Alfonso Acosta
c39b16ae9f Bump github.com/fsouza/go-dockerclient
To include https://github.com/fsouza/go-dockerclient/pull/562 , which
fixes https://github.com/weaveworks/scope/issues/1767
2016-08-15 09:34:18 +00:00
Alfonso Acosta
ecc8a3138f Replace github.com/mndrix/ps by github.com/weaveworks/ps 2016-07-26 10:35:55 +00:00
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
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
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