55 Commits

Author SHA1 Message Date
Tom Wilkie
c5c115bb0f Make channel so stop doesn't fail; also, test stop. 2015-10-28 15:25:38 +00:00
Tom Wilkie
07af26e05b Review feedback 2015-10-27 11:39:38 +00:00
Tom Wilkie
a3c53aadf5 No more nil flow workers 2015-10-27 10:53:23 +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
Peter Bourgon
32a57e63db probe/endpoint: NATMapper missed an edge case
NATMapper can be created with a nil Conntracker if
ConntrackerModulePresent is false, e.g. on Darwin.
Check for that in ApplyNAT.
2015-10-27 10:36:52 +00:00
Tom Wilkie
492ca1692d Review feedback 2015-10-22 09:01:53 +00:00
Tom Wilkie
0cd3de5c7f Retry conntrack, after a short delay, in a loop. 2015-10-21 15:17:41 +00:00
Alvaro Saurin
a1f467f20f Sort DNS answers before returning a name with Get() 2015-10-20 09:23:19 +02:00
Tom Wilkie
e2dfcb1def Review feedback 2015-09-24 03:07:20 +00:00
Tom Wilkie
7da599194d Test the nat mapper. 2015-09-23 11:01:29 +00:00
Tom Wilkie
f9815afad3 Remove some duplicate functionality, add some basic tests. 2015-09-23 09:46:11 +00:00
Tom Wilkie
b9ffca42e5 Don't fail if there are no existing nat mappings. 2015-09-23 03:35:53 +00:00
Tom Wilkie
fcb7c47bd9 Always include endpoint nodes brought in by procspy, even if they get merged with conntracked endpoints. 2015-09-16 03:46:15 +00:00
Tom Wilkie
54299dc0fd Review feedback. 2015-09-15 10:03:06 +00:00
Tom Wilkie
b7598c376e Don't show shortlived connections in the host view. 2015-09-15 10:03:04 +00:00
Tom Wilkie
89b5a8d432 We don't know which end is local for shortlived connections, so don't tag any with the hostid. 2015-09-15 10:03:03 +00:00
Tom Wilkie
766d8772d7 Do a conntrack -L before -E to capture existing connections and NAT mappings. 2015-09-15 10:02:59 +00:00
Tom Wilkie
925851169e Use AddNode when adding nodes to the topology, such that the get merged with any existing node that might be there. 2015-09-15 10:02:58 +00:00
Tom Wilkie
7d6b5a540e Revert "Merge pull request #450 from weaveworks/scope-284"
This reverts commit 46345e3bdb, reversing
changes made to bf3e9a1601.

Conflicts:
	probe/process/walker_darwin.go
2015-09-15 03:14:39 +00:00
Alvaro Saurin
2f9f54688f Keep a cache of open files, reducing the number of open/close cycles in the /proc dir 2015-09-14 10:59:23 +02:00
Alvaro Saurin
14dc6a5391 Cache processes and connections when reading from the /proc
Code cleanups
2015-09-14 10:53:24 +02:00
Alvaro Saurin
4331fb1c79 Drop all the dependencies we had on procspy by moving some code to probe. 2015-09-14 10:44:53 +02:00
Tom Wilkie
d5570f27a7 Only conntrack tcp connections to reduce cpu load from xml marshalling. 2015-09-09 15:08:54 +00:00
Tom Wilkie
d411afd916 WithNode is a CPU hog. 2015-09-09 15:01:57 +00:00
Tom Wilkie
9ab98baafc Merge pull request #451 from weaveworks/reverse-resolver-fix
Small improvements to reverse resolver
2015-09-07 11:43:47 +01:00
Tom Wilkie
4da819b18c Merge pull request #449 from weaveworks/447-short-lived-in-apps
Prevent short lived connections appearing as pseudo nodes in the applications view.
2015-09-07 11:32:38 +01:00
Tom Wilkie
f5d6872c51 Don't rate limit requests that have already been resolved, and cache negative responses. 2015-09-07 10:30:16 +00:00
Peter Bourgon
7513b4e396 Wrap comments at 80col throughout the fileset 2015-09-07 10:36:35 +02:00
Tom Wilkie
85bfcddb3f Prevent short lived connections appearing as pseudo nodes in the applications view. 2015-09-06 16:26:57 +00:00
Tom Wilkie
ad6702a196 Some review feedback. 2015-09-05 19:39:22 +00:00
Alvaro Saurin
15e25edc40 New asynchronous, caching DNS resolver for reverse resolutions
Add nodes for the remote side of connections iff we have a DNS reverse resolution for the IP.
Unit test for the resolver
2015-09-04 17:21:45 +02: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
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
903a51397b Review feedback 2015-08-28 09:19:56 +00:00
Tom Wilkie
1a286eac04 Use an exec'd conntrack in 'events' mode instead of repeatedly execing it for NAT mappings. Also use conntrack to populate the endpoint table. 2015-08-27 16:29:33 +00:00
Tom Wilkie
7ca9dd32e6 Revert "Also use conntrack to populate the endpoint topology."
This reverts commit f89044a381.
2015-08-21 14:55:39 +00:00
Tom Wilkie
f89044a381 Also use conntrack to populate the endpoint topology. 2015-08-21 13:51:00 +00:00
Tom Wilkie
6f1f453098 Review feedback 2015-08-19 12:22:28 +00:00
Tom Wilkie
89df11bbfd Make edge direction flow from client->server. 2015-08-19 10:17:24 +00: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
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