Somma due grafici, quando il secondo file RRD viene avviato solo ora
Domanda
Non so come spiegare il mio problema .... ma Ho due file RRD:
a.rrd
b.rrd
Sto cercando di sommare entrambi i file e li stack up nel grafico. come:
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 il mio risultato è:
alt text http://www.freeimagehosting.net/uploads/8d99a4a675.jpg
problema:. Esso non stampare i valori da file a.rrd, si visualizza il grafico solo dalla posizione del file b.rrd
instide di qualcosa come questo (solo la prima parte sarà con zeri):
alt text http://www.freeimagehosting.net/uploads/e036f93797.jpg
Ovviamente, questo è perché il secondo grafico non ha unix timestamp quando il primo grafico fa.
Così come posso riempirlo con zeri? o cambiare il mio grafico conf?
Soluzione
Ecco la soluzione al vostro problema :) http://oss.oetiker.ch/rrdtool/tut/cdeftutorial.en. html Date un'occhiata a l'uso di IF, TEMPO, GT, ecc funzioni. Si può provare questo: CDEF: reale = TIME, sometimestamp, GT, Real0_, Real0_, delle Nazioni Unite, 0, Real0_, se, se, TEMPO, sometimestamp, GT, Real1_, Real1_, delle Nazioni Unite, 0, Real1_, se, se, + Questo significa: if (TIME ()> sometimestamp) ritorno Real0_ else if (Real0_ == Nazioni Unite (questo è il valore NaN in file RRD)) return 0 altro ritorno Real0_ Fare la stessa cosa per la Real1_ e fare la somma dei due risultati. Speranza ho aiutato:)