Status: Ready
Sliding-window coordinator over EHSketchList payload buckets.
EHBucketExponentialHistogram
fn new(k: usize, window: u64, eh_type: EHSketchList) -> Selffn update(&mut self, time: u64, val: &DataInput)
fn update_with<F>(&mut self, time: u64, update_fn: F) where F: FnOnce(&mut EHSketchList)
fn update_window(&mut self, window: u64)fn query_interval_merge(&self, t1: u64, t2: u64) -> Option<EHSketchList>
fn cover(&self, mint: u64, maxt: u64) -> bool
fn get_min_time(&self) -> Option<u64>
fn get_max_time(&self) -> Option<u64>
fn bucket_count(&self) -> usize
fn get_memory_info(&self) -> (usize, Vec<usize>)Managed internally during bucket compaction.
No dedicated serialization API.
use asap_sketchlib::{CountMin, EHSketchList, ExponentialHistogram, FastPath, DataInput, Vector2D};
let template = EHSketchList::CM(CountMin::<Vector2D<i32>, FastPath>::default());
let mut eh = ExponentialHistogram::new(3, 120, template);
eh.update(10, &DataInput::Str("flow"));
let _ = eh.query_interval_merge(0, 120);- Payload behavior depends on selected
EHSketchListvariant.
Ready sliding-window coordinator.