[−][src]Crate sketches_ddsketch
This crate provides a direct port of the Golang DDSketch implementation to Rust. All efforts have been made to keep this as close to the original implementation as possible, with a few tweaks to get closer to idiomatic Rust.
Usage
Add multiple samples to a DDSketch and invoke the quantile
method to pull any quantile from
0.0 to 1.0.
use sketches_ddsketch::{Config, DDSketch}; let c = Config::defaults(); let mut d = DDSketch::new(c); d.add(1.0); d.add(1.0); d.add(1.0); let q = d.quantile(0.50).unwrap(); assert_eq!(q, Some(1.0));
Sketches can also be merged.
use sketches_ddsketch::{Config, DDSketch}; let c = Config::defaults(); let mut d1 = DDSketch::new(c); let mut d2 = DDSketch::new(c); d1.add(1.0); d2.add(2.0); d2.add(2.0); d1.merge(&d2); assert_eq!(d1.count(), 3);
Structs
Config | The configuration struct for constructing a |
DDSketch | This struct represents a DDSketch |
Enums
DDSketchError | General error type for DDSketch, represents either an invalid quantile or an incompatible merge operation. |