Commit Graph

51 Commits

Author SHA1 Message Date
Matthias Radestock
1f023890e4 refactor: optimise report.Map.Render() 2017-07-03 07:54:32 +01:00
Matthias Radestock
91d3497f7d parallelise 'reduce' 2017-06-05 08:44:17 +01:00
Filip Barl
2e9255b190 Addressed the comments and fixed the tests. 2017-02-20 11:40:40 +01:00
Alfonso Acosta
5eabf5436c Make linter happy 2016-10-05 13:07:17 +00:00
Alfonso Acosta
3f27d5f6cc Do not filter out the target nodes when obtaining the details panel 2016-10-05 12:22:50 +00:00
Tom Wilkie
57618be932 Add a condition to rendering any kubernetes nodes at all 2016-05-03 17:05:44 +01:00
Tom Wilkie
9eaac25d69 Don't merge nodes in the rendering pipeline 2016-05-03 15:18:31 +01:00
Tom Wilkie
b4a59f6e36 Don't recursively gets stats beyond an ApplyDecorators decorator 2016-04-29 12:06: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
22e8418e7a Reorganise the render/ package 2016-04-22 11:07:07 +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
94d52f02a7 Refactored render/memoise and added a basic test for it 2016-01-27 16:29:55 +00:00
Tom Wilkie
0e3e3b74f8 Add benchmark for list topologies API. 2016-01-25 21:48:18 -08:00
Tom Wilkie
b1a3a15ac0 A more debugging 2016-01-25 14:23:39 -08:00
Tom Wilkie
f8cbaf0794 Flush cache between runs of the benchmark. 2016-01-25 13:53:38 -08:00
Tom Wilkie
b8daa02488 Memoise & cache the result of renderers, so we don't recalculate views multiple times. 2016-01-25 13:31:10 -08:00
Paul Bellamy
9bd818174c Removing dead EdgeMetadata rendering code 2015-12-07 15:34:01 +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
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
Tom Wilkie
9e72ef1a1f Remove pseudo nodes that are made unconnected by filtering. 2015-09-23 07:02:55 +00:00
Peter Bourgon
1dfc725706 Filter system containers from topologies; add API to control filters. 2015-09-07 14:24:15 +00:00
Tom Wilkie
57f7b4f2e6 Rename NodeMetadata -> Node 2015-09-03 16:18:54 +00:00
Tom Wilkie
21675f3000 Remove LeafMap - have a generic function which converts a Topology to a RenderableNodes. 2015-09-02 15:03:57 +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
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
55c77c6a37 Enhance the containers topology with information directly joined from endpoints, via IP address foreign key. 2015-08-27 16:29:35 +00:00
Tom Wilkie
e4970f9214 Give mapping functions the ability to return multiple nodes. 2015-08-27 16:29:32 +00:00
Tom Wilkie
e7dc258119 Only group processes not in containers AND doing network IO into uncontained nodes. 2015-08-27 15:26:49 +00:00
Peter Bourgon
775f0ede90 render: fixes for new merge semantics 2015-08-26 12:02:11 +01:00
Tom Wilkie
498bfd4b18 Make pseudo nodes clickable. 2015-08-24 14:05:01 +00:00
Tom Wilkie
6f1f453098 Review feedback 2015-08-19 12:22:28 +00:00
Tom Wilkie
7fb1a98eca Update detail node logic to deal with connection directionality; also correctly merge edge metadata for pseudo nodes. 2015-08-19 10:21:01 +00:00
Tom Wilkie
60d1b503c1 Deal with directed edges in the rest of the codebase. 2015-08-19 10:17:31 +00:00
Peter Bourgon
0361b11b87 Fix bugs in how we report bandwidth 2015-08-03 12:25:56 +02:00
Peter Bourgon
b9afa67ad6 gopacket-based traffic sniffing 2015-08-03 10:55:59 +02:00
Tom Wilkie
c2065836e2 Make NodeMetadata a struct, move existing map[string]string to NodeMetadata.Metadata 2015-07-15 10:06:36 +00:00
Bryan Boreham
baf0d94af9 Implement a Merge function on IDLists which is more efficient than repeated Add 2015-07-07 22:36:22 +01:00
Tom Wilkie
416f56c3cc Only have a single report fixture
- Move render.Rpt to test.Report
- Remove report/report_fixture_test.go; it was unused
- Remove report fixture in app/ and make tests use test.Report
- Move expected outputs into render/expected, so they can be reused
2015-06-24 09:51:29 +00:00
Tom Wilkie
49dae07cca Make render module produce The Internet pseudo node. 2015-06-19 11:09:52 +00:00
Tom Wilkie
f971ac12bf Move AggregateMetadata into render package. 2015-06-17 19:26:13 +00:00
Tom Wilkie
18c544701a Review feedback 2015-06-17 17:23:33 +00:00
Tom Wilkie
3de721bb16 Make topologies_test.go pass. 2015-06-17 17:23:24 +00:00
Tom Wilkie
93d062a3ab gorename -from 'github.com/weaveworks/scope/render.RenderableNode.Metadata' -to AggregateMetadata 2015-06-17 17:23:23 +00:00
Tom Wilkie
546f336fef Add FilterUnconnected Renderer, wire up Process and ProcessName Renderers. 2015-06-17 17:23:21 +00:00
Tom Wilkie
16e2ccd2be Produce the container topology by way of the process topology. 2015-06-17 17:23:20 +00:00
Tom Wilkie
a759db8931 Rename Map -> LeafMap, introduce Map (with tests) 2015-06-17 17:23:19 +00:00
Tom Wilkie
2a4a33f30a Move RenderableNode and DetailedNode into render/ 2015-06-16 15:37:08 +00:00
Tom Wilkie
ae9ea5c97f Move mapping functions and main render function in render package. 2015-06-16 14:23:56 +00:00