Package org.elasticsearch.tdigest


package org.elasticsearch.tdigest

T-Digest library

This package contains a fork for the [T-Digest](https://github.com/tdunning/t-digest) library that's used for percentile calculations. Forking the library allows addressing bugs and inaccuracies around both the AVL- and the merging-based implementations that unblocks switching from the former to the latter, with substantial performance gains. It also unlocks the use of BigArrays and other ES-specific functionality to account for resources used in the digest data structures.
  • Class
    Description
     
     
    A single centroid which represents a number of data points.
    Reference implementations for cdf and quantile if we have all data sorted.
    Uses a SortingDigest implementation under the covers for small sample populations, then switches to MergingDigest.
    Maintains a t-digest by collecting new points in a buffer that is then sorted occasionally and merged into a sorted array that contains previously computed centroids.
    Encodes the various scale functions for t-digests.
    Static sorting methods
    Simple implementation of the TDigest interface that stores internally and sorts all samples to calculate quantiles and CDFs.
    Adaptive histogram based on something like streaming k-means crossed with Q-digest.