# [rrd-users] Display and all...

Tobias Weingartner weingart at cs.ualberta.ca
Thu Mar 2 17:50:30 MET 2000

```On Thursday, March 2, alex at ergens.op.Het.Net wrote:
> >
> > Which RRA is it actually using to display the graph?
>
> It will use the RRA which can provide the data in the highest resolution
> possible.  In this case, you are asking for a days worth of data and
> this will be available in the first RRA (600 times 5 minutes is more
> than two days).

Every once in a while, I wish that rrdtool could display the graph out of
a particular RRA.  Resolution may be a good thing, but I'm getting many
transient "spikes" with even the latest rrdtool.  Using a "lower" resolution
RRA (it being a moving average of sorts), would yield easier looking graphs,
and in my case, usefull graphs.

As a work-around, I "clip" the graphs/values with rrdtune, but things are
still "spikey".  Using the "log-graph" option to rrdcgi, things improve, but
it makes the graphs harder to interpret...

It would be mondo cool, if there was a way to specify how a particular data-
set gets plotted on the graph.  Sort of "we pick the best resolution", and
then allow you to plot things with a particular "averaging" function.

So plotting would become a 3 tiered thing:

1) Foreach point in the selected RRA (by the "best resolution" criterium),
we run the "first" CDEF/rpn expression, generating a stream of numbers.

2) If it exists, an averaging function is run over these numbers from #1,
averaging functions are given as a tuple (of N numbers, where N is the number
of values to be averaged), which specifies the weight of each value to be
averaged.

3) If it exists, a "last" CDEF/rpn expression is run on the stream of numbers
from #2.

An "interesting" generalization of the above, would be to allow the possibility
of having an arbitrary number of CDEF/rpn expressions to be run, one after the
other.  Then by adding a "VALUE" operator, which pushes the VALUE of the value
of an RRA at a certain position onto the stack (relative to current position,
which is signified by the number 0), you could implement running averages using
the CDEF/rpn construct.

Hmm, now that I think about it, you don't *really* need the ability to run
multiple CDEF/rpn expressions on any one stream of numbers, but it might make
things a little easier.  Think of it like functions in a programming language...

Thoughts?

--Toby.

--
Unsubscribe mailto:rrd-users-request at list.ee.ethz.ch?subject=unsubscribe
Help        mailto:rrd-users-request at list.ee.ethz.ch?subject=help
Archive     http://www.ee.ethz.ch/~slist/rrd-users

```