Status: Ready
Universal stream-monitoring sketch for L1/L2/cardinality/entropy.
UnivMon
fn default() -> Self
fn init_univmon(heap_size: usize, sketch_row: usize, sketch_col: usize, layer_size: usize) -> Selffn insert(&mut self, key: &DataInput, value: i64)
fn fast_insert(&mut self, key: &DataInput, value: i64)
fn free(&mut self)fn calc_l1(&self) -> f64
fn calc_l2(&self) -> f64
fn calc_entropy(&self) -> f64
fn calc_card(&self) -> f64
fn calc_g_sum<F>(&self, g: F, is_card: bool) -> f64fn merge(&mut self, other: &UnivMon)fn serialize_to_bytes(&self) -> Result<Vec<u8>, RmpEncodeError>
fn deserialize_from_bytes(bytes: &[u8]) -> Result<Self, RmpDecodeError>use asap_sketchlib::{DataInput, UnivMon};
let mut um = UnivMon::init_univmon(32, 3, 1024, 4);
um.insert(&DataInput::Str("flow"), 1);
assert!(um.calc_l1() >= 1.0);- Structure parameters should match before merge.
Primary multi-metric framework.