S<[B<-e>|B<--end> I<seconds>]>
S<[B<-x>|B<--x-grid> I<x-axis grid and label>]>
S<[B<-y>|B<--y-grid> I<y-axis grid and label>]>
S<[B<-e>|B<--end> I<seconds>]>
S<[B<-x>|B<--x-grid> I<x-axis grid and label>]>
S<[B<-y>|B<--y-grid> I<y-axis grid and label>]>
S<[B<-X>|B<--units-exponent>]> I<value>]>
S<[B<-v>|B<--vertical-label> I<text>]>
S<[B<-w>|B<--width> I<pixels>]>
S<[B<-X>|B<--units-exponent>]> I<value>]>
S<[B<-v>|B<--vertical-label> I<text>]>
S<[B<-w>|B<--width> I<pixels>]>
-S<[B<-h>|B<--height> I<pixels>]>
-S<[B<-i>|B<--interlaced>]>
-S<[B<-f>|B<--imginfo> I<formatstring>]>
-S<[B<-a>|B<--imgformat> B<SVG>|B<PNG>]>
-S<[B<-z>|B<--lazy>]>
+S<[B<-h>|B<--height> I<pixels>]>
+S<[B<-i>|B<--interlaced>]>
+S<[B<-f>|B<--imginfo> I<formatstring>]>
+S<[B<-a>|B<--imgformat> B<SVG>|B<PNG>]>
+S<[B<-z>|B<--lazy>]>
The name of the graph to generate. Since B<RRDtool> outputs
SVGs and PNGs, it's recommended that the filename end in either
The name of the graph to generate. Since B<RRDtool> outputs
SVGs and PNGs, it's recommended that the filename end in either
Place Y grid dynamically based on graph Y range. Algorithm ensures
that you always have grid, that there are enough but not too many
Place Y grid dynamically based on graph Y range. Algorithm ensures
that you always have grid, that there are enough but not too many
-Compute Y range based on function absolute minimum and
-maximum values. Default algorithm uses predefined set of ranges.
+Compute Y range based on function absolute minimum and
+maximum values. Default algorithm uses predefined set of ranges.
will use Y range from 250 to 300 and on the graph you will see
almost straight line. With --alt-autoscale Y range will be
from slightly less the 260 - 0.001 to slightly more then 260 + 0.001
will use Y range from 250 to 300 and on the graph you will see
almost straight line. With --alt-autoscale Y range will be
from slightly less the 260 - 0.001 to slightly more then 260 + 0.001
value, if not defined on the command line, will be 0. This option can
be useful when graphing router traffic when the WAN line uses compression,
and thus the throughput may be higher than the WAN line speed.
value, if not defined on the command line, will be 0. This option can
be useful when graphing router traffic when the WAN line uses compression,
and thus the throughput may be higher than the WAN line speed.
By default rrdgraph calculates the width of one pixel in the time domain and
tries to get data at that resolution from the RRD. With this switch you can
By default rrdgraph calculates the width of one pixel in the time domain and
tries to get data at that resolution from the RRD. With this switch you can
resolution from the RRD, then you can set the step to 3600 seconds. Note,
that a step smaller than 1 pixel will be silently ignored.
resolution from the RRD, then you can set the step to 3600 seconds. Note,
that a step smaller than 1 pixel will be silently ignored.
Create a new virtual data source by evaluating a mathematical expression,
specified in Reverse Polish Notation (RPN). If you have ever used a traditional
Create a new virtual data source by evaluating a mathematical expression,
specified in Reverse Polish Notation (RPN). If you have ever used a traditional
that you have a stack and push your data onto this stack. When ever
you execute an operation, it takes as many data values from the stack
as needed. The pushing of data is implicit, so when ever you specify a number
that you have a stack and push your data onto this stack. When ever
you execute an operation, it takes as many data values from the stack
as needed. The pushing of data is implicit, so when ever you specify a number
If this is all a big load of incomprehensible words for you, maybe an
example helps (a more complete explanation is given in [1]): The
If this is all a big load of incomprehensible words for you, maybe an
example helps (a more complete explanation is given in [1]): The
The I<rpn-expression> in the B<CDEF> function takes both, constant values
as well as I<vname> variables. The following operators can be used on these
The I<rpn-expression> in the B<CDEF> function takes both, constant values
as well as I<vname> variables. The following operators can be used on these
the result back onto the stack. The % operator stands for the modulo
operation.
=item SIN, COS, LOG, EXP, FLOOR, CEIL
the result back onto the stack. The % operator stands for the modulo
operation.
=item SIN, COS, LOG, EXP, FLOOR, CEIL
condition and pushes either 1 back onto the stack if the condition is true
and 0 if the condition was not true.
=item IF
condition and pushes either 1 back onto the stack if the condition is true
and 0 if the condition was not true.
=item IF
second value will be pushed back onto the stack, otherwise the
first value is pushed back.
second value will be pushed back onto the stack, otherwise the
first value is pushed back.
-Pushes the number 1 if it is at the first value of the data set, the
-number 2 if it is at the second, and so on. This special value, allows
-you to make calculations based on the position of the value within
+Pushes the number 1 if it is at the first value of the data set, the
+number 2 if it is at the second, and so on. This special value, allows
+you to make calculations based on the position of the value within
=item B<LINE>{B<1>|B<2>|B<3>}B<:>I<vname>[B<#>I<rrggbb>[B<:>I<legend>]]
Plot for the requested data, using the color specified. Write a legend
=item B<LINE>{B<1>|B<2>|B<3>}B<:>I<vname>[B<#>I<rrggbb>[B<:>I<legend>]]
Plot for the requested data, using the color specified. Write a legend
-into the graph. The 3 possible keywords B<LINE1>, B<LINE2>, and B<LINE3>
-generate increasingly wide lines. If no color is defined,
-the drawing is done 'blind' this is useful in connection with the
-B<STACK> function when you want to ADD the values of two
+into the graph. The 3 possible keywords B<LINE1>, B<LINE2>, and B<LINE3>
+generate increasingly wide lines. If no color is defined,
+the drawing is done 'blind' this is useful in connection with the
+B<STACK> function when you want to ADD the values of two
the graph will be filled with the color specified.
=item B<STACK>:I<vname>[B<#>I<rrggbb>[B<:>I<legend>]]
the graph will be filled with the color specified.
=item B<STACK>:I<vname>[B<#>I<rrggbb>[B<:>I<legend>]]
previous graph, the B<STACK> will be either a B<LINE?> or an B<AREA>.
This obviously implies that the first B<STACK> must be preceded by an
B<AREA> or B<LINE?> -- you need something to stack something onto in
previous graph, the B<STACK> will be either a B<LINE?> or an B<AREA>.
This obviously implies that the first B<STACK> must be preceded by an
B<AREA> or B<LINE?> -- you need something to stack something onto in
Note, that when you STACK onto *UNKNOWN* data, RRDtool will not draw
any graphics ... *UNKNOWN* is not zero ... if you want it to be zero
Note, that when you STACK onto *UNKNOWN* data, RRDtool will not draw
any graphics ... *UNKNOWN* is not zero ... if you want it to be zero
CDEF:aggoutput=odat1,UN,0,odat1,IF,odat2,UN,0,odat2,IF,+,8,* \
AREA:agginput#00cc00:Input Aggregate \
LINE1:agginput#0000FF:Output Aggregate
CDEF:aggoutput=odat1,UN,0,odat1,IF,odat2,UN,0,odat2,IF,+,8,* \
AREA:agginput#00cc00:Input Aggregate \
LINE1:agginput#0000FF:Output Aggregate
leaves us with a stack with contents of 1,0,NaN and the IF function
will pop off the 3 values and replace them with 0. If idat1 had a
real value like 7942099, then the stack would have 0,0,7942099 and the
leaves us with a stack with contents of 1,0,NaN and the IF function
will pop off the 3 values and replace them with 0. If idat1 had a
real value like 7942099, then the stack would have 0,0,7942099 and the