#直方图 #统计 #度量 #指数 # #最近 #权重

exponential-decay-histogram

一个对近期值进行指数加权的直方图

12个版本

0.1.11 2023年9月25日
0.1.10 2022年5月2日
0.1.9 2021年2月12日
0.1.7 2020年11月29日
0.1.0 2017年5月30日

#341数据结构 类别中

Download history 1482/week @ 2024-04-23 2183/week @ 2024-04-30 1555/week @ 2024-05-07 2006/week @ 2024-05-14 1321/week @ 2024-05-21 1381/week @ 2024-05-28 1770/week @ 2024-06-04 1859/week @ 2024-06-11 1432/week @ 2024-06-18 1335/week @ 2024-06-25 1647/week @ 2024-07-02 1353/week @ 2024-07-09 1596/week @ 2024-07-16 1693/week @ 2024-07-23 1700/week @ 2024-07-30 1954/week @ 2024-08-06

7,161 每月下载量
10 包中使用 (直接使用 2 个)

MIT/Apache

21KB
385

exponential-decay-histogram

文档

一个对近期值进行指数加权的直方图。

许可

许可协议为以下之一:

您可选择其中之一。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义,您提交的任何有意包含在作品中的贡献,将按上述方式双许可,不附加任何额外条款或条件。


lib.rs:

一个对近期值进行指数加权的直方图。

直方图计算数据集中值分布的统计信息。此直方图对近期值相对于旧值进行指数加权,使其适用于长时间运行进程的状态监控等用例。

该直方图不会同时存储所有值,而是存储一个随机子集。这使我们能够对总内存使用量进行限制,而不管事件发生的速率如何。

此实现基于Java Metrics 库中的 ExponentiallyDecayingReservoir 类,该类本身基于Cormode等人在2009年描述的前向衰减模型。

示例

use exponential_decay_histogram::ExponentialDecayHistogram;

let mut histogram = ExponentialDecayHistogram::new();

// Do some work for a while and fill the histogram with some information.
// Even though we're putting 10000 values into the histogram, it will only
// retain a subset of them.
for _ in 0..10000 {
    let size = do_work();
    histogram.update(size);
}

// Take a snapshot to inspect the current state of the histogram.
let snapshot = histogram.snapshot();
println!("count: {}", snapshot.count());
println!("min: {}", snapshot.min());
println!("max: {}", snapshot.max());
println!("mean: {}", snapshot.mean());
println!("standard deviation: {}", snapshot.stddev());
println!("median: {}", snapshot.value(0.5));
println!("99th percentile: {}", snapshot.value(0.99));

依赖

~555KB