Soma dois gráficos, quando o segundo arquivo RRD é iniciado apenas agora
Pergunta
Não sei como explicar meu problema ... mas tenho dois arquivos RRD:
a.rrd
b.rrd
Estou tentando somar os dois arquivos e empilhá -los no gráfico. Curti:
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',
E meu resultado é:
TEXTO DE ALT HTTP://www.freeimagehosting.net/uploads/8d99a4a675.jpg
Problema: ele não imprime os valores do arquivo A.RRD, exibe o gráfico apenas da posição do arquivo B.RRD.
Instize de algo assim (apenas a primeira parte será com Zeros):
TEXTO DE ALT HTTP://www.freeimagehosting.net/uploads/e036f93797.jpg
Obviamente, isso ocorre porque o segundo gráfico não possui registro de data e hora do UNIX quando o primeiro gráfico.
Então, como posso preenchê -lo com zeros? ou mudar meu gráfico conf?
Solução
Aqui está a solução para o seu problema :)http://oss.oetiker.ch/rrdtool/tut/cdeftutorial.en.html Dê uma olhada no uso de funções se, tempo, GT e etc. Você pode tentar o seguinte: CDEF: real = tempo, algum dia, GT, real0_, real0_, un, 0, real0_, se, se, tempo, algum dia, gt, real1_, real1_, un, 0, real1_, se, se,++ Isso significa: if (time ()> algum vezes) retornar real0_ else if (real0_ == un (esse é o valor da nan nos arquivos rrd)) retornar mais 0 retornar real0_ faça a mesma coisa para o real1_ e faça a soma dos dois resultado. Espero ter ajudado :)