Commit Graph

2604 Commits

Author SHA1 Message Date
Alfonso Acosta
8a7812eab9 Only consider pod parents living in the same namespace 2016-08-25 16:05:01 +00:00
Tom Wilkie
32edfc9112 Don't reencode reports in the collector (#1819)
* Don't reencode reports in the collector

* Review feedback

* Fix comment

* Update alpine URLs so it will build

* Fix tests
2016-08-22 17:37:41 +01:00
Alfonso Acosta
4cb002e360 Merge pull request #1817 from weaveworks/release-0.17
Release 0.17.1
2016-08-19 15:04:36 +01:00
Alfonso Acosta
0f0c795416 Merge pull request #1816 from weaveworks/spelling-fixes
Fix spelling mistakes
2016-08-18 19:07:03 +01:00
Alfonso Acosta
cffcddf155 Update CHANGELOG v0.17.1 2016-08-18 18:02:40 +00:00
Alfonso Acosta
c10c58459b Fix spelling mistakes 2016-08-18 17:48:45 +00:00
Alfonso Acosta
8e5ff2a33b Merge pull request #1813 from weaveworks/1810-extend-k8s-client-flags
Extend kubernetes client flags to match kubectl
2016-08-18 18:23:55 +01:00
Alfonso Acosta
8c6747f560 Fix spelling mistake 2016-08-18 16:58:11 +00:00
Alfonso Acosta
f8a67a41f7 Elide sensitive kubernetes flags from the logs 2016-08-18 15:33:07 +00:00
Alfonso Acosta
9839b3d161 Log the API server host 2016-08-18 15:33:06 +00: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
Simon
5c27063c56 Merge pull request #1812 from weaveworks/1760-fixes-node-label-overlap
Fixes node label overlap
2016-08-18 16:09:59 +02:00
Simon Howe
e73440e9f1 Fixes top of node-blue-search-highlight from being chopped off.
- Increase line height so that it doesn't fall over the side of the
  container (which is overflow: hidden).
- Compensate for line-height increase w/ small label position tweak.
2016-08-18 14:50:37 +02:00
Alfonso Acosta
7435b4542c Fix typo 2016-08-18 11:11:30 +00:00
Tom Wilkie
38cc5aa29e On circle, report username as circle to wcould (#1815) 2016-08-18 12:06:49 +01:00
Alfonso Acosta
1bdff95f33 Extend kubernetes client flags to match kubectl 2016-08-17 15:16:58 +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
Simon Howe
86101764b6 Tweak node/label-sizes to avoid overlap in certain layouts.
- Also permanently enables the label bg (previous was only on hover) to
  aid readibility w/ the (sometimes) smaller labels.
2016-08-17 16:03:47 +02:00
Alfonso Acosta
250baa2524 Merge pull request #1811 from kinvolk/alessandro/fix-scope-stop-osx
Alessandro/fix scope stop osx
2016-08-17 13:14:43 +01:00
Alessandro Puccetti
5b67adc137 scope: fix stop command for OSX
Before this patch, `scope stop` was not stopping scope-app
2016-08-17 14:09:58 +02:00
Matthias Radestock
bdd97c7591 Merge pull request #1807 from weaveworks/1806-restore-probe-compatibility
restore compatibility of old probes with new m/t app

Fixes #1806.
2016-08-17 12:09:33 +01:00
Matthias Radestock
6ba812e82f restore compatibility of old probes with new m/t app
This got broken in #1682
2016-08-16 23:53:07 +01:00
Mike Lang
21cfc83a56 Use image-tag from build-tools (#1785)
* Squashed 'tools/' changes from e9e7e6b..db5efc0

db5efc0 Merge pull request #28 from weaveworks/mike/add-image-tag
5312c40 Import image-tag script into build tools so it can be shared
7e850f8 Fix logs path
dda9785 Update deploy api
f2f4e5b Fix the wcloud client
3925eb6 Merge pull request #27 from weaveworks/wcloud-events
77355b9 Lint
d9a1c6c Add wcloud events, update flags and error nicely when there is no config

git-subtree-dir: tools
git-subtree-split: db5efc0537

* Remove ./image-tag and use ./tools/image-tag instead

image-tag is now shared code from the build-tools repo
2016-08-16 15:52:12 +01:00
Alfonso Acosta
b3b160ceb0 Merge pull request #1791 from weaveworks/release-0.17
Release 0.17.0
2016-08-16 15:04:29 +01:00
Alfonso Acosta
fc4bdf0a14 Merge pull request #1798 from weaveworks/1683-start-stats-idempotent
Make stats gathering idempotent
v0.17.0
2016-08-16 14:16:22 +01:00
Alfonso Acosta
8b97f12ab1 Make stats gathering idempotent 2016-08-16 12:50:22 +00:00
Paul Bellamy
6e2fe78cab Merge pull request #1682 from kinvolk/krnowak/plugin-controls
RFC: forwarding control requests to plugins
2016-08-16 13:44:42 +01:00
Matthias Radestock
33d5d3768a Merge pull request #1796 from weaveworks/fix-report-store-chaining
fix report store query chaining

Fixes weaveworks/service#769
2016-08-16 08:30:27 +01:00
Matthias Radestock
e6a474ead7 fix report store query chaining
We fell victim to variable shadowing here. Each store would be fed the
original list of report keys, instead of only the ones that weren't
found in the previous store. So if a single report was missing from the
in-process cache, we would then fetch all reports from memcache. And if
that in turn was missing a single report we would fetch all reports from
S3.

We chain report stores for a reason - to reduce latency and, in case of
the in-process cache, eliminate decoding costs. So this bug has a huge
impact on query service performance.

To make matters worse, we return *all* the reports - now possibly in
triplicate. Fortunately, the SmartMerger filters these out, so at least
we were not incurring extra merge costs.
2016-08-16 00:55:39 +01:00
Matthias Radestock
ed5463facd Merge pull request #1792 from weaveworks/more-accurate-memcache-hit-ratio
allow more accurate reporting of memcache hit ratio
2016-08-15 16:51:35 +01:00
Matthias Radestock
d6e5f0a154 allow more accurate reporting of memcache hit ratio
A lot of time could pass between recording the request count and hit
count pertaining to a particular report fetching batch, which skewed
calculations cache hit ratios.

Fix that by defering the request count recording to the end, which is
when we record the hit count.
2016-08-15 16:25:12 +01:00
Alfonso Acosta
a4d5eb3d54 Review feedback 2016-08-15 15:20:35 +00:00
Alfonso Acosta
8c0c7d3fe9 Fix spelling mistake 2016-08-15 14:42:59 +00:00
Alfonso Acosta
554bc7ecd2 Release 0.17.0 2016-08-15 14:23:29 +00:00
Matthias Radestock
1a1021caae Merge pull request #1788 from weaveworks/fix-memcache-client-miss-and-leak-on-corrupt
fix MemcacheClient.FetchReports miss & leak on corrupt report
2016-08-15 11:33:25 +01:00
Jonathan Lange
14d0e4edfe Merge pull request #1787 from weaveworks/1767-docker-client-leak
Bump github.com/fsouza/go-dockerclient
2016-08-15 11:02:35 +01:00
Matthias Radestock
9cf178f130 fix MemcacheClient.FetchReports miss & leak on corrupt report
Problem: Decoding a corrupt report grows the 'missing' list. Since we
are waiting for 'len(keys)-len(missing)' decoder go-routines, this
results in waiting for fewer go-routines than we should. The surplus
go-routines leak and we ignore their reports. And since the keys of the
ignored reports are not included in 'missing', we won't attempt to fetch
them from S3 either. Oops.

Fix: calculate the number of go-routines once, at the beginning.
2016-08-15 10:44:29 +01: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
Simon
6f9912501d Merge pull request #1784 from weaveworks/1745-right-align-column-numbers
Right align numbers, left align strings.
2016-08-15 09:43:31 +02:00
Krzesimir Nowak
0ecb908c22 Ensure backward compatilibity in report's node controls
The new probe will convert all node's LatestControls to Controls, so
the old app can consume them. Also, the new app will convert all
node's Controls to LatestControl, so it can consume the reports from
old probes.
2016-08-12 17:15:43 +02:00
Krzesimir Nowak
2a0972653c Rewrite plugin readme
Give a bit more information about how to write a plugin.
2016-08-12 17:15:43 +02:00
Krzesimir Nowak
9e092f1a4a Switch to LatestMap-style node controls
This allows plugins to add controls to nodes that already have some
controls set by other plugin. Previously only the last plugin that
sets the controls in the node would have its controls visible. That
was because of NodeControls' Merge function that actually weren't
merging data from two inputs, but rather returning data that was newer
and discarding the older one.
2016-08-12 17:15:43 +02:00
Krzesimir Nowak
5fdb8a5362 Add a concrete version of LatestMap for node controls
This LatestMap will hold a struct that has more information about the
state of the node control.
2016-08-12 17:03:42 +02:00
Krzesimir Nowak
7f46b90e27 Make LatestMap "generic"
This commit makes the LatestMap type a sort of a base class, that
should not be used directly. This also adds a generator for LatestMap
"concrete" types with a specific data type in the LatestEntry.
2016-08-12 17:03:42 +02:00
Krzesimir Nowak
0116b963e3 Extend the node control rewriting test
Just to make sure that all the node controls are rewritten, even those
that don't have a counterpart in topology controls.
2016-08-12 17:03:42 +02:00
Krzesimir Nowak
1f5dbb776f Add shortcut reports for plugins.
Plugins are queried for reports two times in a second. That's often
enough to get the shortcut reports. The reports are sent together with
the response.
2016-08-12 17:03:42 +02:00
Krzesimir Nowak
cecf70ecd5 Marshal structs in the plugins registry tests
This is better than writing JSON strings by hand, which is
error-prone.
2016-08-12 17:03:42 +02:00
Krzesimir Nowak
f17a995892 Marshal structs in the iowait example plugin
This is better than writing JSON strings by hand, which is
error-prone.
2016-08-12 17:03:42 +02:00
Krzesimir Nowak
69368af796 Make the iowait example plugin a controller too
It exposes a button that allows switching between showing an iowait
statistics and an idle statistics. When the button is pressed it
should be replaced with other button. The button is shown in the host
node.

This is a rather nasty case as it shows several problems:

- Button control races
  - The way the NodeControl currently works creates races between
    plugins adding buttons to the same node. This is because
    NodeControls are not really merged, but rather one of the two are
    chosen based on a NodeControls' timestamps, so the older one is
    thrown away entirely. In the end GUI can switch randomly between
    showing controls from one plugin or from another.

- Showing outdated statistics
  - When pressing the button to switch to show the other statistics,
    the old ones are still shown for several seconds.

- Slowness of the updates in GUI
  - Pressing the button yields no immediate reaction. Changes happen
    after several seconds. Probably related to the previous point.
2016-08-12 17:03:42 +02:00
Krzesimir Nowak
27e0550bd5 Run docker with sudo if necessary in iowait makefile
The solution is taken from the toplevel Makefile.
2016-08-12 17:03:42 +02:00