234 Commits

Author SHA1 Message Date
Bryan Boreham
bcdf2caa61 Make lint happy
Mostly new-style Go build directives

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2022-03-14 18:52:10 +00:00
Bryan Boreham
103ea2095f Fix lint warnings in Go code
All cosmetic.
2020-12-30 18:30:34 +00:00
Bryan Boreham
18acfcefe1 Run go fmt on various files
Seems that go fmt has changed behaviour since these files were last
checked in.  Changes are all cosmetic.
2020-12-30 18:30:34 +00:00
Bryan Boreham
323aa46d1c fix (pipes): check websocket errors inside CopyToWebsocket()
Previously we were treating EOF on the reader as no-error, meaning
that operations like Kubernetes Describe would retry endlessly when
finished.
2020-05-06 10:04:40 +00:00
Bryan Boreham
1dcdfab05a fixup: from review feedback
Fix a logic error in ECS scale-down button, bad copy/paste in
ActiveControls() and neaten the switch cases in container controls.

Co-Authored-By: Filip Barl <filip@weave.works>
2020-01-13 14:48:38 +00:00
Bryan Boreham
85d2f6309c performance: Send active controls as a single string per node
Instead of a whole extra data structure which is quite expensive to
marshal and unmarshal, just send the information in a string.  No
clever merging strategy is required - the states are all set in one
place per node type.
2019-11-26 11:29:42 +00:00
Bryan Boreham
cbbb2ff24c performance: in Docker reporter, reduce IP type conversions.
The code was converting IP addresses to strings and back again.
2019-09-25 20:15:34 +00:00
Akash Srivastava
4b6b12d2c8 Merge pull request #3688 from weaveworks/fix-testregdelete-flake
fix(test-flake): poll for result in TestRegistryDelete() to avoid race
2019-09-19 16:39:50 +05:30
Bryan Boreham
49dfd98c94 fix(test-flake): poll for result in TestRegistryDelete() to avoid race
Remove the `runtime.GoSched()` that doesn't guarantee anything.
2019-09-18 21:32:44 +00:00
Akash Srivastava
0203757cf5 Merge pull request #3675 from weaveworks/reduce-probe-dependency
Stop render package depending on probe
2019-09-16 12:56:56 +05:30
Bryan Boreham
871751873b Stop render package depending on probe
This dependency makes it harder to see the structure of the program,
and sometimes complicates compilation.

Mostly just changing the source of strings that are already exported
from the report package.  A few new strings have to be moved there,
plus the function `IsPauseImageName()`.
2019-09-15 17:03:04 +00:00
Bryan Boreham
48aad1a20d Remove unused string constants 2019-09-13 11:42:21 +00:00
Bryan Boreham
15467d7310 Move host-related names out of probe code
Reduce the dependency on low-level libraries
2019-09-13 11:41:09 +00:00
Bryan Boreham
380dd8357f fix(probe): Use a buffered chan to reduce the chance of losing events
Event notifications from Docker will be dropped if not collected
quickly enough; using a buffered chan reduces the chance of this
happening.
2019-06-05 10:36:38 +00:00
Bryan Boreham
7a93c73343 Always delete container info when we get a 'destroy' event
Previously it would only delete if Docker said the container didn't
exist, which is a race between Docker sending the event and Docker
removing the info from its own records.

Extract a couple of functions to make the action clearer.
2019-05-24 16:31:42 +00:00
Filip Barl
97fdcdc525 Option to censor raw reports by command line args and env vars. 2019-02-15 17:31:08 +01:00
Bryan Boreham
fb9c9e0140 Subtract page cache from container memory usage
So that Scope numbers match Docker numbers.
2018-11-21 16:07:57 +00:00
Simon Howe
d3a36cf873 Load up fa5 instead of 4
- Switch to fa5 icons and tweak font-sizes a bit
2018-11-13 12:51:31 +01:00
Simon
e78f8a8de4 Revert "Upgrade to Font Awesome 5" 2018-11-12 11:22:19 +01:00
Simon Howe
2cc58f5b00 Switch to fa5 icons and tweak font-sizes a bit 2018-11-09 14:59:53 +01:00
Bryan Boreham
65bdb145f9 Merge pull request #3334 from weaveworks/registry-test-sleep
Sleep to stop TestRegistryDelete() failing
2018-09-01 13:47:30 +01:00
Bryan Boreham
ef832eb128 Simplify fetch of all IP addresses
Code was unnecessarily fetching all links then fetching all addresses
filtered by link, when we can just get the addresses without any
filter.
2018-08-27 17:10:43 +00:00
Bryan Boreham
ec71876879 Sleep to stop TestRegistryDelete() failing 2018-08-26 21:33:26 +00:00
Bryan Boreham
53c406f7e0 Check container is running before trying to open its namespace
Otherwise we get pointless errors.
2018-07-23 21:37:22 +00:00
Marc Carré
d46c2266ce Change Sirupsen/logrus to sirupsen/logrus
```
$ git grep -l Sirupsen | grep -v vendor | xargs sed -i '' 's:github.com/Sirupsen/logrus:github.com/sirupsen/logrus:g'
$ gofmt -s -w app
$ gofmt -s -w common
$ gofmt -s -w probe
$ gofmt -s -w prog
$ gofmt -s -w tools
```
2018-07-23 20:10:14 +02:00
Bryan Boreham
5edc85822b AddParent() function to optimise the case where there is only one parent
Avoids creating and discarding a StringSet just to carry the
parameters, and makes the code more readable too.
2018-07-17 13:51:46 +00:00
Bryan Boreham
20ce708db9 Don't bother deduplicating IPs; they end up in a set 2018-06-04 16:41:24 +00:00
Bryan Boreham
c6c51f36f7 Limit network namespace code to compile on Linux only 2018-06-04 10:54:02 +00:00
Bryan Boreham
ff5b2affe0 probe: fetch container IP addresses from inside its namespace
So that we can pick up addresses added via CNI or other mechanisms
that Docker is not aware of.
2018-06-02 21:49:30 +00:00
Roland Schilter
f012c23ca1 Sentence cased text everywhere (#3166)
* Sentence cased text everywhere

Follows Weave Cloud's direction of sentence case on most things.

* More space between sorter caret and label

* Use full topology name for table header
2018-05-17 17:30:38 -07:00
Filip Barl
bfb20a8f40 Addressed @LiliC's feedback. 2018-05-17 11:43:54 +02:00
Filip Barl
183aaea950 Fixed the tests. 2018-05-17 11:09:31 +02:00
Filip Barl
4382deb39b Show image tag separate from image name in Node Details. 2018-05-17 11:09:31 +02:00
Matthias Radestock
805572d70e refactor: inline single-use constant 2018-04-02 13:50:22 +01:00
Matthias Radestock
e852b18e42 refactor: remove unused constant 2018-04-02 13:48:29 +01:00
Matthias Radestock
076acdb319 send shortcut reports on all container state changes
This got broken in cec750049f.
2018-03-25 09:08:45 +01:00
Matthias Radestock
adc46e84e8 Merge pull request #3094 from weaveworks/remove-getchildren
Remove unused process tree function GetChildren()
2018-02-26 13:43:29 +00:00
Bryan Boreham
262cea2797 More efficient docker Tagger
Augment existing node rather than creating a new one then merging it,
and avoid creating a set with one entry.
2018-02-26 12:43:00 +00:00
Bryan Boreham
c06429b92a Remove unused process tree function GetChildren() 2018-02-26 08:54:31 +00:00
Bryan Boreham
3941424794 Don't add null entries to container nodes for networks
or the "none" network, which is a special case meaning none.
2018-02-23 18:09:18 +00:00
Matthias Radestock
5b30b668ae refactor: don't return receiver in Topology.AddNode()
This had little use and was obscuring the mutating nature of
AddNode().
2018-02-19 05:10:04 +00:00
Matthias Radestock
1f2247a8c4 move node metadata keys into report package
Both the probe and the app (for rendering) need to know about them.
2017-12-11 20:26:08 +00:00
Filip Barl
f5bfa506d6 Verified the TODO comments and make durations be in seconds. 2017-11-03 10:43:41 +01:00
Filip Barl
320b9e240f Abstracted the report data types. 2017-11-03 10:43:41 +01:00
Filip Barl
6c0194b832 Show uptime durations in a more human format. 2017-11-03 10:43:41 +01:00
Damien Lespiau
5990ad4947 docker: Close pipe when the docker API call fails
This hasn't been found in the wild but by code inspection. If we fail the
docker API call, the pipe is never closed. Close it before returning.
2017-10-16 23:30:46 +01:00
Matthias Radestock
8935d434c5 run a normal (rather than login) shell in containers
That way PATH is preserved.

Fixes #2550.
2017-08-01 08:53:56 +01:00
Matthias Radestock
430e74a80a refactor: remove report latest map Delete()
It wasn't used, and is problematic in any case since it introduces
non-monotonicity.
2017-07-03 02:06:21 +01:00
Matthias Radestock
9dc50b5202 refactor: hide "empty set" constants
They are an implementation detail.
2017-07-03 01:26:22 +01:00
Roland Schilter
651e52b5a5 Honor DOCKER_* env variables in probe and app
Changed default for flag `-app.docker` to use the DOCKER_* env variables
instead of hardcoded /var/run/docker.sock; uses docker's default if
no DOCKER_HOST defined, for both probe and app.

Fixes #1975
2017-06-27 17:14:49 +02:00