[rrd-users] Stacking at Infinity

Alex van den Bogaerdt alex at vandenbogaerdt.nl
Sat Mar 3 03:46:22 CET 2012


> CDEF:DSxH=DSx,0,GT,INF,UNKN,IF
> LINE3:DSxH#xxxxxx
>
> This will draw a line at INF using the classes colour if errors were
> detected in that class. If multiple classes have drops then the line
> will get overwritten with the later colour. I could use transparency
> but then it is usually difficult to determine the colours. I have
> tried stacking, but it doesn't like stacking on top of infinity which
> sort of makes sense.

By definition you cannot graph *at* infinity. That is why this "value" was
chosen to trick RRDtool to forget about autoscaling and just graph the
portion already visible.

Not only is stacking "on top of" infinity not defined, you would also, by
definition, stack above (or under) the visible part of the graph and thus
outside the viewport.

What you want is the top of the graph, and infinity is just the tool you
use to get there.

Unless somebody extended the rudimentary VDEF framework, there currently
is no way to find out dnamically what autoscaling is doing. But if you
find out by other means (e.g. a double pass run, or by having a fixed
maximum (as you seem to have)) then you can use that information to draw
your lines at e.g. 95% of maximum and 90% of maximum. It's not exactly
what you aim for now, but I hope it is matching what you're really after.

> If I had drops in two classes then I would like to see 2 lines stacked
> on top of each other in different colours at infinity or negative
> infinity for inbound drops.

One line at the top (or bottom) of the graph, then stack a suffient amount
in the "wrong" direction. I never tried it, but stacking -50M "on top" of
150M should get you at 100M.

HTH
Alex




More information about the rrd-users mailing list