Commit Graph

293 Commits

Author SHA1 Message Date
Paul Bellamy
38653c4f7a Merge pull request #969 from weaveworks/759-term-env-var
set TERM=xterm on execs to work around docker issue 9299
2016-02-19 11:08:18 +00:00
Alfonso Acosta
7f384032fd Review feedback 2016-02-18 16:00:41 +00:00
Alfonso Acosta
bf3ecd7f03 k8s: Add container Ids to container report 2016-02-18 14:52:10 +00:00
Paul Bellamy
e49d1a721c set TERM=xterm on execs to work around docker issue 9299 2016-02-18 11:50:11 +00:00
Alfonso Acosta
1e3014c417 Fix weave tagger crash 2016-02-17 18:53:43 +00:00
Alfonso Acosta
a2710ecfd5 Merge pull request #916 from weaveworks/854-reports-codec
Improve codec performance
2016-02-17 14:07:31 +00:00
Paul Bellamy
44dada25f2 Review Feedback 2016-02-16 10:37:25 +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
5bb3d49297 gather file descriptors as process metric 2016-02-12 17:13:27 +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
Alfonso Acosta
26ccb4918b Merge pull request #912 from weaveworks/812-rate-limit-proc
Rate-limit reading proc files
2016-02-09 11:19:51 +00:00
Alfonso Acosta
d4b114daea Review comments 2016-02-09 10:39:51 +00:00
Alfonso Acosta
dfc136904c Review feedback 2016-02-09 10:00:04 +00:00
Alfonso Acosta
eb52adbbec Raise maximum rate limit 2016-02-08 22:29:54 +00:00
Alfonso Acosta
0545d9a5c2 Fix variable scope bug 2016-02-08 21:04:26 +00:00
Alfonso Acosta
53bc710c4e Review feedback 2016-02-08 19:28:54 +00:00
Paul Bellamy
6c16beb1d4 log a warning when reporters or taggers take too long to generate 2016-02-08 15:27:28 +00:00
Alfonso Acosta
3dd2d45fe5 Review feedback 2016-02-08 13:42:55 +00:00
Alfonso Acosta
b08c427618 Make linter happy 2016-02-08 13:42:55 +00:00
Alfonso Acosta
08969ec154 Clarify rate-limiting further 2016-02-08 13:42:55 +00:00
Alfonso Acosta
ccabaf5e6a Use uint64 for fd counter 2016-02-08 13:42:55 +00:00
Alfonso Acosta
c09ad9e4f6 Adjust file descript rate-limit block 2016-02-08 13:42:54 +00:00
Alfonso Acosta
8c3c8994b1 Use levelled logging 2016-02-08 13:42:54 +00:00
Alfonso Acosta
6240187333 Fix tests 2016-02-08 13:42:54 +00:00
Alfonso Acosta
b93c3232cd Make linter happy 2016-02-08 13:42:53 +00:00
Alfonso Acosta
d4c68f48fa Get rid of the package-level Connections func 2016-02-08 13:42:53 +00:00
Alfonso Acosta
6deeca0380 Cleanup 2016-02-08 13:42:53 +00:00
Alfonso Acosta
87dd43f782 Batch rate-limit to stats of /proc/*/fd/* 2016-02-08 13:42:53 +00:00
Alfonso Acosta
f922ea19c8 Rate-limit reading proc files
Use a reader in the background, dynamically rate-limited, reading the required
files in a loop
2016-02-08 13:42:52 +00:00
Alfonso Acosta
3d94082b07 Add debug logging 2016-02-05 16:58:40 +00:00
Paul Bellamy
ef4e5bdc47 Compile k8s selectors once (not for each pod) 2016-02-04 11:49:04 +00:00
Tom Wilkie
6e4e5429bc Merge pull request #905 from weaveworks/reduce-proc-race
Minimize race between proc's net/tcp{,6} and fd/*
2016-02-03 18:12:59 +00:00
Alfonso Acosta
3605407519 Fix tests 2016-02-03 16:02:16 +00:00
Alfonso Acosta
0ec71e3af7 Minimize race between proc's net/tcp{,6} and fd/* 2016-02-03 12:20:41 +00:00
Paul Bellamy
c425fa46e0 Merge pull request #899 from weaveworks/886-TestAppClientDetails
Increase timeout, remove double close.
2016-02-03 10:32:29 +00:00
Alfonso Acosta
e78a64fa15 Fix compilation in darwin 2016-02-02 21:40:27 +00:00
Tom Wilkie
37c19a27e7 Send a few more reports to ensure some get through, remove double close. 2016-02-02 10:10:29 -08:00
Alfonso Acosta
f1ac5f102f Fix net namespace reading in pre-3.8 kernels 2016-02-02 17:53:24 +00:00
Alfonso Acosta
8aa22436c3 Fix reading of network namespace inodes 2016-02-01 16:32:52 -08:00
Alfonso Acosta
ed562614d4 Merge pull request #889 from weaveworks/881-probe-locking
Taking a read lock twice only works most of the time.
2016-02-01 20:41:07 +00:00
Tom Wilkie
b103f93692 Taking a read lock twice only works most of the time. 2016-01-31 17:42:44 -08:00
Tom Wilkie
638c5676cb Add container uptime and restart count to details panel. 2016-01-29 14:31:40 -08:00
Tom Wilkie
68a3748f01 Don't allocate lots of docker.Stats structs, do some copying instead 2016-01-29 11:38:55 -08:00
Tom Wilkie
34447fd502 Close response body for docker stats calls. 2016-01-29 10:45:20 -08:00
Tom Wilkie
41d48224aa Fix tests 2016-01-25 13:46:28 -08:00
Tom Wilkie
6b56475766 Use ps.Map for Counters and Sets, remove Metadata in favour of Latest.
Also
- Add more complicated report.json for benchmark
- Break up report/topology.go
- Implement our own DeepEqual for ps.Map
2016-01-22 15:10:32 -08:00
Paul Bellamy
bf57aeb8d9 Rename the various metric keys so they don't accidentally overlap 2016-01-20 16:14:32 +00:00
Paul Bellamy
e30c9dc264 use constants for the topology names in Parents/metadata/metrics 2016-01-19 16:47:48 +01:00
Paul Bellamy
3cda328976 remove hostID from container image node ids 2016-01-19 16:47:48 +01:00