1 个不稳定版本
0.0.3 | 2021年2月9日 |
---|
#358 in 性能分析
9KB
156 行
历史学家
一个零配置的简单直方图收集器。随机输入时的收集时间约为160纳秒,已有指标时的收集时间约为65纳秒。使用对数桶而不是采样,具有有界(通常小于0.5%)的错误百分位数。
lib.rs
:
一个用于仪器优化的零配置简单直方图收集器。使用对数桶而不是采样,并在百分位数上有有界(通常小于0.5%)的错误。在初始创建后不进行任何分配。收集期间使用 Relaxed 原子操作。
创建时,它分配了65k个 AtomicUsize,用于增加。在数十个 Histo
上运行工作负载后生成报告不会导致明显的延迟,但它可能不适合用于低延迟的报道路径。
在此采取的权衡是在收集期间最小化延迟,同时初始分配和后期处理延迟是可以接受的。
未来工作以进一步减少收集延迟可能包括使用线程本地缓存,这些缓存在它们被丢弃之前不执行任何原子操作,此时它们可以将测量结果原子聚合到用于报告的共享收集器中。