Commit Graph

118 Commits

Author SHA1 Message Date
Tom Wilkie
b130f1ba13 Allow users to specify conntrack buffer size. (#1896)
* Allow users to specify conntrack buffer size.

* Fix tests.

* Use a config struct.
2016-09-26 12:08:38 -07:00
Alfonso Acosta
c5ac315b38 Review feedback 2016-09-20 16:50:29 +00:00
Alfonso Acosta
0223b0b385 Implement DNS snooper 2016-09-19 14:38:59 +00:00
Mike Lang
5a4ee00b58 app: Add graceful shutdown for http server
This will let it finish up existing connections before exiting,
which makes things like rolling restarts behave much better.
2016-09-08 15:43:54 -07:00
Alfonso Acosta
a904620908 Improve conntrack kernel-support detection for in-kernel compilations 2016-08-26 14:03:29 +00: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
c10c58459b Fix spelling mistakes 2016-08-18 17:48:45 +00:00
Alfonso Acosta
f8a67a41f7 Elide sensitive kubernetes flags from the logs 2016-08-18 15:33:07 +00:00
Alfonso Acosta
7435b4542c Fix typo 2016-08-18 11:11:30 +00:00
Alfonso Acosta
1bdff95f33 Extend kubernetes client flags to match kubectl 2016-08-17 15:16:58 +00: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
0e06423a37 Forward control requests to plugins
Thanks to that, plugins can react to requests from controls they
exposed.

To make it work, plugins registry modifies each plugin's report by
prepending the plugin ID to the control name the plugin has exposed
before sending it to the app. Then the registry installs the control
request handler for this faked control name, which forwards the
request to the correct plugin.

This adds a new API endpoint to plugins next to "/report" - a
"/control" entry. The body of the request is the JSON-encoded
xfer.Request instance.
2016-08-12 17:03:42 +02:00
Krzesimir Nowak
41193b428e Make control handlers registry an object and extend its functionality
It is not a singleton anymore. Instead it is an object with a registry
backend. The default registry backend is provided, which is equivalent
to what used to be before. Custom backend can be provided for testing
purposes.

The registry also supports batch operations to remove and add handlers
as an atomic step.
2016-08-12 17:03:42 +02:00
Alfonso Acosta
0c3235ae3d Review feedback 2016-08-11 15:41:07 +00:00
Alfonso Acosta
276ffa338e Elide service-token when logging commandline arguments 2016-08-11 15:07:08 +00:00
Tom Wilkie
1d3ad9e12b Also serve UI under /ui (#1752) 2016-08-04 15:35:46 +01:00
Jonathan Lange
34beefa377 Merge pull request #1684 from weaveworks/decompress-memcache-1671
Add options for storing memcached reports with different compression levels
2016-07-15 14:03:38 +01:00
Jonathan Lange
60e14c1dc2 Plumb through an option for compression 2016-07-15 11:24:36 +01:00
Jonathan Lange
1ddc91f0ea Add flag for block profiling
Fixes #1672

Test by adding `--app.block.profile.rate=1`, running scope in
multi-tenant mode and browsing to http://<scope-url>/debug/pprof/
2016-07-14 14:45:50 +01:00
Tom Wilkie
3173f6ad75 Use histograms over summaries 2016-07-12 11:15:57 +01:00
Paul Bellamy
bcddfd82c3 Added file collector, to serve a static report from file 2016-07-11 11:50:27 +01:00
Alfonso Acosta
6d527821e7 Merge pull request #1627 from weaveworks/1605-read-only
Allow disabling controls in probes
2016-07-07 13:37:04 +01:00
Alfonso Acosta
5bb6185515 Clarify no-controls flag 2016-07-07 12:36:33 +00:00
Jonathan Lange
45d0e5441a Change default timeout for things in the memcache 2016-07-04 16:04:04 +01:00
Jonathan Lange
848574eced Make expiration a flag 2016-07-04 14:20:14 +01:00
Jonathan Lange
7dd2c6371e Parametrize window rather than assuming default 2016-07-04 13:50:54 +01:00
Jonathan Lange
c1dab17fb3 Make expiration a Duration 2016-07-04 13:30:23 +01:00
Jonathan Lange
f7bdedc149 Config struct for memcache client 2016-07-04 13:25:45 +01:00
Jonathan Lange
96520d7a46 Fixes to memcache support (#1628)
* Fix errors discovered in dev

* Log an error rather than aborting when memcache doesn't resolve
* Initialize map correctly

* Review tweaks
2016-07-04 11:00:11 +01: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
Jonathan Lange
9e0f0c51b9 Configuration type for AWS collector 2016-06-30 17:01:58 +01:00
Jonathan Lange
baacaa8cc5 Rename dynamoCollector to awsCollector 2016-06-30 16:44:43 +01:00
Jonathan Lange
6520f8f5f3 Pass in memcache client 2016-06-30 09:59:55 +01:00
Jonathan Lange
abec257c59 Just pass in the s3 client 2016-06-30 09:57:49 +01: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
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
Tom Wilkie
1b32cc94c7 Clarify instructions for using Scope with Weave Cloud (#1611)
* Clarify instructions for using Scope with Weave Cloud

* Some more references to scope.w.w

* a few tweaks to tenses and punctuation
2016-06-27 10:15:03 +01:00
Tom Wilkie
8e1a6b3667 Add dry run flag to scope, so when launched we can check the args are valid. (#1609)
* Add dry run flag to scope, so when launched we can check the args are valid.

* Try and parse listen address and error early.

* Specify that -dry-run is for internal use only.
2016-06-27 10:13:55 +01: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
4dfd096ca7 Fix handling of implicit probe targets
Also, clean up entrypoint script.
2016-06-15 11:12:50 +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
982189161b If we don't get a path name from the router, make one up from the url. (#1570)
* If we don't get a path name from the router, make one up from the url.

* Think about route naming a little more and add a comment to show it.
2016-06-09 12:48:22 +01:00
Alfonso Acosta
a6f8b0a0c6 Add probe version header to probe requests 2016-06-08 13:49:21 +00:00
Tom Wilkie
12f281654d Put reports in S3; add in process caching (#1545)
* Add in-process caching to dynamodb collector

* Add metrics for dynamodb consumed capacity and report size

* Log and return errors during report collection

* Increase compression to the max

* Put reports in S3 and just use DynamoDB as an index.

* Review feedback
2016-05-31 15:40:15 +01:00
Tom Wilkie
c8828826ae Allow user to specify table name and queue prefix. (#1538)
* Allow user to specify table name and queue prefix.

* Trim leading slash, catch missed queue prefix

* Comment out publish step until devwww is fixed.
2016-05-25 10:09:32 +01:00
Tom Wilkie
3335361ae9 Include label in prom metric to distinguish ws connection latencies. 2016-05-23 15:02:41 +01:00
Tom Wilkie
8f772a696d Add flag to disable reporting of processes (and procspied endpoints) 2016-05-17 17:29:09 +01:00
Alfonso Acosta
1e63d7a23d Add local networks for each k8s service (#1490) 2016-05-12 17:05:22 +01:00
Tom Wilkie
f346ec535c Don't require the user to specify localhost when manually listing hosts 2016-05-12 11:51:47 +01:00