Files
weave-scope/vendor/github.com
Matthias Radestock a306867610 fast network membership check
The rendering code checks whether endpoint IPs are part of
cluster-local networks. Due to the prevalence of endpoints - medium
sized reports can contain many thousands of endpoints - this is
performance critical. Alas the existing code performs the check via a
linear scan of a list of networks. That is slow when there are more
than a few, which will be the case in the context of k8s, since there
the probes register service IPs as local /32 networks.

Here we change representation of the set of networks to a prefix
tree (aka trie), which is well-suited for IP network membership checks
since networks are in fact a bitstring prefixes.

The specific representation is a crit-bit tree, but that choice was
purely based on implementation convenience - the chosen library is the
only one I could find that directly supports IP networks.
2017-06-21 03:03:49 +01:00
..
2016-12-07 11:22:39 +00:00
2016-03-23 15:41:37 +00:00
2015-10-24 11:19:50 +01:00
2015-10-24 11:19:50 +01:00
2015-10-24 11:19:50 +01:00
2015-10-24 11:19:50 +01:00
2016-03-23 15:41:37 +00:00
2015-10-26 16:53:21 +00:00
2016-12-07 11:22:39 +00:00
2016-03-23 15:41:37 +00:00
2016-12-07 11:22:39 +00:00
2016-12-07 11:22:39 +00:00
2015-10-24 11:19:50 +01:00
2015-10-24 11:19:50 +01:00
2016-12-07 11:22:39 +00:00
2015-10-24 11:19:50 +01:00
2016-03-23 15:41:37 +00:00
2015-10-24 11:19:50 +01:00