Commit Graph
165 Commits
Author SHA1 Message Date
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
Alfonso Acosta f34fc2a4df Merge pull request #1410 from weaveworks/1408-dnat-shortlived-connections
Correctly attribute DNAT-ed short-lived connections
2016-05-05 19:37:35 +01:00
Tom Wilkie 9b8f8a6c83 Have probe query kube dns to find the app. 2016-05-05 15:19:44 +01:00
Alfonso Acosta 4140d288a8 Don't scope docker IPs in Kubernetes 2016-05-04 14:50:22 +00:00