225 Commits

Author SHA1 Message Date
Tom Wilkie
550f21511a We need to read /proc/PID/net/tcp6 to see the pids for the server end of local connections. 2015-12-15 13:38:30 +00:00
Paul Bellamy
1b39659d10 Merge pull request #742 from weaveworks/284-profiling
Various CPU usage gains from profiling
2015-12-11 12:05:24 +00:00
Tom Wilkie
d8c759c455 Merge pull request #650 from weaveworks/365-pipes
Pipes
2015-12-11 12:01:36 +00:00
Tom Wilkie
a2862baf33 Don't list fds if there are not connections in the net namespace. 2015-12-11 10:27:27 +00:00
Tom Wilkie
cc90c6c95d Don't read tcp6 file (we don't deal with ipv6 anywhere else). 2015-12-11 10:27:26 +00:00
Tom Wilkie
cde5920f9a Cache the contents of some files in /proc
Also cache contents of /proc/foo/stat, but only for 10s.
2015-12-11 10:27:15 +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
1fcd079563 Use Readdirnames to reduce number of stats we're doing. 2015-12-10 14:43:40 +00:00
Tom Wilkie
cc5935a89d Review feedback 2015-12-10 14:10:36 +00:00
Tom Wilkie
ed6c4088fa Fix up tests. 2015-12-10 14:00:43 +00:00
Tom Wilkie
e15fe2b747 Use caching proc walker in procspy. 2015-12-10 14:00:42 +00:00
Tom Wilkie
3a344f12ea Backend review feedback 2015-12-10 12:53:31 +00:00
Tom Wilkie
b77cd3f300 Add pipe controls for Docker attach & exec. 2015-12-10 12:51:17 +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
5cadafcda4 Extend testing of procspy. 2015-12-09 14:47:00 +00:00
Tom Wilkie
b94751ac10 Move procspy out of vendor into probe/endpoint. 2015-12-09 11:06:04 +00:00
David
72cb96b75a Merge pull request #707 from weaveworks/282-hostname-in-api
Show hostname of app you are connected to
2015-12-04 16:38:34 +01:00
Tom Wilkie
f1d225c836 Add hostname to /api 2015-12-04 15:33:12 +01:00
Tom Wilkie
4a475466f6 Add host memory and CPU usage metrics 2015-12-04 13:57:32 +00:00
Tom Wilkie
ab3927617d Update tests 2015-11-16 10:44:30 +00:00
Tom Wilkie
78c86372c8 Maintain container-by-pid index correctly. 2015-11-16 10:44:30 +00:00
Tom Wilkie
23be0d9aa9 Don't tag processes with stopped container ids. 2015-11-16 10:44:30 +00:00
Tom Wilkie
3e1be5cbfe Move calls to weave ps to a background goroutine. 2015-11-12 17:02:28 +00:00
Tom Wilkie
9142325d54 Instruments probe runtime to find slow reporter. 2015-11-12 17:01:52 +00:00
Paul Bellamy
a074278cca Add metrics for docker container cpu and memory, and host load. 2015-11-11 17:24:19 +00:00
Tom Wilkie
c610bf0ea1 Review feedback. 2015-11-11 11:42:28 +00:00
Tom Wilkie
47ef1e02b3 Shortcut app -> UI ws push for certain reports. 2015-11-10 13:46:57 +00:00
Tom Wilkie
92b24793f1 Push mini-reports when container's state changes. 2015-11-10 13:46:57 +00:00
Paul Bellamy
92ec7d9397 Move probe main.go to prog/probe/, break out a probe struct with appropriate responsibilities.
Also adds test for probe 'engine'
2015-11-09 16:25:28 +00:00
Tom Wilkie
8dbc586866 Merge pull request #628 from weaveworks/latest-map
Add 'latest' CRDT, make UI update quicker.
2015-11-09 16:10:28 +00:00
Alvaro
4f21919858 Merge pull request #639 from weaveworks/scope-504-2
Resolve to a group of names
2015-11-09 15:29:28 +01:00
Alvaro Saurin
bc972a52ab Resolve to a group of names (instead of taking only the first one) 2015-11-09 13:45:02 +01:00
Tom Wilkie
5e2c165fd8 Review feedback 2015-11-09 11:38:15 +00:00
Tom Wilkie
43d0ce986f Add 'latest' CRDT; use it to store container state.
Also use same technique to merge the controls, returning the latest
set of controls instead of the union.
2015-11-06 18:26:38 +00:00
Tom Wilkie
8f957c4f13 Add docker lifecycle controls, containers in states other that running, and a filter for those containers.
Also add integration test for container controls.
2015-11-06 17:39:54 +00:00
Tom Wilkie
76d34330a9 Add Control plumbing. 2015-11-06 17:39:48 +00:00
Tom Wilkie
641c2a1834 Merge remote-tracking branch 'origin/0.9' 2015-10-30 09:49:05 +00:00
Tom Wilkie
c5c115bb0f Make channel so stop doesn't fail; also, test stop. 2015-10-28 15:25:38 +00:00
Tom Wilkie
244e2f4b4a gofmt + build 2015-10-27 14:48:43 +00:00
Tom Wilkie
ec4425fb80 Use Node.Sets for Host Local Networks. 2015-10-27 14:35:07 +00:00
Tom Wilkie
6e9ad995b0 Use Node.Sets for Docker/Weave IPs 2015-10-27 14:12:35 +00:00
Tom Wilkie
6a4c997048 Merge pull request #526 from weaveworks/fix-natmapper-conntracker
Refactor probe/endpoint for export and dependency cleanliness
2015-10-27 14:11:55 +00:00
Tom Wilkie
07af26e05b Review feedback 2015-10-27 11:39:38 +00:00
Paul Bellamy
650f015421 Review feedback 2015-10-27 11:36:14 +00:00
Tom Wilkie
a3c53aadf5 No more nil flow workers 2015-10-27 10:53:23 +00:00
Paul Bellamy
e41352a220 pass the hostname through to xfer.HttpPublisher, so we can verify ssl certs 2015-10-27 10:51:41 +00:00
Peter Bourgon
cb40ad3a90 Continued un-exporting of symbols; renames
- Unexport consts, types, vars, etc.
- Rename Conntracker (interface) to FlowWalker, to match its definition.
- Rename conntracker (type) to conntrackWalker, to match the interface.
- Move conntrack_test.go to conntrack_internal_test.go and package endpoint
2015-10-27 10:40:09 +00:00
Peter Bourgon
6ae5077515 Un-export NATMapper
Lots of TODOs to clean up...
2015-10-27 10:38:22 +00:00
Peter Bourgon
36ce1089f4 Don't export reverseResolver
It's only used within package endpoint, so it shouldn't be exported.
That means resolver_test becomes resolver_internal_test, and with the
previous change to the fixture, we can avoid the dot-import.

Also, update method names to reflect it's an unexported type.
2015-10-27 10:38:19 +00:00
Peter Bourgon
65a7547415 Intermediate stage fix 2015-10-27 10:36:53 +00:00