Commit Graph

450 Commits

Author SHA1 Message Date
Krzesimir Nowak
993eebeea9 Remove impossible case of an empty plugin ID
Plugin ID must be non-empty when the plugin is created and the
followup reports cannot change it.
2016-08-12 17:03:42 +02:00
Krzesimir Nowak
9d48fdc32c Restrict the set of allowed characters in plugin IDs
We will want to put plugin id in a control id, which is sent to an app
and then to GUI. When we get a control request from GUI, we will want
to extract the plugin ID from the control name. To do it unambiguously
we need some separator made of chars that are not allowed in a plugin
name. This is to avoid the situation when there are two plugins:
"Plugin" and "PluginFoo". "Plugin" exposes a control named
"FooControl" and "PluginFoo" exposes a control named "Control". Faking
the control names which will be sent to the app would result in two
"PluginFooControl".

One possible option for plugin ID and control name separator would be
"/", but that won't work, since the request sent from GUI to the app
to <probe>/<node>/<control> would actually be
<probe>/<node>/<plugin>/<control> and as such wouldn't match the URL
template in RegisterControlRoutes().
2016-08-12 17:03:42 +02:00
Krzesimir Nowak
ccd26fe69d Ban the possibility of changing plugin's ID
Changing plugin's ID only complicates control handling in plugins so
let's ban it.
2016-08-12 17:03:42 +02:00
Matthias Radestock
6334836f69 Merge pull request #1768 from weaveworks/1202-silence-abnormal-close
silence abnormal websocket close

Fixes #1202.
2016-08-12 13:53:51 +01:00
Matthias Radestock
21c188d600 Merge pull request #1739 from weaveworks/1730-no-node-copy
Remove and optimize more Copy()s
2016-08-12 12:30:54 +01:00
Alfonso Acosta
cfb686b546 Merge pull request #1774 from weaveworks/1759-remove-k8s-id-col
Remove kubernetes_id column from the grid view.
2016-08-11 17:43:21 +01:00
Alfonso Acosta
166bdf13f3 Remove redundant kubernetes ID 2016-08-10 16:01:28 +00:00
Alfonso Acosta
9320b10a2e Merge pull request #1780 from weaveworks/1733-scope-loopback-connections
Handle loopback addresses correctly when tracking connections
2016-08-10 14:52:44 +01:00
Alfonso Acosta
3892273096 Append namespace to endpoint scope for loopback connections 2016-08-10 10:43:04 +00:00
Alfonso Acosta
b64686ffc3 Identify kubernetes pause containers more broadly 2016-08-08 14:16:07 +00:00
Matthias Radestock
7480654aaf don't complain about closed websockets in pipe connections 2016-08-06 00:06:34 +01:00
Matthias Radestock
4d746a6cf4 log container id in attach/exec errors 2016-08-05 19:23:54 +01:00
Matthias Radestock
3af45583e5 don't log attach/exec close
since we don't log the start either
2016-08-05 19:19:09 +01:00
Matthias Radestock
1091225bf6 get rid of Node.Copy()
A shallow copy is sufficient. Which we get for free in most cases
since Node is passed around by value.
2016-08-02 12:42:39 +00:00
Alfonso Acosta
8a950a59d6 Remove Metric Add() method
* Helps reduce garbage (MakeMetric() now takes a slice and there's a shorter version MakeSingletonMetric())
* Fixes bug computing Max (Min) in samples since using MakeMetric()
  was causing a default Max/Min of zero.
* Simplifies code a bit
2016-08-01 16:58:11 +00:00
Alfonso Acosta
3e000662f4 Restore custom encoders/decoders for backwards compatibility 2016-08-01 11:07:03 +00:00
Alfonso Acosta
b8bf60c6f1 Use slices instead of linked lists for Metric
Also:

* Remove Gob encoder/decoder
* Stop using custom encoders/decoders for Timestamps (both ugorji and the Golang JSON codecs use nanosecond precision).
* Use idiomatic way to check for existence in metric.LastSample()
2016-08-01 10:21:57 +00:00
Matthias Radestock
b3874e6e6f show names of stopped containers
This got broken in b78c503

Fixes #1691
2016-07-21 11:01:53 +01:00
Matthias Radestock
34cb6d5a84 reduce container stats log noise
Don't complain about net.errClosing, which we typically get instead of
io.EOF when the container stops.
2016-07-16 20:33:15 +01:00
Matthias Radestock
30a5a9e64b reduce container stats log noise
reduce log level
2016-07-16 20:32:36 +01:00
Matthias Radestock
b38913e5c9 tiny improvement: log container id in stats collection loop 2016-07-16 20:12:19 +01:00
Jonathan Lange
2bfd6d7eb7 Parametrize compression level 2016-07-15 11:24:36 +01:00
Alfonso Acosta
26c6249516 Review comments 2016-07-07 16:18:18 +00:00
Alfonso Acosta
c843d24f6f Do not infer short-lived connections for host-networking containers 2016-07-07 15:44:13 +00:00
Alfonso Acosta
6175880725 Review feedback 2016-07-05 10:47:57 +00:00
Alfonso Acosta
c0a672c02a Review feedback 2016-07-01 16:51:57 +00:00
Alfonso Acosta
6f1e52cd0d Allow disabling controls in probes 2016-07-01 15:06:06 +00:00
Julius Volz
4fa40e22b2 Rework Scope metrics according to Prometheus conventions. (#1615)
* Rework Scope metrics according to Prometheus conventions.

- counters should end with _total
- elaborated and added units to help strings
- recommended for cache hit/miss metrics: track only the total and the
  hits and in separate metrics, since the most common query will be
  "hits / total"
- track all times in seconds (base units), which has become the standard
  recommendation
- other small changes

There could be more changes that would require more thinking (what
dimensions to use, summaries vs. histograms, etc.), but this is probably
enough controversial material already :)

* Use timeRequestStatus() in sqs_control_router.go.
2016-06-30 09:12:25 +01:00
Alfonso Acosta
05e6193e63 Merge pull request #1607 from weaveworks/1577-print-dns-errors
Print DNS errors
2016-06-28 01:58:54 +02:00
Alfonso Acosta
d33358ec63 Review feedback 2016-06-27 16:59:42 +00:00
Tom Wilkie
ab3d34be01 Make it easier to disable weave integrations (#1610)
* Make it easier to disable weave integrations

* Review feedback

* Make test pass
2016-06-27 16:11:57 +01:00
Alfonso Acosta
cab948887d Print DNS errors 2016-06-23 10:44:43 +00:00
Jonathan Lange
13269e8110 Helper for reading & writing from binary 2016-06-17 15:24:33 +01:00
Alfonso Acosta
e1afe22a22 Add all docker subnets to overlay topology 2016-06-15 21:22:29 +00:00
Alfonso Acosta
0587c6a967 Fix master after merging conflicting PRs #1531 and #1584
They both passed tests separately and were no source-line conflicts ... but shit happens.
2016-06-15 20:23:13 +00:00
Alfonso Acosta
5d07b99e69 Merge pull request #1584 from weaveworks/1563-read-docker-networks
Add docker networks to the Overlay Topology
2016-06-15 19:08:30 +01:00
Tom Wilkie
fba555c985 Use image name without version as id. (#1531)
* Use image name without version as id.

* Review feedback
2016-06-15 16:14:51 +01:00
Tom Wilkie
d888509865 Ignore IPv6 addresses in Docker reporter (#1552) 2016-06-15 16:05:12 +01:00
Alfonso Acosta
7fb40c802a Review feedback 2016-06-14 16:53:23 +00:00
Alfonso Acosta
6f0a31d1cd Add docker networks to the Overlay Topology 2016-06-14 14:58:43 +00:00
Alfonso Acosta
e01b88b7d9 Review feedback 2016-06-13 15:54:40 +00:00
Alfonso Acosta
3542c6b2f8 probe: add timeout to publisher and cancel requests on Stop() 2016-06-13 15:18:44 +00:00
Alfonso Acosta
47c5754923 Add test 2016-06-13 11:47:19 +00:00
Alfonso Acosta
0fd2754b58 Gather IPs from all the container networks 2016-06-10 17:45:54 +00:00
Alfonso Acosta
a6f8b0a0c6 Add probe version header to probe requests 2016-06-08 13:49:21 +00:00
Simon Howe
05ce661c19 Gets go-tests passing! 2016-06-06 16:24:18 +02:00
Peter Bourgon
e0fab36351 Re-sync container on network dis/connect 2016-06-06 16:24:03 +02:00
Peter Bourgon
10ced2d09d First cut of network data 2016-06-06 16:24:02 +02:00
Paul Bellamy
85aee27ef6 If k8s objects only have one container, show that container's metrics on them (#1473) 2016-06-04 08:03:51 +01:00
Tom Wilkie
277bd70491 Don't every store NEW conntrack flows (only every store updates). (#1541)
This closes a small window where we might produce reports which contain flows that are NEW but have never seen an UPDATE, which can potentially be invalid.
2016-05-27 11:25:42 +01:00