Struct opentelemetry::sdk::metrics::aggregators::DdSketchAggregator [−][src]
pub struct DdSketchAggregator { /* fields omitted */ }
metrics
only.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
impl DdSketchAggregator
[src]
impl DdSketchAggregator
[src]pub fn new(config: &DdSketchConfig, kind: NumberKind) -> DdSketchAggregator
[src]
pub fn new(config: &DdSketchConfig, kind: NumberKind) -> DdSketchAggregator
[src]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
impl Aggregator for DdSketchAggregator
[src]
impl Aggregator for DdSketchAggregator
[src]fn update(&self, number: &Number, descriptor: &Descriptor) -> Result<()>
[src]
fn update(&self, number: &Number, descriptor: &Descriptor) -> Result<()>
[src]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<()>
[src]
fn synchronized_move(
&self,
destination: &Arc<dyn Aggregator + Send + Sync>,
descriptor: &Descriptor
) -> Result<()>
[src]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<()>
[src]
fn merge(
&self,
other: &(dyn Aggregator + Send + Sync),
_descriptor: &Descriptor
) -> Result<()>
[src]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
impl Count for DdSketchAggregator
[src]
impl Count for DdSketchAggregator
[src]impl Debug for DdSketchAggregator
[src]
impl Debug for DdSketchAggregator
[src]impl Default for DdSketchAggregator
[src]
impl Default for DdSketchAggregator
[src]impl Max for DdSketchAggregator
[src]
impl Max for DdSketchAggregator
[src]impl Min for DdSketchAggregator
[src]
impl Min for DdSketchAggregator
[src]impl Sum for DdSketchAggregator
[src]
impl Sum for DdSketchAggregator
[src]impl MinMaxSumCount for DdSketchAggregator
[src]
Auto Trait Implementations
impl RefUnwindSafe for DdSketchAggregator
impl Send for DdSketchAggregator
impl Sync for DdSketchAggregator
impl Unpin for DdSketchAggregator
impl UnwindSafe for DdSketchAggregator
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,