[rrd-users] CDEF / VDEF / PRINT / GRPRINT limitations & workarounds
rrd-users at ficos.de
Sun Jul 6 18:26:18 CEST 2008
Alex van den Bogaerdt wrote:
> On Sun, Jul 06, 2008 at 01:11:26PM +0200, Karl Fischer wrote:
>> Alex van den Bogaerdt wrote:
>>> On Sun, Jul 06, 2008 at 12:08:03PM +0200, Karl Fischer wrote:
>>>> over the last couple of days I kept constantly fooling myself with
>>>> the current limitations of CDEF / VDEF / PRINT / GRPRINT ...
>>>> * CDEF needs at least one vname from DEF or CDEF (not VDEF)
>>> Correct, mostly. You can use VDEF here, as long as the CDEF would
>>> support a number.
>>> E.g.: CDEF:newds0=ds0,8,*
>>> also: CDEF:newds0=ds0,somevdef,*
>>> where that vdef would result in 8
>> yeah, but the problem is more that *at least one* vname for CDEF
>> needs to be from (C)DEF, so
> You are mixing problems here.
> You do not seem to know what a CDEF actually is. It is an array
> of numbers, where the index is on the time scale. In your example,
> there is no time component thus no array thus no CDEF.
I guess you're right - my understanding was different:
I thougt that a CDEF is a function that get's executed on every DP,
rather than an array along the time scale ...
At least that clarifies the difference and helps (me) understanding.
> What you want is RPN on a VDEF. It isn't CDEF's fault that this
> isn't working. If the problem is outside CDEF then so is the solution.
you're right again - nothing to add ...
>> doesn't work and has to be rewritten into something like
> or something like that.
> a similar example exists in the tutorial I think?
haven't seen that - using oldds,POP seems to be the shortest solution.
>>>> Why doesn't CDEF accept rpns without a (C)DEF vname?
>>> Because that would mean it's a constant.
>> not quite true - it's a calculated constant, meaning:
>> It doesn't vary over the time period show, but it isn't a constant
> If it doesn't vary, it is constant.
still don't quite agree here ...
If I have a VDEF:max=someds,MAXIMUM it may be treated as a constant
*from now on*, however, how should I replace 'max' by some constant
in the the rrdgraph-definition? I don't know what the max value will
be over the given time range.
> Again: if you have a problem doing RPN in VDEF, that doesn't mean
> a problem exists in CDEF.
it looks like it all comes back to this ...
Many thanks for the clarification - I helps me understand the
internals of rrdgraph much better ...
More information about the rrd-users