X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=doc%2Frrdgraph_rpn.src;h=51ed056341a556577cb7427f7a59544ce0e6e560;hp=7952a3f22e0899501c0fb47b443bb3017c3be8ea;hb=85531c9fe3758d08f782503f888fff12b7c002f5;hpb=5cbf604e8be474094aef371c53917ec9046bad32 diff --git a/doc/rrdgraph_rpn.src b/doc/rrdgraph_rpn.src index 7952a3f..51ed056 100644 --- a/doc/rrdgraph_rpn.src +++ b/doc/rrdgraph_rpn.src @@ -1,6 +1,6 @@ =include name -=head1 SYNOPSYS +=head1 SYNOPSIS IRPN expressionE> := IvnameE>|IoperatorE>|IvalueE> @@ -21,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 @@ -42,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. @@ -60,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 @@ -98,9 +97,13 @@ B<+, -, *, /, %> Add, subtract, multiply, divide, modulo -B +B -Sine, cosine (input in radians), log, exp (natural logarithm) +Sine, cosine (input in radians), log, exp (natural logarithm), square root + +B + +Arctangent. Output in radians. B @@ -108,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 @@ -127,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 @@ -134,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