Commit Graph

17 Commits

Author SHA1 Message Date
Tom Wilkie
314af5ca89 Improve probe docker code quality & test coverage.
- Move docker probe code into it's own module
- Put PIDTree behind and interface for mocking
- Disaggregate dockerTagger into a registry, tagger and reporter
- Similarly disaggregate tests
- Add mocks for docker container and registry
- Add test for docker events & stats
2015-06-18 17:09:33 +00:00
Tom Wilkie
25ca0c0eb7 Add ContainerImage topology and use it to build the Container By Image graph.
This makes container image details show the containers (and processes) correctly.

Also:
- introduces a 'test' package, moved Diff function there.
- adds some tests for this new rendered view.
2015-06-18 09:16:20 +00:00
Tom Wilkie
f30539601d Restore docker tagging to the endpoint topology until we have the docker images topology. 2015-06-17 17:29:37 +00:00
Tom Wilkie
ee9ac591fd DockerTagger should tag the Process topology now. 2015-06-17 17:23:31 +00:00
Peter Bourgon
e3c5b7f36d Add WeaveTagger
- report: add Overlay topology
- probe/tag: introduce WeaveTagger
2015-06-16 16:29:50 +02:00
Tom Wilkie
e84848278a Merge pull request #234 from tomwilkie/114-docker-stats
Add docker stats to the Container Topology
2015-06-16 10:53:03 +02:00
Peter Bourgon
20eb64968b probe: origin host tagger: use report.Topologies method 2015-06-15 14:58:27 +02:00
Peter Bourgon
c65aecd9e1 Fix node scoping rules
We only want to scope (i.e. prefix with hostID) those addresses that are
deemed loopback, to disambiguate them. Otherwise, we want to leave
addresses in unscoped form, so they can be matched, and links between
communicating nodes properly made.

So, we make the isLoopback check in MakeAddressID, and omit hostID if
the address isn't loopback. So far so good.

But this breaks topology rendering, as we were relying on extracting
hostID from adjacency node IDs, to populate origin hosts in the rendered
node output. So we need another way to get origin host from an arbitrary
node.

A survey revealed no reliable way to get that information from IDs in
their new form. However, we have access to node metadata, so this
changeset introduces the OriginHostTagger, which tags each node with its
origin host, via the foreign-key semantics we'll use going forward.
2015-06-15 14:36:48 +02:00
Tom Wilkie
a2adaa2566 Add docker stats to the Container Topology 2015-06-11 18:42:35 +00: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
ae84861e00 Now we have merged topologies, we don't need to put so much data on the endpoint topology, or render so much info. 2015-06-11 16:57:24 +00:00
Tom Wilkie
ff11022862 Add Containers topology populated by the Docker tagger. 2015-06-10 16:01:15 +00:00
Peter Bourgon
7df63d1bc4 Decouple PIDTree from DockerTagger
PIDTree is created in each spy tick, regardless if Docker Tagger is
used.
2015-06-10 17:49:50 +02:00
Peter Bourgon
d435e36834 Add and populate Process topology
Also, add comm value (name) to process node metadata.
2015-06-10 17:27:07 +02:00
Peter Bourgon
1e0b83eb6d Merge branch report-fields (#190) 2015-06-09 14:25:54 +02:00
Tom Wilkie
76d6deb263 Expose containers from DockerTagger for tracer. 2015-06-08 13:28:27 +00:00
Peter Bourgon
d486d1074a Refactor process mappers to taggers
- Reduce tagger interface to operate on reports
- Remove cgroup tagger
2015-06-08 15:04:40 +02:00