19个稳定版本 (3个主要版本)
4.0.4 | 2021年5月19日 |
---|---|
4.0.3 | 2019年3月16日 |
3.0.11 | 2019年1月5日 |
3.0.4 | 2017年9月5日 |
1.0.1 | 2017年8月30日 |
#369 在 数据结构
每月617次 下载
用于 22 个crate(6个直接使用)
11KB
180 行
historian
一个零配置的简单直方图收集器。在随机输入时,收集时间为~160ns,在已存在的指标上收集时,收集时间为~65ns。使用对数桶而不是采样,并且具有有界(通常 <0.5%)的错误分位数。
lib.rs
:
一个用于仪器优化的零配置简单直方图收集器。使用对数桶而不是采样,并且在对数上具有有界(通常 <0.5%)的错误。在初始创建之后不执行任何分配。在收集期间使用Relaxed原子操作。
当你创建它时,它会分配65k个AtomicUsize,它使用这些来递增。在运行几十个Histo
的工作负载后生成报告不会导致明显的延迟,但它可能不适合用于低延迟报告路径。
在此所采取的权衡是在收集期间最小化延迟,同时初始分配和后期处理延迟是可接受的。
未来的工作将进一步减少收集延迟,可能包括使用线程局部缓存,直到它们被丢弃,此时它们可以原子地将它们的测量聚合到用于报告的共享收集器中。