Somme deux graphiques, lorsque le second fichier RRD est démarré seulement maintenant

StackOverflow https://stackoverflow.com/questions/2378571

  •  24-09-2019
  •  | 
  •  

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?

Était-ce utile?

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é:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top