X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=doc%2Frrdgraph_data.pod;h=57b9d0a70da66212ae590d37018d40f1241c066d;hp=c57b2c356d04c35527d7a8ffe4160c0f2c4e3fec;hb=7cd3bc3512c11bb861490bb65553cea5cc0c98b4;hpb=9b3f8a096b6202b9bd580586476660933c7f913f diff --git a/doc/rrdgraph_data.pod b/doc/rrdgraph_data.pod index c57b2c3..57b9d0a 100644 --- a/doc/rrdgraph_data.pod +++ b/doc/rrdgraph_data.pod @@ -4,7 +4,7 @@ rrdgraph_data - preparing data for graphing in rrdtool graph =head1 SYNOPSIS -BIvnameE>=IrrdfileE>:Ids-nameE>:ICFE>[:step=IstepE>][:start=ItimeE>][:end=ItimeE>][:reduce=IBE>] +BIvnameE>=IrrdfileE>:Ids-nameE>:ICFE>[:step=IstepE>][:start=ItimeE>][:end=ItimeE>][:reduce=IBE>][:daemon=IaddressE>] B:I=I @@ -20,11 +20,15 @@ instructions use a language called B which is described in its own manual page. Variable names (I) must be made up strings of the following characters -C with a maximum length of 255 characters. +C and a maximum length of 255 characters. + +When picking variable names, make sure you do not choose a name that is +already taken by an RPN operator. A safe bet it to use lowercase or +mixed case names for variables since operators will always be in uppercase. =head1 DEF -BIvnameE>=IrrdfileE>:Ids-nameE>:ICFE>[:step=IstepE>][:start=ItimeE>][:end=ItimeE>][:reduce=IBE>] +BIvnameE>=IrrdfileE>:Ids-nameE>:ICFE>[:step=IstepE>][:start=ItimeE>][:end=ItimeE>][:reduce=IBE>][:daemon=IaddressE>] This command fetches data from an B file. The virtual name I can then be used throughout the rest of the script. By @@ -46,16 +50,24 @@ image with width 400 and time span 400*1800 seconds (use appropriate start and end times, such as C<--start end-8days8hours>). If consolidation needs to be done, the B of the B specified in the -B itself will be used to reduce the data density. This behaviour can +B itself will be used to reduce the data density. This behavior can be changed using C<:reduce=IBE>>. This optional parameter specifies the B to use during the data reduction phase. +It is possible to request single data sources from a specific I, see +L, using the C<:daemon=IaddressE>> parameter. The +value given to this parameter follows the same syntax as other means to specify +the address of the caching daemon. It is described in detail in the +L manual page. Beware, however, that colons (in IPv6 addresses +and as a port separator, for example) need to be escaped using a backslash. + Example: DEF:ds0=router.rrd:ds0:AVERAGE DEF:ds0weekly=router.rrd:ds0:AVERAGE:step=7200 DEF:ds0weekly=router.rrd:ds0:AVERAGE:start=end-1h DEF:ds0weekly=router.rrd:ds0:AVERAGE:start=11\:00:end=start+1h + DEF:ds0weekly=router.rrd:ds0:AVERAGE:daemon=collect1.example.com =head1 VDEF @@ -71,6 +83,9 @@ elements. Example: C +Note that currently only aggregation functions work in VDEF rpn expressions. +Patches to change this are welcome. + =head1 CDEF B:I=I @@ -83,6 +98,34 @@ the script, just as if it were generated by a B instruction. Example: C +=head1 About CDEF versus VDEF + +At some point in processing, B has gathered an array of rates +ready to display. + +B works on such an array. For example, I +would multiply each of the array members by eight (probably +transforming bytes into bits). The result is an array containing the +new values. + +B also works on such an array but in a different way. For +example, I would scan each of the array members +and store the maximum value. + +=head2 When do you use B versus B? + +Use B to transform your data prior to graphing. In the above +example, we'd use a B to transform bytes to bits before +graphing the bits. + +You use a B if you want I to return five which +would be displayed in the graph's legend (to answer, what was the +maximum value during the graph period). + +If you want to apply 'complex' operations to the result of a VDEF you have +to use a CDEF again since VDEFs only look like RPN expressions, they aren't +really. + =head1 SEE ALSO L gives an overview of how B works. @@ -94,6 +137,7 @@ Make sure to read L for tipsEtricks. =head1 AUTHOR -Program by Tobias Oetiker Eoetiker@ee.ethz.chE +Program by Tobias Oetiker Etobi@oetiker.chE -This manual page by Alex van den Bogaerdt Ealex@ergens.op.het.netE +This manual page by Alex van den Bogaerdt Ealex@vandenbogaerdt.nlE +with corrections and/or additions by several people