X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=doc%2Frrdgraph_rpn.pod;h=b79e4e2db3b42d7f7be588aaeee6cf91423beccd;hb=1ed31d581dfed23377a61d4df88bb9c2b9b2c94b;hp=f54bd381de2bf6e6a46b782fa56f4b27fc7f601b;hpb=ade8a598c4569fbbd663b857be6e360a2dbdb895;p=rrdtool.git diff --git a/doc/rrdgraph_rpn.pod b/doc/rrdgraph_rpn.pod index f54bd38..b79e4e2 100644 --- a/doc/rrdgraph_rpn.pod +++ b/doc/rrdgraph_rpn.pod @@ -1,21 +1,10 @@ -=head1 NAME +=head1 NAME -rrdtool graph - Round Robin Database tool grapher functions +rrdgraph_rpn - About RPN Math in rrdtool graph -WARNING: This is for version 1.1.x which is B> software. -The software may contain serious bugs. Some of the items -described in here may not yet exist (although this should -be mentioned) or still be in the alpha stage. As with every -other RRDtool release: use at your own risk. In contrast with -the stable version of RRDtool, this release may contain bugs -known to the authors. It is highly recommended that you subscribe -to the mailing list. +=head1 SYNOPSIS -=head1 SYNOPSYS - -IRPN expressionE> := -IvnameE>|IoperatorE>|IvalueE> -[ , IRPN expressionE>] +I:=I|I|I[,I] =head1 DESCRIPTION @@ -32,6 +21,11 @@ this is what is put into the I. For B instructions, the stack is processed for each data point on the graph. B instructions work on an entire data set in one run. +Example: C + +This will set variable "maximum" which you now can use in the rest +of your RRD script. + Example: C This means: push variable I, push the number 8, execute @@ -53,16 +47,12 @@ would do C and need no parentheses. B -I - Pop two elements from the stack, compare them for the selected condition and return 1 for true or 0 for false. Comparing an I or an I value will always result in 0 (false). B -I - Pop one element from the stack, compare this to I respectively to I. Returns 1 for true or 0 for false. @@ -71,9 +61,7 @@ B Pops three elements from the stack. If the last element is 0 (false), the first value is pushed back onto the stack, otherwise the second popped value is pushed back. This does, indeed, mean that any value -other than 0 is considered true. -I +other than 0 is considered to be true. Example: C should be read as C @@ -109,9 +97,13 @@ B<+, -, *, /, %> Add, subtract, multiply, divide, modulo -B +B + +Sine, cosine (input in radians), log, exp (natural logarithm), square root + +B -Sine, cosine (input in radians), log, exp (natural logarithm) +Arctangent. Output in radians. B @@ -119,6 +111,42 @@ Round down,up to the nearest integer Z<> +=item Set Operations + +B + +Pop one element from the stack. This is the I of items to be sorted +(or reversed). The top I of the remaining elements are then sorted +(or reversed) in place on the stack. + +Example: C will +compute the average of the values v1..v6 after removing the smallest and +largest. + +B + +Create a "sliding window" average of another data series. + +Usage: +CDEF:smoothed=x,1800,TREND + +This will create a half-hour (1800 second) sliding window average of x. The +average is essentially computed as shown here: + + +---!---!---!---!---!---!---!---!---> + now + delay t0 + <---------------> + delay t1 + <---------------> + delay t2 + <---------------> + + + Value at sample (t0) will be the average between (t0-delay) and (t0) + Value at sample (t1) will be the average between (t1-delay) and (t1) + Value at sample (t2) will be the average between (t2-delay) and (t2) + =item Special values B @@ -138,6 +166,20 @@ set or otherwise the result of this B at the previous time step. This allows you to do calculations across the data. This function cannot be used in B instructions. +B + +Pushes an I value if this is the first value of a data +set or otherwise the result of vname variable at the previous time +step. This allows you to do calculations across the data. This +function cannot be used in B instructions. + +B + +Pushes the number 1 if this is the first value of the data set, the +number 2 if it is the second, and so on. This special value, allows +you to make calculations based on the position of the value within +the data set. This function cannot be used in B instructions. + Z<> =item Time @@ -145,41 +187,21 @@ Z<> Time inside RRDtool is measured in seconds since the epoch. This epoch is defined to be S>. -Z<> - -=over 4 - -=item NOW +B Pushes the current time on the stack. -Z<> - -=item TIME +B