Commit Graph

54 Commits

Author SHA1 Message Date
Tom Wilkie
a171dd2a05 Don't add plugin registry if creating it fails 2016-04-13 10:42:45 +01:00
Paul Bellamy
f211d48cda Merge pull request #1126 from weaveworks/plugins
Plugins
2016-04-12 18:03:26 +01:00
Paul Bellamy
fcfd42e5d5 Review feedback - adding plugin status field 2016-04-12 17:22:38 +01:00
Paul Bellamy
7632e0b3c5 Adding support for plugins, with basic example of iowait, and ebpf
Squash of:
* Include plugins in the report
* show plugin list in the UI
* moving metric and metadata templates into the probe reports
* update js for prime -> priority
* added retry to plugin handshake
* added iowait plugin
* review feedback
* plugin documentation
2016-04-12 17:22:14 +01:00
Tom Wilkie
281ba58845 Add /api/probes endpoint 2016-04-12 17:17:18 +01:00
Tom Wilkie
da53aac25d Tests & vartious fixes for consul pipe router.
Fix a few bugs in the consul pipe router:
- Don't share a pointer
- Write nil to pipe when closing a bridge connection to ensure the connection shutdown.
- Ensure we shutdown bridge connections correctly
2016-04-12 14:28:10 +01:00
Tom Wilkie
734a01d603 Review feedback, lint & fix tests. 2016-04-06 15:59:02 +01:00
Tom Wilkie
727553962b Insturment the app with prometheus. 2016-04-06 14:58:28 +01:00
Tom Wilkie
5d7604cc21 Print command line when launching the app. 2016-04-06 14:58:23 +01:00
Tom Wilkie
fd368e5e5f Unhack dealing with slashed in node names. 2016-04-06 14:47:14 +01:00
Tom Wilkie
a8f0d64b3c Add middleware for logging each request to the app. 2016-04-06 14:47:08 +01:00
Alfonso Acosta
59af5d28ad Review feedback: merge host controls with reporter 2016-03-29 17:14:15 +00:00
Alfonso Acosta
c1c40ad20d Add host-level terminals 2016-03-29 16:05:04 +00:00
Tom Wilkie
9610e95ed9 Break out factories for app backends, and encode everything in urls. 2016-03-23 15:41:37 +00:00
Tom Wilkie
ac638d17dd Review feedback 2016-03-23 15:41:37 +00:00
Tom Wilkie
9885706402 Multi-tenant backends for app.
Add DynamoDB based collector
    - Store compressed reports in dynamodb

    Add SQS based control router.
    - Uses a queue per probe and a queue per UI for control requests & responses.

    Add Consul-based, horizontally-scalable, multi-tenant pipe router.
    - Uses consul to coordinate each end of pipe connections replicas of a pipe service.
2016-03-23 15:41:37 +00:00
Tom Wilkie
70b0433566 Merge pull request #1157 from weaveworks/demo
Update demo for tracer
2016-03-14 11:19:07 +00:00
Tom Wilkie
5886dae974 Don't read from app.Version before we initialise it, otherwise we report 'dev' back to the checkpoint service. 2016-03-12 11:01:52 +00:00
Tom Wilkie
bd760f6e76 Update demo for tracer 2016-03-10 13:25:19 +00:00
Tom Wilkie
2e604657a5 Merge pull request #1101 from weaveworks/release-0.13.0
Release 0.13.1
2016-03-04 11:04:50 +00:00
Tom Wilkie
0c2617debf Check error in checkpoint callback. 2016-03-04 10:01:11 +00:00
Tom Wilkie
213094f9ff Rename weave.router.addr to weave.addr in the probe for consistency with the app 2016-02-29 17:58:38 +00:00
David
bf3a866f77 Merge pull request #1052 from weaveworks/checkpoint
Update go-checkpoint library and add link to README.
2016-02-29 12:53:51 +01:00
Tom Wilkie
425013bdd9 Update go-checkpoint library and add link to README. 2016-02-29 11:15:14 +00:00
Alfonso Acosta
b33c516758 Review feedback+test 2016-02-26 12:58:07 +00:00
Alfonso Acosta
a559a23dba Distinguish between reporting probes and controlling probes 2016-02-26 01:46:18 +00:00
Tom Wilkie
5f7f74bf1b Refactor app for multitenancy
- Add interfaces to allow for alternative implementations for Collector, ControlRouter
  and PipeRouter.
- Pass contexts on http handlers to these interfaces.  Although not used by the current
  (local, in-memory) implementations, the idea is this will be used to pass headers to
  implementations which support multitenancy (by, for instance, putting an authenticating
  reverse proxy in form of the app, and then inspecting the headers of the request for
  a used id).
2016-02-22 14:54:04 +00:00
Tom Wilkie
d4e58b9e33 Decouple Scope lifecycle from Weave lifecycle
- Run the Weave integrations regardless of if weave is detected.
- Make everything backoff and not spam the logs.
- Add miekg dns to vendor.
- Have the app periodically register with weaveDNS, and the probe do lookups there.
- Decide what the local networks are at runtime, not once at startup.
- Correctly resolve app ids, fixes #825
2016-02-09 14:24:57 +00:00
Alfonso Acosta
8c3c8994b1 Use levelled logging 2016-02-08 13:42:54 +00:00
Alfonso Acosta
6240187333 Fix tests 2016-02-08 13:42:54 +00:00
Alfonso Acosta
3d94082b07 Add debug logging 2016-02-05 16:58:40 +00:00
Tom Wilkie
34ca87c98e Review feedback. 2016-02-04 15:48:17 +00:00
Tom Wilkie
2e9aa9314d Periodically check for newer versions of scope. 2016-02-04 15:22:01 +00:00
Tom Wilkie
123c40028f Less hacky fix for /%2F bug 2016-01-14 07:10:31 -08:00
Alfonso Acosta
e0e7644acd k8s: Use service account token when no api server url is provided 2016-01-12 15:31:19 +00:00
Tom Wilkie
ffa955a21b Split and move xfer package. 2016-01-06 14:01:39 +00:00
Tom Wilkie
caff695f96 Gather per-process CPU and memory metrics. 2015-12-16 14:38:21 +00:00
Tom Wilkie
667dd0f1de Rationalise version handling 2015-12-11 12:23:01 +00:00
Tom Wilkie
d8c759c455 Merge pull request #650 from weaveworks/365-pipes
Pipes
2015-12-11 12:01:36 +00:00
Tom Wilkie
6259307491 Don't use a global variable to store the pipe client. 2015-12-10 15:44:25 +00:00
Tom Wilkie
e15fe2b747 Use caching proc walker in procspy. 2015-12-10 14:00:42 +00:00
Tom Wilkie
ac9c011475 Pipe plumbing
- Add store of pipes in the app
- Add pipe type, handling impedance mismatch, used in app and probe.
- App <-> Probe pipes have their own websockets.
- Add pipe websocket endpoint in app.
- Pipe IDs are strings, lose the request/response IDs, and give the json encoder lowercase field names.
- Add simple golang ws client, for testing.
- Pipe lifecycle plumbing.
- Ref count and timeout both ends of pipes in the app
- Deal with POST /api/pipe/:pid?_method=delete
- Add end-to-end unit test for pipes.
- Add test for timing out pipes.
- Update go-docker client to tomwilkie/go-dockerclient
- Backend work for non-raw ttys
- Close pipes when they close themselves in the probe
- Ensure all http connections are done before returning from client.Stop()
2015-12-10 12:51:17 +00:00
Tom Wilkie
949ae6f807 Review feedback 2015-12-09 12:45:13 +00:00
Tom Wilkie
c749f5aa33 Merge probe and app binaries, run with ./scope probe or ./scope app. 2015-12-09 11:00:42 +00:00
Tom Wilkie
c317cff86e App: Rename package main->app, put main.go in prog/app 2015-12-07 14:53:28 +00:00
Tom Wilkie
b85746704b Merge pull request #726 from weaveworks/630-merge-appclient
Merge http publisher and app client.
2015-12-07 11:38:11 +00:00
Tom Wilkie
f1d225c836 Add hostname to /api 2015-12-04 15:33:12 +01:00
Tom Wilkie
4f4d986571 Merge http publish and app client. 2015-12-04 12:17:21 +00:00
Tom Wilkie
99d72cbc2b Use common.SignalHandlerLoop from weave, and document debug options. 2015-12-04 10:01:00 +00:00
Tom Wilkie
3e1be5cbfe Move calls to weave ps to a background goroutine. 2015-11-12 17:02:28 +00:00