首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解释rrdtool输出

如何解释rrdtool输出
EN

Stack Overflow用户
提问于 2014-12-23 08:11:25
回答 1查看 368关注 0票数 1

第一。我创建了一个rrd数据库

代码语言:javascript
复制
$ rrdtool create test.rrd --start 1200000000 --step 300 DS:test_1:GAUGE:600:0:100 RRA:AVERAGE:0.5:1:12

第二。做一些更新

代码语言:javascript
复制
$ rrdtool update test.rrd 1200000100:1
$ rrdtool update test.rrd 1200000400:3
$ rrdtool update test.rrd 1200000700:4
$ rrdtool update test.rrd 1200001000:5

第三。从test.rrd中获取数据

代码语言:javascript
复制
$ rrdtool fetch test.rrd -r 300 -s 1200000000 -e 1200001000 AVERAGE

为什么1200000300是2.333?

EN

回答 1

Stack Overflow用户

发布于 2014-12-25 21:57:29

这是由数据标准化造成的。RRDTool将自动调整数据以精确地适应所定义的间隔的时间边界。

尽管您的数据间隔为300 s,与定义的间隔(步骤)相同,但不幸的是它们并不在实际的边界上。

边界是当time modulo step等于零时。在您的情况下,这将是在时间1200000000而不是在1200000100。因此,需要对样本进行调整(其中三分之一分配给先前的间隔,三分之二分配给后者)。这进一步复杂,因为您是在规范模式下操作,而RRDTool工作在假定速率的线性变化率的情况下。

如果您在time 12000003001200000000上启动了您的样本,那么您将看到它们按照给定的方式存储,因为正常化步骤将成为一个空操作。由于您在1200000100和1200000400提供了一个量规样本,1200000300的存储值将是连接两个示例:1 + ( 3 - 1 ) x 0.666 = 2.333的三分之二,这就是您要得到的。

由Alex 这里编写的教程将向您解释这一切。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27616429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档