Documentation ¶
Index ¶
- type DDSketch
- func DecodeDDSketch(b []byte, storeProvider store.Provider, indexMapping mapping.IndexMapping) (*DDSketch, error)
- func LogCollapsingHighestDenseDDSketch(relativeAccuracy float64, maxNumBins int) (*DDSketch, error)
- func LogCollapsingLowestDenseDDSketch(relativeAccuracy float64, maxNumBins int) (*DDSketch, error)
- func LogUnboundedDenseDDSketch(relativeAccuracy float64) (*DDSketch, error)
- func NewDDSketch(indexMapping mapping.IndexMapping, positiveValueStore store.Store, ...) *DDSketch
- func NewDDSketchFromStoreProvider(indexMapping mapping.IndexMapping, storeProvider store.Provider) *DDSketch
- func NewDefaultDDSketch(relativeAccuracy float64) (*DDSketch, error)
- func (s *DDSketch) Add(value float64) error
- func (s *DDSketch) AddWithCount(value, count float64) error
- func (s *DDSketch) ChangeMapping(newMapping mapping.IndexMapping, positiveStore store.Store, ...) *DDSketch
- func (s *DDSketch) Clear()
- func (s *DDSketch) Copy() *DDSketch
- func (s *DDSketch) DecodeAndMergeWith(bb []byte) error
- func (s *DDSketch) Encode(b *[]byte, omitIndexMapping bool)
- func (s *DDSketch) ForEach(f func(value, count float64) (stop bool))
- func (s *DDSketch) GetCount() float64
- func (s *DDSketch) GetMaxValue() (float64, error)
- func (s *DDSketch) GetMinValue() (float64, error)
- func (s *DDSketch) GetSum() (sum float64)
- func (s *DDSketch) GetValueAtQuantile(quantile float64) (float64, error)
- func (s *DDSketch) GetValuesAtQuantiles(quantiles []float64) ([]float64, error)
- func (s *DDSketch) IsEmpty() bool
- func (s *DDSketch) MergeWith(other *DDSketch) error
- func (s *DDSketch) Reweight(w float64) error
- type DDSketchWithExactSummaryStatistics
- func DecodeDDSketchWithExactSummaryStatistics(b []byte, storeProvider store.Provider, indexMapping mapping.IndexMapping) (*DDSketchWithExactSummaryStatistics, error)
- func NewDDSketchWithExactSummaryStatistics(mapping mapping.IndexMapping, storeProvider store.Provider) *DDSketchWithExactSummaryStatistics
- func NewDefaultDDSketchWithExactSummaryStatistics(relativeAccuracy float64) (*DDSketchWithExactSummaryStatistics, error)
- func (s *DDSketchWithExactSummaryStatistics) Add(value float64) error
- func (s *DDSketchWithExactSummaryStatistics) AddWithCount(value, count float64) error
- func (s *DDSketchWithExactSummaryStatistics) ChangeMapping(newMapping mapping.IndexMapping, storeProvider store.Provider, ...) *DDSketchWithExactSummaryStatistics
- func (s *DDSketchWithExactSummaryStatistics) Clear()
- func (s *DDSketchWithExactSummaryStatistics) Copy() *DDSketchWithExactSummaryStatistics
- func (s *DDSketchWithExactSummaryStatistics) DecodeAndMergeWith(bb []byte) error
- func (s *DDSketchWithExactSummaryStatistics) Encode(b *[]byte, omitIndexMapping bool)
- func (s *DDSketchWithExactSummaryStatistics) ForEach(f func(value, count float64) (stop bool))
- func (s *DDSketchWithExactSummaryStatistics) GetCount() float64
- func (s *DDSketchWithExactSummaryStatistics) GetMaxValue() (float64, error)
- func (s *DDSketchWithExactSummaryStatistics) GetMinValue() (float64, error)
- func (s *DDSketchWithExactSummaryStatistics) GetSum() float64
- func (s *DDSketchWithExactSummaryStatistics) GetValueAtQuantile(quantile float64) (float64, error)
- func (s *DDSketchWithExactSummaryStatistics) GetValuesAtQuantiles(quantiles []float64) ([]float64, error)
- func (s *DDSketchWithExactSummaryStatistics) IsEmpty() bool
- func (s *DDSketchWithExactSummaryStatistics) MergeWith(o *DDSketchWithExactSummaryStatistics) error
- func (s *DDSketchWithExactSummaryStatistics) RelativeAccuracy() float64
- func (s *DDSketchWithExactSummaryStatistics) Reweight(factor float64) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DDSketch ¶
type DDSketch struct { mapping.IndexMapping // contains filtered or unexported fields }
func DecodeDDSketch ¶ added in v1.2.3
func DecodeDDSketch(b []byte, storeProvider store.Provider, indexMapping mapping.IndexMapping) (*DDSketch, error)
DecodeDDSketch deserializes a sketch. Stores are built using storeProvider. The store type needs not match the store that the serialized sketch initially used. However, using the same store type may make decoding faster. In the absence of high performance requirements, store.BufferedPaginatedStoreConstructor is a sound enough choice of store provider. To avoid memory allocations, it is possible to use a store provider that reuses stores, by calling Clear() on previously used stores before providing the store. If the serialized data does not contain the index mapping, you need to specify the index mapping that was used in the sketch that was encoded. Otherwise, you can use nil and the index mapping will be decoded from the serialized data. It is possible to decode with this function an encoded DDSketchWithExactSummaryStatistics, but the exact summary statistics will be lost.
func LogCollapsingHighestDenseDDSketch ¶ added in v1.2.3
Constructs an instance of DDSketch that offers constant-time insertion and whose size grows until the maximum number of bins is reached, at which point bins with highest indices are collapsed, which causes the relative accuracy guarantee to be lost on highest quantiles if values are all positive, or the lowest and highest quantiles if values include negative numbers.
func LogCollapsingLowestDenseDDSketch ¶ added in v1.2.3
Constructs an instance of DDSketch that offers constant-time insertion and whose size grows until the maximum number of bins is reached, at which point bins with lowest indices are collapsed, which causes the relative accuracy guarantee to be lost on lowest quantiles if values are all positive, or the mid-range quantiles for values closest to zero if values include negative numbers.
func LogUnboundedDenseDDSketch ¶ added in v1.2.3
Constructs an instance of DDSketch that offers constant-time insertion and whose size grows indefinitely to accommodate for the range of input values.
func NewDDSketch ¶
func NewDDSketchFromStoreProvider ¶ added in v1.2.3
func NewDDSketchFromStoreProvider(indexMapping mapping.IndexMapping, storeProvider store.Provider) *DDSketch
func NewDefaultDDSketch ¶ added in v1.2.3
func (*DDSketch) AddWithCount ¶ added in v1.2.3
Adds a value to the sketch with a float64 count.
func (*DDSketch) ChangeMapping ¶ added in v1.2.3
func (s *DDSketch) ChangeMapping(newMapping mapping.IndexMapping, positiveStore store.Store, negativeStore store.Store, scaleFactor float64) *DDSketch
ChangeMapping changes the store to a new mapping. it doesn't change s but returns a newly created sketch. positiveStore and negativeStore must be different stores, and be empty when the function is called. It is not the conversion that minimizes the loss in relative accuracy, but it avoids artefacts like empty bins that make the histograms look bad. scaleFactor allows to scale out / in all values. (changing units for eg)
func (*DDSketch) Clear ¶ added in v1.2.3
func (s *DDSketch) Clear()
Clear empties the sketch while allowing reusing already allocated memory.
func (*DDSketch) DecodeAndMergeWith ¶ added in v1.2.3
DecodeAndMergeWith deserializes a sketch and merges its content in the receiver sketch. If the serialized content contains an index mapping that differs from the one of the receiver, DecodeAndMergeWith returns an error.
func (*DDSketch) Encode ¶ added in v1.2.3
Encode serializes the sketch and appends the serialized content to the provided []byte. If the capacity of the provided []byte is large enough, Encode does not allocate memory space. When the index mapping is known at the time of deserialization, omitIndexMapping can be set to true to avoid encoding it and to make the serialized content smaller. The encoding format is described in the encoding/flag module.
func (*DDSketch) ForEach ¶ added in v1.2.3
ForEach applies f on the bins of the sketches until f returns true. There is no guarantee on the bin iteration order.
func (*DDSketch) GetCount ¶ added in v1.2.3
Return the total number of values that have been added to this sketch.
func (*DDSketch) GetMaxValue ¶ added in v1.2.3
Return the maximum value that has been added to this sketch. Return a non-nil error if the sketch is empty.
func (*DDSketch) GetMinValue ¶ added in v1.2.3
Return the minimum value that has been added to this sketch. Returns a non-nil error if the sketch is empty.
func (*DDSketch) GetSum ¶ added in v1.2.3
GetSum returns an approximation of the sum of the values that have been added to the sketch. If the values that have been added to the sketch all have the same sign, the approximation error has the relative accuracy guarantees of the mapping used for this sketch.
func (*DDSketch) GetValueAtQuantile ¶ added in v1.2.3
Return the value at the specified quantile. Return a non-nil error if the quantile is invalid or if the sketch is empty.
func (*DDSketch) GetValuesAtQuantiles ¶ added in v1.2.3
Return the values at the respective specified quantiles. Return a non-nil error if any of the quantiles is invalid or if the sketch is empty.
type DDSketchWithExactSummaryStatistics ¶ added in v1.2.3
type DDSketchWithExactSummaryStatistics struct {
// contains filtered or unexported fields
}
DDSketchWithExactSummaryStatistics returns exact count, sum, min and max, as opposed to DDSketch, which may return approximate values for those statistics. Because of the need to track them exactly, adding and merging operations are slightly more exepensive than those of DDSketch.
func DecodeDDSketchWithExactSummaryStatistics ¶ added in v1.2.3
func DecodeDDSketchWithExactSummaryStatistics(b []byte, storeProvider store.Provider, indexMapping mapping.IndexMapping) (*DDSketchWithExactSummaryStatistics, error)
DecodeDDSketchWithExactSummaryStatistics deserializes a sketch. Stores are built using storeProvider. The store type needs not match the store that the serialized sketch initially used. However, using the same store type may make decoding faster. In the absence of high performance requirements, store.DefaultProvider is a sound enough choice of store provider. To avoid memory allocations, it is possible to use a store provider that reuses stores, by calling Clear() on previously used stores before providing the store. If the serialized data does not contain the index mapping, you need to specify the index mapping that was used in the sketch that was encoded. Otherwise, you can use nil and the index mapping will be decoded from the serialized data. It is not possible to decode with this function an encoded DDSketch (unless it is empty), because it does not track exact summary statistics
func NewDDSketchWithExactSummaryStatistics ¶ added in v1.2.3
func NewDDSketchWithExactSummaryStatistics(mapping mapping.IndexMapping, storeProvider store.Provider) *DDSketchWithExactSummaryStatistics
func NewDefaultDDSketchWithExactSummaryStatistics ¶ added in v1.2.3
func NewDefaultDDSketchWithExactSummaryStatistics(relativeAccuracy float64) (*DDSketchWithExactSummaryStatistics, error)
func (*DDSketchWithExactSummaryStatistics) Add ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) Add(value float64) error
func (*DDSketchWithExactSummaryStatistics) AddWithCount ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) AddWithCount(value, count float64) error
func (*DDSketchWithExactSummaryStatistics) ChangeMapping ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) ChangeMapping(newMapping mapping.IndexMapping, storeProvider store.Provider, scaleFactor float64) *DDSketchWithExactSummaryStatistics
func (*DDSketchWithExactSummaryStatistics) Clear ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) Clear()
func (*DDSketchWithExactSummaryStatistics) Copy ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) Copy() *DDSketchWithExactSummaryStatistics
func (*DDSketchWithExactSummaryStatistics) DecodeAndMergeWith ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) DecodeAndMergeWith(bb []byte) error
func (*DDSketchWithExactSummaryStatistics) Encode ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) Encode(b *[]byte, omitIndexMapping bool)
func (*DDSketchWithExactSummaryStatistics) ForEach ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) ForEach(f func(value, count float64) (stop bool))
func (*DDSketchWithExactSummaryStatistics) GetCount ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) GetCount() float64
func (*DDSketchWithExactSummaryStatistics) GetMaxValue ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) GetMaxValue() (float64, error)
func (*DDSketchWithExactSummaryStatistics) GetMinValue ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) GetMinValue() (float64, error)
func (*DDSketchWithExactSummaryStatistics) GetSum ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) GetSum() float64
func (*DDSketchWithExactSummaryStatistics) GetValueAtQuantile ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) GetValueAtQuantile(quantile float64) (float64, error)
func (*DDSketchWithExactSummaryStatistics) GetValuesAtQuantiles ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) GetValuesAtQuantiles(quantiles []float64) ([]float64, error)
func (*DDSketchWithExactSummaryStatistics) IsEmpty ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) IsEmpty() bool
func (*DDSketchWithExactSummaryStatistics) MergeWith ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) MergeWith(o *DDSketchWithExactSummaryStatistics) error
func (*DDSketchWithExactSummaryStatistics) RelativeAccuracy ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) RelativeAccuracy() float64
func (*DDSketchWithExactSummaryStatistics) Reweight ¶ added in v1.2.3
func (s *DDSketchWithExactSummaryStatistics) Reweight(factor float64) error