测量温度上升和下降的时间?
Measure the time the temperature is ascending and descending?
我有一张图表显示我的木屑炉的温度,我想要的是获得温度上升与冷却的时间。
有谁知道如何在 RRDTool 中获得曲线斜率之类的东西吗?
您可以通过两种不同的方式执行此操作。
首先,您可以使用 "DERIVE" 数据类型。这将记录数据的导数——即斜率——而不是实际数据。但是,这不会存储实际温度,这可能不是您想要的。
下一个方法是在构建图表时根据实际数据即时计算斜率。您已经使用 GAUGE 数据类型存储了温度。现在,您可以使用计算值来计算斜率。
DEF:temp=myrrdfile.rrd:ds0:AVERAGE
CDEF:slope=temp,PREV(temp),-,STEPWIDTH,/
这计算 slope
为当前值和先前值之间的差除以时间间隔。
但是,由于您似乎只对温度升高或降低感兴趣,因此您可以改用类似以下内容的方法:
CDEF:cooling=temp,PREV(temp),LT,INF,0,IF
CDEF:warming=temp,PREV(temp),GT,INF,0,IF
AREA:cooling#0000cc::skipscale
AREA:warming#cc0000::skipscale
LINE:temp#00cc00:Temperature
这会将温度绘制为绿线,如果变暖背景为红色,如果变冷背景为蓝色。
我有一张图表显示我的木屑炉的温度,我想要的是获得温度上升与冷却的时间。
有谁知道如何在 RRDTool 中获得曲线斜率之类的东西吗?
您可以通过两种不同的方式执行此操作。
首先,您可以使用 "DERIVE" 数据类型。这将记录数据的导数——即斜率——而不是实际数据。但是,这不会存储实际温度,这可能不是您想要的。
下一个方法是在构建图表时根据实际数据即时计算斜率。您已经使用 GAUGE 数据类型存储了温度。现在,您可以使用计算值来计算斜率。
DEF:temp=myrrdfile.rrd:ds0:AVERAGE
CDEF:slope=temp,PREV(temp),-,STEPWIDTH,/
这计算 slope
为当前值和先前值之间的差除以时间间隔。
但是,由于您似乎只对温度升高或降低感兴趣,因此您可以改用类似以下内容的方法:
CDEF:cooling=temp,PREV(temp),LT,INF,0,IF
CDEF:warming=temp,PREV(temp),GT,INF,0,IF
AREA:cooling#0000cc::skipscale
AREA:warming#cc0000::skipscale
LINE:temp#00cc00:Temperature
这会将温度绘制为绿线,如果变暖背景为红色,如果变冷背景为蓝色。