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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top