Commit Graph

89 Commits

Author SHA1 Message Date
Tom Wilkie
e58f0f756f Make temporal join work - now can have traces with more than one child! 2015-12-16 15:21:35 +00:00
Tom Wilkie
baf7aa106c Fix table column width; ntohl port numbers. 2015-12-16 15:21:35 +00:00
Tom Wilkie
dfbd83b658 Expose keys, sort and dedupe traces, and hide show children in ui. 2015-12-16 15:21:35 +00:00
Tom Wilkie
9f49f63fc6 Mime type 2015-12-16 15:21:35 +00:00
David Kaltschmidt
7dff1bd85e Polished UI for tracer
* added logo and favicon
* upgraded Bootstrap to v4
* use FontAwesome as icon font
* applied weave colors
* auto-select first container
* mock backend in server.js to serve *.json files for API requests
2015-12-16 15:21:34 +00:00
Tom Wilkie
3e4b3ad0eb Trace all processes in a container. 2015-12-16 15:21:34 +00:00
Tom Wilkie
38e7c7c560 Show subtraces in the API and UI. 2015-12-16 15:21:34 +00:00
Tom Wilkie
bf85e621a2 Make connection causality detection more reliable. 2015-12-16 15:21:34 +00:00
Tom Wilkie
bdeed7219f Start showing traces in the UI 2015-12-16 15:21:34 +00:00
Tom Wilkie
b6e43c8f3f Wire up recording of traces. 2015-12-16 15:21:34 +00:00
Tom Wilkie
a3a0907ffc It works again! 2015-12-16 15:21:34 +00:00
Tom Wilkie
31cadac623 Make it stop 2015-12-16 15:21:34 +00:00
Tom Wilkie
e09774ba5a Prototype to trace incoming and outgoing connections from containers. 2015-12-16 15:21:34 +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
95e58b32cb Update experimental/ 2015-12-04 13:03:30 +00:00
Tom Wilkie
1ad7b4fce5 Speed up tests on circle.
- Ensure we use up to date build container when running tests.
- Parallelise host setup for integration tests.
- Pass some more circle env vars through to ./tools/tests so the scheduler works.
- Gather coverage from multiple shards.
- Create files as the right owner inside the container.
- Parallelise the circle.yaml
- Parallelise the intergration tests using existing machinery
- Build experimental in parallel.
- Use custom scheduler prefix for integration tests, so schedules don't clash with weave.
2015-11-04 15:35:21 +00:00
Tom Wilkie
1dd4480c31 Update demo script 2015-10-29 15:13:37 +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
Tom Wilkie
35bfa5f751 Okay, that was a bad idea 2015-10-26 16:53:21 +00:00
Tom Wilkie
ba2f3cf7d9 Add experiemental/vendor directory, with gopacket in there. 2015-10-26 16:29:45 +00:00
Tom Wilkie
fb49e146ad Build experimental stuff in a container too 2015-10-26 16:11:16 +00:00
Paul Bellamy
a1466cb3fc Review Feedback 2015-10-20 14:26:27 +01:00
Paul Bellamy
6ad182a144 Merge pull request #441 from weaveworks/kubernetes
Basic Kubernetes Integration
2015-10-06 14:49:55 +01:00
Paul Bellamy
be1d1d52d0 Basic Kubernetes integration
* Added helper for installing scope on gcloud
* Added topologies Pods and Pods-by-Service
* Uses k8s.io/kubernetes/pkg/client/cache for the client
* Filter kube-system nodes by default
* Only show the k8s topologies if we've received a non-empty k8s report
2015-10-06 12:55:51 +01:00
Peter Bourgon
4347da3ec6 Fix for lint 2015-10-02 15:03:13 +02:00
Peter Bourgon
a086bbe846 Re-introduce experimental/graphviz 2015-09-30 17:30:27 +02:00
Peter Bourgon
64fdf6a780 common/sanitize + relevant updates 2015-09-24 16:11:54 +02:00
Peter Bourgon
c607ee00d8 probe/sniff: move to experimental
Resolves #466
2015-09-23 14:38:41 +02:00
Tom Wilkie
bb20a81338 Only serialise and compress reports once per publish. 2015-09-09 15:08:55 +00:00
Tom Wilkie
d411afd916 WithNode is a CPU hog. 2015-09-09 15:01:57 +00:00
Tom Wilkie
6e7a22ecae Update example app to include a loadbalancer. 2015-09-04 13:07:29 +00:00
Tom Wilkie
57f7b4f2e6 Rename NodeMetadata -> Node 2015-09-03 16:18:54 +00:00
Tom Wilkie
144a798602 Review Feedback 2015-09-02 14:32:47 +00:00
Tom Wilkie
afc2788777 Move EdgeMetadata into the NodeMetadata struct. 2015-09-02 14:32:44 +00:00
Tom Wilkie
217775654a Merge pull request #411 from weaveworks/357-adjacencies-to-nodemetadata
Move Adjacency info inside the NodeMetadata struct
2015-09-01 12:18:19 +01:00
Tom Wilkie
c92ee90716 Use alpine:latest instead of gliderlabs/alpine 2015-09-01 11:15:14 +00:00
Tom Wilkie
899e2d7a5c Review feedback 2015-09-01 11:01:25 +00:00
Tom Wilkie
1f6b3d4a45 Move Adjacency info inside the NodeMetadata struct; move pseudo node generation to the probes. 2015-08-28 15:20:27 +00:00
Tom Wilkie
0cb5502c61 Plumb in socket syscall. 2015-08-21 10:46:30 +00:00
Tom Wilkie
27c42b0191 Lookup local addr of fds we detect via ftrace. 2015-08-20 17:11:19 +00:00
Tom Wilkie
66ffc2397b First working ftrace prototype. 2015-08-20 13:18:50 +00:00
Peter Bourgon
43bfecbba4 Add X-Scope-Probe-ID header to POSTs 2015-08-13 13:01:58 +02:00
Peter Bourgon
7d51f173ea Probes POST to apps
- App takes POST report on /api/report
- Probe publishes to configured target(s)
- Name resolution happens on probe-side
- There's no longer an xfer.ProbePort
- xfer.Collector responsibility is reduced
- Fixes to remaining experimental components.
- rm experimental/bridge: it's not being used, and by changing the
  app/probe comm model, it would require a complete refactor anyway. We
  can easily rebuild it when we need to. It will even be much simpler.
- rm experimental/graphviz: it's broken for some time anyway, and we
  don't really need to play around with it as a rendering option
  anymore.
- rm experimental/oneshot: we never use this anymore.
2015-08-07 15:45:15 +02:00
Peter Bourgon
b9afa67ad6 gopacket-based traffic sniffing 2015-08-03 10:55:59 +02:00
Peter Bourgon
3dd59c8b9b Fixes to NodeMetadata
NewNodeMetadata -> MakeNodeMetadata. It doesn't return a pointer, so
Make is more idiomatic.

Invoke MakeNodeMetadata when necessary. The zero value for a
NodeMetadata is no longer valid.

Split MakeNodeMetadata to two constructors. MakeNodeMetadata when you
don't have anything to prepopulate; MakeNodeMetadataWith when you do.

Also, a fix to the tests in app. We unmarshal a RenderableNode struct,
which has a JSON-ignored NodeMetadata field. The zero value is invalid,
so we need to fix that before performing comparisons.
2015-07-30 17:20:44 +02:00
Peter Bourgon
fc308d93b8 Normalize var names; use Addr/Port key constants 2015-07-30 16:36:27 +02:00
Tom Wilkie
05c3b87aba Build scope and weave master for demos. 2015-07-22 12:20:25 +00:00
Tom Wilkie
4305b917a7 Script to spin up a demo scope cluster. 2015-07-20 13:38:47 +00:00
Tom Wilkie
f85195308c report.Metadata -> map[string]string 2015-07-16 12:06:05 +00:00
Tom Wilkie
c2065836e2 Make NodeMetadata a struct, move existing map[string]string to NodeMetadata.Metadata 2015-07-15 10:06:36 +00:00