Commit Graph

47 Commits

Author SHA1 Message Date
Tom Wilkie
c80eb42a4f Add filters for pseudo nodes. (#1581)
* Add filters for pseudo nodes.

- Don't filter the internet node as a pseudo node.
- Rename pseudo filter to unmanaged/uncontained.
- Review feedback
- Move the FilterFoo funcs into the tests
- Drop the 'nodes' from filter labels.

* Fix experimental
2016-06-16 20:09:13 +01:00
Tom Wilkie
141ce75902 Log errors in response to http requests. (#1569) 2016-06-09 09:01:50 +01:00
Tom Wilkie
8f772a696d Add flag to disable reporting of processes (and procspied endpoints) 2016-05-17 17:29:09 +01:00
Paul Bellamy
541699d193 Review Feedback 2016-05-09 09:19:11 +01:00
Paul Bellamy
16a5c738d9 Deployment and ReplicaSet views for k8s 2016-05-09 09:03:57 +01:00
Paul Bellamy
bb284edee8 set 'default' as the default namespace filter instead of 'all' (#1445) 2016-05-06 18:17:32 +01:00
Paul Bellamy
0e70f70ffd Review feedback 2016-05-03 12:49:02 +01:00
Paul Bellamy
02a0e752e3 fix up stats on sub-topologies 2016-05-03 12:47:26 +01:00
Paul Bellamy
fe853e3f0f filter out deleted pods when calculating available namespaces 2016-05-03 12:47:26 +01:00
Paul Bellamy
8758921215 pass nil for Noop a few other places 2016-05-03 12:47:26 +01:00
Paul Bellamy
2af2b1f15a Filter by Kubernetes Namespaces 2016-05-03 12:47:24 +01:00
Tom Wilkie
cf879b268e Aggressively pass nil for the decorator in the rendering pipeline to improve performance. 2016-04-29 11:42:33 +01:00
Paul Bellamy
3d3aed2bb3 Fixing grouped node count for filtered children nodes
Squash of:

* We have to keep all the container hostnames until the end so we can
  count how many we've filtered

* Adding tests for ContainerHostnameRenderer and PodServiceRenderer with
  filters

* Because we filter on image name we need the image name before
  filtering

* Alternative approach to passing decorators.

* Refactor out some of the decorator capture

* Don't memoise decorated calls to Render

* Fixing filtered counts on containers topology

  Tricky, because we need the filters to be silent sometimes (when they're
  in the middle), but not when they're at the top, so we take the "top"
  filter's stats. However, this means we have to compose all
  user-specified filters into a single Filter layer, so we can get all
  stats.

  There are no more Silent filters, as all filters are silent (unless they
  are at the top).

  Additionally, I clarified some of the filters as their usage/terminology
  was inconsistent and confused. Now Filter(IsFoo, ...) *keeps* only nodes
  where IsFoo is true.
2016-04-28 12:23:43 +01:00
Tom Wilkie
fd368e5e5f Unhack dealing with slashed in node names. 2016-04-06 14:47:14 +01:00
Paul Bellamy
2c6b6e6707 Refactoring rendering to remove RenderableNode
Squash of:
- use detailed.Summaries to render topology nodes
- ban merging nodes of different topologies (they should be mapped)
- need to prune parents when mapping node types
- render container images by id if they have no name
- remove separate render ids and prune parents in NewDerived*
- don't render metrics/metadata for groups of nodes
- fixing up tests
- removing pending unit tests (for mapping.go, for now)
- updating experimental dir for RenderableNode removal
2016-03-29 14:13:03 +01:00
Paul Bellamy
430130c03a backend changes for new option rendering 2016-03-29 13:26:49 +02:00
Tom Wilkie
4f6066f0ff Stop hiding kubernetes topologies in the backend. 2016-03-23 12:43:47 +00:00
Tom Wilkie
b4739af279 Refactoring for multitenancy 2016-03-09 13:48:28 +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
d3b11ee040 Rename Applications -> Process, sort topologies by rank. 2016-02-01 06:54:18 -08:00
Paul Bellamy
75245f6777 Merge pull request #856 from weaveworks/826-by-hostname
Rename 'by hostname' to 'by dns name'
2016-02-01 10:56:02 +00:00
Tom Wilkie
0e3e3b74f8 Add benchmark for list topologies API. 2016-01-25 21:48:18 -08:00
Tom Wilkie
586cfbfcea Rename 'by hostname' to 'by dns name' 2016-01-24 14:25:20 -08:00
Paul Bellamy
a972e883e0 Reword filter text on kubernetes views 2016-01-18 10:26:11 +00:00
Tom Wilkie
123c40028f Less hacky fix for /%2F bug 2016-01-14 07:10:31 -08: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
f5aafb7a05 Don't apply filters to node endpoints & update details panel logic such that node which dissappear from the topology (eg when they are stopped) don't dissapear from the details panel. 2015-11-30 09:33:41 +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
d5922e437f Fix stats for sub topologies. 2015-11-05 15:06:29 +00:00
Paul Bellamy
9ea156cfef Moving xfer.Collector into App (the only place its used) 2015-11-05 11:31:48 +00:00
Tom Wilkie
c6604a6c9b Don't keep stacking filters onto renderers; instead, ensure we return a fresh renderer each time. 2015-10-29 11:35:18 +00:00
Tom Wilkie
c9d0418c9f Review feedback 2015-10-19 14:09:53 +00:00
Tom Wilkie
305e1f482c Refactor topology registry etc; merge a bunch of redundant types. 2015-10-19 10:33:39 +00:00
Tom Wilkie
258e2c153d Sort the structs returned by /api/topology 2015-10-19 10:33:35 +00: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
Tom Wilkie
5c0555ae39 Report number of filtered nodes in topology stats.
Include filtered psuedo nodes in stats.
2015-09-29 08:51:38 +00:00
Peter Bourgon
1dfc725706 Filter system containers from topologies; add API to control filters. 2015-09-07 14:24:15 +00: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
Tom Wilkie
2a4a33f30a Move RenderableNode and DetailedNode into render/ 2015-06-16 15:37:08 +00:00
Tom Wilkie
1e92e7dcbd Introduce renderers; allow them to recurse. 2015-06-16 10:54:30 +00:00
Peter Bourgon
3e8bdcc854 Sub-topolgies rendered in one place only 2015-06-15 10:26:22 +02:00
Peter Bourgon
086ff3b791 Change from grouped URL to sub-topologies 2015-06-12 13:23:25 +02:00
Tom Wilkie
53456179e4 All merging of RenderableNodes, such that we can merge multiple topologies. 2015-06-11 17:11:10 +00:00
Tom Wilkie
0ade65d32a Refactor grouped topologies, topology 'views' and their http handlers 2015-05-27 14:17:47 +00:00
Tom Wilkie
0fd5c2eeae Factor out pseudo node creation to a per-topology function - no semantic change right now. 2015-05-27 10:05:18 +00:00
Peter Bourgon
c8cfd2af5f Topologies no longer have a 'type' (for grouping) 2015-05-20 10:46:07 +02:00
Peter Bourgon
59588e721d Rename topology list handler files 2015-05-20 10:04:10 +02:00