Represents a meta data tree in OpenTSDB that organizes timeseries into a hierarchical structure for navigation similar to a file system directory. Actual results are stored in {@link Branch} and {@link Leaf} objects while meta data about the tree is contained in this object.
A tree is built from a set of {@link TreeRule}s. The rules are stored separately in the same row as the tree definition object, but can be loaded into the tree for processing and return from an RPC request. Building a tree consists of defining a tree, assigning one or more rules, and passing {@link net.opentsdb.meta.TSMeta} objects through the rule set using a {@link TreeBuilder}. Results are then stored in separate rows as branch and leaf objects.
If TSMeta collides with something that has already been processed by a rule set, a collision will be recorded, via this object, in a separate column in a separate row for collisions. Likewise, if a tree is set to {@code strict_match}, TSMetas that fail to match the rule set will be recorded to a separate row. This class provides helper methods for fetching and storing these collisions and non-matched items.
@since 2.0