Top Description Fields Constructors Methods
io.rsocket.loadbalance

pack-priv Class FrugalQuantile

extends Object
implements Quantile
Class Inheritance
All Implemented Interfaces
io.rsocket.loadbalance.Quantile
Known Direct Subclasses
io.rsocket.loadbalance.Median
Imports
java.util.SplittableRandom

Reference: Ma, Qiang, S. Muthukrishnan, and Mark Sandler. "Frugal Streaming for Estimating Quantiles." Space-Efficient Data Structures, Streams, and Algorithms. Springer Berlin Heidelberg, 2013. 77-96.

More info: http://blog.aggregateknowledge.com/2013/09/16/sketch-of-the-day-frugal-streaming/

Field Summary

Modifier and TypeField and Description
pack-priv volatile double
pack-priv final double
pack-priv double
pack-priv final SplittableRandom
pack-priv int
pack-priv int

Constructor Summary

AccessConstructor and Description
public
FrugalQuantile(double quantile, double increment)

public
FrugalQuantile(double quantile)

Method Summary

Modifier and TypeMethod and Description
public double
private void
higher(double x)

public synchronized void
insert(double
the data point to add.
x
)

Implements io.rsocket.loadbalance.Quantile.insert.

Insert a data point `x` in the quantile estimator.
private void
lower(double x)

public synchronized void
reset(double quantile)

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

estimateback to summary
pack-priv volatile double estimate
incrementback to summary
pack-priv final double increment
quantileback to summary
pack-priv double quantile
rndback to summary
pack-priv final SplittableRandom rnd
signback to summary
pack-priv int sign
stepback to summary
pack-priv int step

Constructor Detail

FrugalQuantileback to summary
public FrugalQuantile(double quantile, double increment)
FrugalQuantileback to summary
public FrugalQuantile(double quantile)

Method Detail

estimationback to summary
public double estimation()

Implements io.rsocket.loadbalance.Quantile.estimation.

Returns:double

Doc from io.rsocket.loadbalance.Quantile.estimation.

the estimation of the current value of the quantile

higherback to summary
private void higher(double x)
insertback to summary
public synchronized void insert(double x)

Implements io.rsocket.loadbalance.Quantile.insert.

Doc from io.rsocket.loadbalance.Quantile.insert.

Insert a data point `x` in the quantile estimator.

Parameters
x:double

the data point to add.

Annotations
@Override
lowerback to summary
private void lower(double x)
resetback to summary
public synchronized void reset(double quantile)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override