1 个不稳定版本

0.0.3 2021年2月9日

#357性能分析

Apache-2.0 协议

9KB
156

历史学家

Build Status crates.io documentation

一个零配置的简单直方图收集器。随机输入时,每收集一次大约160纳秒,对已经存在的指标每收集一次大约65纳秒。使用对数桶而非采样,并具有有界(通常小于0.5%)的误差百分位数。


lib.rs:

一个用于仪表化优化的零配置简单直方图收集器。使用对数桶而非采样,并在百分位数上有有界(通常小于0.5%)的误差。在初始创建后不进行任何分配。在收集期间使用松散原子操作。

当你创建它时,它会分配65k个AtomicUsize,用于增加。在运行几十个 Histo 的工作负载后生成报告不会导致明显的延迟,但它可能不适合用于低延迟报告路径。

在这项工作中做出的权衡是在收集过程中最小化延迟,同时初始分配和后期处理延迟是可以接受的。

未来工作的目标是进一步减少收集延迟,可能包括使用线程本地缓存,这些缓存在没有丢弃之前不执行原子操作,丢弃时可以将测量值原子地聚合到用于报告的共享收集器中。

无运行时依赖

特性