Open clt85046 opened 6 years ago
为了降低io压力,graph组件里面有个cache层,并按照一个周期进行写rrd的动作。所以当你query最近的数据的时候,会从内存cache中返回。由于定义的step是60s,所以会按照这个step进行数据返回,看起来就是有断点的。而rrd落盘的时候,会有一些处理策略,所以看起来就又连续了。
细节的代码逻辑,可以看modules/graph相关的代码。
感谢,关于处理策略这块是在graph/rrdtool这下面吗,可否告知主要是在那几个方法下进行处理的
是的,graph在创建rrd文件时会指定数据源的heartbeat,该值为counter的两个step,断点间隔小于heartbeat就会补值,heartbeat的详细说明请参考https://oss.oetiker.ch/rrdtool/doc/rrdcreate.en.html,
赞 @juesexingqiu
追问个问题, 如果在step周期内,多次上传了数据,那么falcon的数据采集是如何区别和判断的? 我通过实验发现只存储了第一个值。这是在falcon服务端做了处理还是rrd落盘的时候进行处理。 谢谢 @MistShi
@jianvhen 是falcon的处理逻辑,同一step中只保留第一个到的
在查看图像数据时候遇到一个问题,我counter的step设定为60s,但是实际传输时120传一次,这样在一开始查看图像时是有断点的,但是当写入rrd文件之后,他似乎直接把断点都附上了值,所以出现的图像就练成了线,想请教一下这是为什么?