Сумма два графика, когда второй файл RRD начинается только сейчас
Вопрос
Я не знаю, как объяснить свою проблему .... но у меня есть два файла RRD:
a.rrd
b.rrd
Я пытаюсь суммировать оба файла и сложить их в графике. подобно:
my $bla = RRDs::graph "-",
"--title","Test",
"--imgformat=PNG",
"--width=680",
"--height=200",
"DEF:Default0_=a.rrd:default:AVERAGE",
"DEF:Real0_=a.rrd:real:AVERAGE",
"DEF:Default1_=b.rrd:default:AVERAGE",
"DEF:Real1_=b.rrd:real:AVERAGE",
"CDEF:Default=Default0_,Default1_,+",
"CDEF:Real=Real0_,Real1_,+",
'AREA:Default#00CF00:Default Test',
'GPRINT:Default:MIN:Min\: %10.0lf%s',
'GPRINT:Default:MAX:Max\: %10.0lf%s',
'GPRINT:Default:AVERAGE:Average\: %10.0lf%s',
'GPRINT:Default:LAST:Current\: %10.0lf%s \l',
'STACK:Real#006699:Real Test',
'LINE2:Real#000000',
'GPRINT:Real:MIN:Min\: %10.0lf%s',
'GPRINT:Real:MAX:Max\: %10.0lf%s',
'GPRINT:Real:AVERAGE:Average\: %10.0lf%s',
'GPRINT:Real:LAST:Current\: %10.0lf%s \l',
И мой результат:
Alt Text http://www.freeimagehosting.net/uploads/8d99a4a675.jpg.
Проблема: она не печатает значения из файла a.rrd, он отображает график только из положения файла b.rrd.
Институт чего-то вроде этого (только первая часть будет с нулями):
Alt Text http://www.freeimagehosting.net/uploads/e036f93797.jpg.
Очевидно, что это потому, что второй график не имеет временных меток Unix, когда первый график.
Так как я могу заполнить его нулями? Или изменить мой график конф?
Решение
Вот решение вашей проблемы :)http://oss.oetiker.ch/rrdtool/tut/cdeftutorial.en.html. Посмотрите на использование, если, время, GT и т. Д. Функции. Вы можете попробовать это: CDEF: Real = Time, ameimestamp, gt, real0_, real0_, un, 0, real0_, если, если, время, ameimestamp, gt, real1_, real1_, un, 0, real1_, если, если, + Это означает: если (время ()> oneimestamp) возвращайте Real0_ else, если (Real0_ == un (это значение NAN в файлах RRD)) Возврат 0 Evel Возврат Real0_ Сделайте то же самое для Real1_ и сделайте сумму двух результат. Надеюсь, я помог :)