根据 Martin 的说法,Rezolus 诞生于对了解细粒度时间尺度上的系统性能的需求。在运行非常高吞吐量的综合基准测试时,Twitter 工程师们有时会遇到短暂的性能异常,但现有的遥测技术采样率相对较低,因此未能反映出这些异常状况。
这是因为,根据采样定理,采样率必须至少是最短脉冲持续时间的两倍,以便准确地反映爆发的强度,而大多数遥测都会产生一个微小的时间序列。相比之下,Rezolus 可以在更加精确的时间尺度上精确测量性能下降的情况。
Rezolus 允许配置采样率,因此开发人员可以将分辨率与尖峰长度匹配,并且不会消耗过多的资源。在 10Hz 采样时,它能够反映出 200 毫秒或更长时间的连续突发,足以满足 Twitter 上的大多数服务。同时,在这一条件下它只占用不超过 15% CPU 和 60MB 内存。
可切换的插件采样器使 Rezolus 能够从各种来源收集遥测,包括来自 Linux kernel 源的计数器和仪表,以获得有关 CPU 使用率、网络利用率和磁盘利用率的遥测。这些采样器还可根据需要进行不同配置。
最后,Martin 写道:“开源 Rezolus 标志着该项目的一个重要里程碑,我们希望 Rezolus 对 Twitter 之外的其他人也有用,并期待围绕它建立一个社区。”
博客原文:https://blog.twitter.com/engineering/en_us/topics/open-source/2019/introducing-rezolus.html
文章转载自 OSCHINA 社区
好文推荐: