Struct opentelemetry::sdk::metrics::aggregators::DdSketchAggregator [−][src]
pub struct DdSketchAggregator { /* fields omitted */ }
metrics
only.Expand description
DDSKetch quantile sketch algorithm
It can give q-quantiles with α-accurate for any 0<=q<=1.
Here the accurate is calculated based on relative-error rate. Thus, the error guarantee adapts the scale of the output data. With relative error guarantee, the histogram can be more accurate in the area of low data density. For example, the long tail of response time data.
For example, if the actual percentile is 1 second, and relative-error guarantee is 2%, then the value should within the range of 0.98 to 1.02 second. But if the actual percentile is 1 millisecond, with the same relative-error guarantee, the value returned should within the range of 0.98 to 1.02 millisecond.
In order to support both negative and positive inputs, DDSketchAggregator has two DDSketch store within itself to store the negative and positive inputs.
Implementations
Create a new DDSKetchAggregator that would yield a quantile with relative error rate less
than alpha
The input should have a granularity larger than key_epsilon
Trait Implementations
Update receives a new measured value and incorporates it into the aggregation. Update calls may be called concurrently. Read more
fn synchronized_move(
&self,
destination: &Arc<dyn Aggregator + Send + Sync>,
descriptor: &Descriptor
) -> Result<()>
fn synchronized_move(
&self,
destination: &Arc<dyn Aggregator + Send + Sync>,
descriptor: &Descriptor
) -> Result<()>
This method is called during collection to finish one period of aggregation by atomically saving the currently-updating state into the argument Aggregator. Read more
fn merge(
&self,
other: &(dyn Aggregator + Send + Sync),
_descriptor: &Descriptor
) -> Result<()>
fn merge(
&self,
other: &(dyn Aggregator + Send + Sync),
_descriptor: &Descriptor
) -> Result<()>
This combines the checkpointed state from the argument Aggregator
into this
Aggregator
. merge
is not synchronized with respect to update
or
synchronized_move
. Read more