Somme deux graphiques, lorsque le second fichier RRD est démarré seulement maintenant
Question
Je ne sais pas comment expliquer mon problème .... mais J'ai deux fichiers RRD:
a.rrd
b.rrd
Je suis en train de résumer les deux fichiers et les empiler dans le graphique. comme:
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',
Et mon résultat est:
texte alt http://www.freeimagehosting.net/uploads/8d99a4a675.jpg
problème: il n'imprime pas les valeurs du fichier a.rrd, il afficher le graphique que de la position du fichier b.rrd
.instide de quelque chose comme ça (seulement la première partie sera avec des zéros):
texte alt http://www.freeimagehosting.net/uploads/e036f93797.jpg
, c'est évidemment parce que le deuxième graphique ne pas timestamp unix lorsque le premier graphique fait.
Alors, comment puis-je le remplir avec des zéros? ou modifier mon graphique conf?
La solution
Voici la solution à votre problème :) http://oss.oetiker.ch/rrdtool/tut/cdeftutorial.en. html Jetez un oeil à l'utilisation du SI, TIME, GT et fonctions etc.. Vous pouvez essayer ceci: CDEF: réel = TIME, sometimestamp, GT, Real0_, Real0_, ONU, 0, Real0_, IF, IF, TIME, sometimestamp, GT, Real1_, Real1_, ONU, 0, Real1_, IF, IF, + Ça signifie: si (TIME ()> sometimestamp) retour Real0_ else if (Real0_ == ONU (ce qui est la valeur NaN dans les fichiers RRD)) return 0 autre retour Real0_ Faire la même chose pour la Real1_ et faire la somme des deux résultats. J'espère aidé:)