From d828f3eccac8dbad7bfc14812e406377669baaa4 Mon Sep 17 00:00:00 2001 From: oetiker Date: Tue, 18 May 2004 18:53:03 +0000 Subject: [PATCH] big spell checking patch -- slif@bellsouth.net git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@255 a5681a0c-68f1-0310-ab6d-d61299d08faa --- CONTRIBUTORS | 6 +-- NEWS | 6 +-- README | 2 +- TODO | 2 +- bindings/perl-piped/README | 2 +- bindings/perl-piped/RRDp.pm | 30 +++++++------- bindings/perl-piped/t/base.t | 2 +- bindings/perl-shared/RRDs.pm | 10 ++--- bindings/tcl/README | 2 +- doc/bin_dec_hex.pod | 2 +- doc/cdeftutorial.pod | 37 ++++++++--------- doc/rpntutorial.pod | 14 +++---- doc/rrdcgi.pod | 6 +-- doc/rrdcreate.pod | 78 ++++++++++++++++++------------------ doc/rrddump.pod | 22 ++++++++++ doc/rrdfetch.pod | 13 +++--- doc/rrdgraph-old.pod | 26 ++++++------ doc/rrdgraph.src | 20 ++++----- doc/rrdgraph_data.src | 8 ++-- doc/rrdgraph_examples.src | 2 +- doc/rrdgraph_graph.src | 8 ++-- doc/rrdgraph_rpn.src | 8 ++-- doc/rrdinfo.pod | 18 ++++----- doc/rrdresize.pod | 2 +- doc/rrdrestore.pod | 4 +- doc/rrdthreads.pod | 2 +- doc/rrdtool.pod | 72 ++++++++++++++++----------------- doc/rrdtune.pod | 12 +++--- doc/rrdtutorial.es.pod | 2 +- doc/rrdtutorial.pod | 10 ++--- doc/rrdupdate.pod | 8 ++-- src/parsetime.c | 22 +++++----- src/rrd_fetch.c | 5 ++- src/rrd_format.c | 5 ++- src/rrd_gfx.c | 2 +- src/rrd_graph.c | 2 +- 36 files changed, 248 insertions(+), 224 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 2543178..f9777ed 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1,5 +1,5 @@ I would like to thank to following people for helping to -bring RRDTool into existence. +bring RRDtool into existence. Planning and Inspiration @@ -85,7 +85,7 @@ Internet Resources and DNS:NET Internet Services (www.dns-net.de) for http://rrdtool.org -Further I would like to note, that rrdtool would not exist without +Further I would like to note, that RRDtool would not exist without the following free software products: Perl by Larry Wall @@ -102,7 +102,7 @@ the following free software products: I would also like to thank the Department of Electrical Engineering at the Swiss Federal Institute of Technology who allow me to -use their network resources to publish rrdtool ... +use their network resources to publish RRDtool ... During Summer 1999 CAIDA (www.caida.org) has supported me in working full time on RRDtool ... A big thank you to them as well. diff --git a/NEWS b/NEWS index 43222db..9d461b4 100644 --- a/NEWS +++ b/NEWS @@ -2,7 +2,7 @@ RRDTOOL NEWS ============ -In this file I am noting the Major changes to rrdtool +In this file I am noting the major changes to RRDtool for details check the cvs ChangeLog 2004/01/20 Tobi Oetiker @@ -26,7 +26,7 @@ for details check the cvs ChangeLog * Updated zlib and libpng * rrd_gfx.c intrduced as libart wrapper * LINE takes now a float as argument - * rrdtool uses truetype for fonts + * RRDtool uses truetype for fonts * thanks to libart there is now full alpha transparenc and antialiasing. * the new option --font lets customize the font @@ -62,7 +62,7 @@ for details check the cvs ChangeLog 2001/03/02 Tobias Oetiker Added Aberrant Patch from Jake Brutlag From now one, new rrd files use version tag 0002. They can - NOT be read by the old 1.0.x rrdtools. + NOT be read by the old 1.0.x RRDtools. Jake: Aberrant Behavior Detection support. A brief overview added to diff --git a/README b/README index 47f727f..2eb96a6 100644 --- a/README +++ b/README @@ -64,7 +64,7 @@ this will install the perl modules whereever you keep your local perl modules. Doing this reliefs you from using 'use lib' in your scripts. Configure will also look for an TCL installation on your system. If it finds -one it will build a TCL interface for rrdtool. If you keep tcl in a non +one it will build a TCL interface for RRDtool. If you keep tcl in a non standard location you can use sh configure --with-tcllib=/sw/tcl-8.3/lib diff --git a/TODO b/TODO index c7235f0..5416bd2 100644 --- a/TODO +++ b/TODO @@ -23,7 +23,7 @@ be ignored allow sub second presition for step definition -modularise consolidation and aquisition functions +modularise consolidation and acquisition functions Allow the user to define vertical scaling of graphs in a more flexible way. some thing like --inner-range 0-1000 and --outer-range 0-10000 which means diff --git a/bindings/perl-piped/README b/bindings/perl-piped/README index 8f94aa5..672061d 100644 --- a/bindings/perl-piped/README +++ b/bindings/perl-piped/README @@ -1,4 +1,4 @@ -This is a Perl module for using rrdtool process via a set of pipes. +This is a Perl module for using RRDtool process via a set of pipes. perl Makefile.PL make test diff --git a/bindings/perl-piped/RRDp.pm b/bindings/perl-piped/RRDp.pm index c644766..89b168e 100644 --- a/bindings/perl-piped/RRDp.pm +++ b/bindings/perl-piped/RRDp.pm @@ -2,13 +2,13 @@ package RRDp; =head1 NAME -RRDp - Attach rrdtool from within a perl script via a set of pipes; +RRDp - Attach RRDtool from within a perl script via a set of pipes; =head1 SYNOPSIS use B -B I +B I B I @@ -20,15 +20,15 @@ B<$RRDp::user>, B<$RRDp::sys>, B<$RRDp::real> =head1 DESCRIPTION -With this module you can safely communicate with the rrdtool. +With this module you can safely communicate with the RRDtool. After every B you have to issue an B command to get -Bs answer to your command. The answer is returned as a pointer, +Bs answer to your command. The answer is returned as a pointer, in order to speed things up. If the last command did not return any data, B will return an undefined variable. If you import the PERFORMANCE variables into your namespace, -you can access rrdtools internal performance measurements. +you can access RRDtool's internal performance measurements. =over 8 @@ -36,34 +36,34 @@ you can access rrdtools internal performance measurements. Load the RRDp::pipe module. -=item B I +=item B I -start rrdtool. The argument must be the path to the rrdtool executable +start RRDtool. The argument must be the path to the RRDtool executable =item B I -pass commands on to rrdtool. check the rrdtool documentation for -more info on the rrdtool commands. +pass commands on to RRDtool. check the RRDtool documentation for +more info on the RRDtool commands. =item $answer = B -read rrdtools response to your command. Note that the $answer variable will +read RRDtool's response to your command. Note that the $answer variable will only contain a pointer to the returned data. The reason for this is, that -rrdtool can potentially return quite excessive amounts of data +RRDtool can potentially return quite excessive amounts of data and we don't want to copy this around in memory. So when you want to access the contents of $answer you have to use $$answer which dereferences the variable. =item $status = B -terminates rrdtool and returns rrdtools status ... +terminates RRDtool and returns RRDtool's status ... =item B<$RRDp::user>, B<$RRDp::sys>, B<$RRDp::real> these variables will contain totals of the user time, system time and -real time as seen by rrdtool. User time is the time rrdtool is +real time as seen by RRDtool. User time is the time RRDtool is running, System time is the time spend in system calls and real time -is the total time rrdtool has been running. +is the total time RRDtool has been running. The difference between user + system and real is the time spent waiting for things like the hard disk and new input from the perl @@ -85,7 +85,7 @@ script. =head1 SEE ALSO -For more information on how to use rrdtool, check the manpages. +For more information on how to use RRDtool, check the manpages. =head1 AUTHOR diff --git a/bindings/perl-piped/t/base.t b/bindings/perl-piped/t/base.t index 5f08fe8..b7de1f5 100755 --- a/bindings/perl-piped/t/base.t +++ b/bindings/perl-piped/t/base.t @@ -1,6 +1,6 @@ #! /usr/bin/perl -# this exercises just the perl module .. not rrdtool as such ... +# this exercises just the perl module .. not RRDtool as such ... BEGIN { $| = 1; print "1..5\n"; } END { diff --git a/bindings/perl-shared/RRDs.pm b/bindings/perl-shared/RRDs.pm index fbb885a..b0d6b7e 100644 --- a/bindings/perl-shared/RRDs.pm +++ b/bindings/perl-shared/RRDs.pm @@ -16,7 +16,7 @@ __END__ =head1 NAME -RRDs - Access rrdtool as a shared module +RRDs - Access RRDtool as a shared module =head1 SYNOPSIS @@ -35,9 +35,9 @@ RRDs - Access rrdtool as a shared module =head2 Calling Sequence -This module accesses rrdtool functionality directly from within perl. The +This module accesses RRDtool functionality directly from within perl. The arguments to the functions listed in the SYNOPSIS are explained in the regular -rrdtool documentation. The commandline call +RRDtool documentation. The commandline call rrdtool update mydemo.rrd --template in:out N:12:13 @@ -53,7 +53,7 @@ is also valid. The RRDs::times function takes two parameters: a "start" and "end" time. These should be specified in the B format -used by rrdtool. See the B documentation for a detailed +used by RRDtool. See the B documentation for a detailed explanation on how to specify time. =head2 Error Handling @@ -87,7 +87,7 @@ created image and results of the PRINT arguments. print "Averages: ", (join ", ", @$averages); B returns a pointer to a hash. The keys of the hash -represent the property names of the rrd and the values of the hash are +represent the property names of the RRD and the values of the hash are the values of the properties. $hash = RRDs::info "example.rrd"; diff --git a/bindings/tcl/README b/bindings/tcl/README index cb129a6..065a03a 100644 --- a/bindings/tcl/README +++ b/bindings/tcl/README @@ -10,7 +10,7 @@ TCLRRD adds a dynamically loadable package to the Tcl 8.x interpreter to access all RRD functions as of RRDtool 1.0.13. All command names and arguments are equal to those of RRDtool. They are assigned to the namespace `Rrd', e.g. `Rrd::create'. Return values are a bit -different from plain rrdtool behavior to enable more native Tcl +different from plain RRDtool behavior to enable more native Tcl usage. Errors are mapped to the TCL_ERROR return code together with the RRD error strings. diff --git a/doc/bin_dec_hex.pod b/doc/bin_dec_hex.pod index ea3ed94..3a2f2fb 100644 --- a/doc/bin_dec_hex.pod +++ b/doc/bin_dec_hex.pod @@ -12,7 +12,7 @@ start all over again and increment the position just before this. The digit 0 is only shown if it is the only symbol in the sequence, or if it is not the first one. -If this sounds as crypto to you, this is what I've said in numbers: +If this sounds cryptic to you, this is what I've said in numbers: 0 1 diff --git a/doc/cdeftutorial.pod b/doc/cdeftutorial.pod index 101f1c9..fb33770 100644 --- a/doc/cdeftutorial.pod +++ b/doc/cdeftutorial.pod @@ -76,7 +76,7 @@ You put the variables or numbers on a stack. You also put operations (things-to-do) on the stack and this stack is then processed. The result will be placed on the stack. At the end, there should be exactly one number left: the outcome of the series of operations. If there is not -exactly one number left, rrdtool will complain loudly. +exactly one number left, RRDtool will complain loudly. Above multiplication by eight will look like: @@ -182,7 +182,7 @@ RRD router1.rrd) -------------------- + (outcome of the sum) -As a mathmatical function, this could be written: +As a mathematical function, this could be written: C @@ -216,7 +216,7 @@ This is correct but it can be made more clear to humans. It does not matter if you add a to b and then add c to the result or first add b to c and then add a to the result. This makes it possible to rewrite the RPN into C which is -evaluatated differently: +evaluated differently: push value of variable a on the stack: a push value of variable b on the stack: a b @@ -257,9 +257,9 @@ easy to write it in RPN: C. Note that this is very similar to one of the expressions in the previous paragraph, only the multiplication and the addition changed places. -When you have problems with RPN or when rrdtool is complaining, it's +When you have problems with RPN or when RRDtool is complaining, it's usually a Good Thing to write down the stack on a piece of paper -and see what happens. Have the manual ready and pretend to be rrdtool. +and see what happens. Have the manual ready and pretend to be RRDtool. Just do all the math by hand to see what happens, I'm sure this will solve most, if not all, problems you encounter. @@ -353,7 +353,7 @@ RRDtool is capable of representing (-not- graphing!) infinity by stopping at its current maximum (for positive infinity) or minimum (for negative infinity) without knowing this maximum (minimum). -Infinity in rrdtool is mostly used to draw an AREA without knowing its +Infinity in RRDtool is mostly used to draw an AREA without knowing its vertical dimensions. You can think of it as drawing an AREA with an infinite height and displaying only the part that is visible in the current graph. This is probably a good way to approximate infinity @@ -399,8 +399,8 @@ possible to create a database filled with zeros, you have to put them in on purpose. Implementing the second method is described next: What we want is: "if the value is unknown, replace it with zero". This -could be writte in pseudo-code as: if (value is unknown) then (zero) -else (value). When reading the rrdgraph manual you notice the "UN" +could be written in pseudo-code as: if (value is unknown) then (zero) +else (value). When reading the L manual you notice the "UN" function that returns zero or one. You also notice the "IF" function that takes zero or one as input. @@ -425,10 +425,10 @@ appropriate things for "a" and "b" we're finished: C -You may want to read Steve Raders RPN guide if you have difficulties +You may want to read Steve Rader's RPN guide if you have difficulties with the way I explained this last example. -If you want to check this RPN expression, just mimic rrdtools behavior: +If you want to check this RPN expression, just mimic RRDtool behavior: For any known value, the expression evaluates as follows: CDEF:result=value,UN,0,value,IF (value,UN) is not true so it becomes 0 @@ -522,7 +522,7 @@ a constant number, we need "GT". The output of "GT" is true or false and this is good input to "IF". We want "if (time > 937521357) then (return a) else (return b)". -This process was already described toroughly in the previous chapter +This process was already described thoroughly in the previous chapter so lets do it quick: if (x) then a else b @@ -571,7 +571,7 @@ or Pseudo code: if (number > 100) then 100 else number. The second "problem" may also be solved by using the rigid option of -rrdtool graph, however this has not the same result. In this example +RRDtool graph, however this has not the same result. In this example you can end up with a graph that does autoscaling. Also, if you use the numbers to display maxima they will be set to 100kb/s. @@ -603,7 +603,7 @@ Comparing isn't difficult: These two parts of the CDEF produce either 0 for false or 1 for true. We can now check if they are both 0 (or 1) using a few IF statements but, as Wataru Satoh pointed out, we can use the "*" or "+" functions -as locical AND and locical OR. +as logical AND and logical OR. For "*", the result will be zero (false) if either one of the two operators is zero. For "+", the result will only be false (0) when @@ -694,7 +694,7 @@ will be drawn and because it starts at the X-axis and has infinite height it will effectively overwrite the STACKed parts. You could combine the two CDEF lines into one (we don't use "allusers") -if you like. But there are good reasons for writting two CDEFS: +if you like. But there are good reasons for writing two CDEFS: =over 4 @@ -721,9 +721,9 @@ If you do so, you won't be able to use these next GPRINTs: GPRINT:allusers:AVERAGE:"Average: %6.0lf" GPRINT:allusers:LAST:"Current: %6.0lf\n" -=head1 The examples from the rrd graph manual page +=head1 The examples from the RRD graph manual page -=head2 Degrees Celcius vs. Degrees Fahrenheit +=head2 Degrees Celsius vs. Degrees Fahrenheit rrdtool graph demo.png --title="Demo Graph" \ DEF:cel=demo.rrd:exhaust:AVERAGE \ @@ -744,7 +744,7 @@ as follows: 5. push function "multiply" and process it 6. the resulting value is now "(cel-32)*0.55555" -Note that if you take the celcius to fahrenheit function you should +Note that if you take the Celsius to Fahrenheit function you should be doing "5/9*(cel-32)" so 0.55555 is not exactly correct. It is close enough for this purpose and it saves a calculation. @@ -820,7 +820,7 @@ We now have to process the rest of the RPN and this is only a simple "IF" function that returns either "INF" or "UNKN" depending on the time. This is returned to variable "background". -The second CDEF has been discussed earlyer in this document so we +The second CDEF has been discussed earlier in this document so we won't do that here. Now you can draw the different layers. Start with the background @@ -863,6 +863,7 @@ You may do some complex data filtering: LINE3:derivate#000077:derivate LINE1:var#007700:'raw data' + =head1 Out of ideas for now This document was created from questions asked by either myself or diff --git a/doc/rpntutorial.pod b/doc/rpntutorial.pod index 246eb81..13ee0ec 100644 --- a/doc/rpntutorial.pod +++ b/doc/rpntutorial.pod @@ -1,13 +1,13 @@ =head1 NAME -rpntutorial - Reading RRDTtool RPN Expressions by Steve Rader +rpntutorial - Reading RRDtool RPN Expressions by Steve Rader =for html
PDF version.
=head1 DESCRIPTION -This tutorial should help you get to grips with rrdtool RPN expressions -as seen in CDEF arguments of rrdtool graph. +This tutorial should help you get to grips with RRDtool RPN expressions +as seen in CDEF arguments of RRDtool graph. =head1 Reading Comparison Operators @@ -40,7 +40,7 @@ And the first value to the left of the IF corresponds to the false ("Z") branch. Read the RPN expression "X,Y,Z,IF" from left to right like so: "if X then Y else Z". -For example, consider "1,10,100,IF". It looks bizzare to me. +For example, consider "1,10,100,IF". It looks bizarre to me. But when I read "if 1 then 10 else 100" it's crystal clear: 1 is true so the answer is 10. Note that only zero is false; all other values are true. "2,20,200,IF" ("if 2 then 20 else 200") evaluates to 20. @@ -72,7 +72,7 @@ operations as: 2) 1,5,+ eval is 1,5,+ = 6 result is 6 3) 6 -Let's use that notation to conviently solve some complex RPN expressions +Let's use that notation to conveniently solve some complex RPN expressions with multiple logic operators: 1) 20,10,GT,10,20,IF eval is 20,10,GT = 1 result is 1,10,20,IF @@ -175,7 +175,7 @@ Answer 3: Traditional mathematic expressions are evaluated by doing multiplication and division first, then addition and - subtraction. Perentences are used to force the evaluation of + subtraction. Parentheses are used to force the evaluation of addition before multiplication (etc). RPN does not require parentheses because the ordering of objects on the stack can force the evaluation of addition before multiplication. @@ -197,4 +197,4 @@ Answer 4: =head1 AUTHOR -steve rader Erader@wiscnet.netE +Steve Rader Erader@wiscnet.netE diff --git a/doc/rrdcgi.pod b/doc/rrdcgi.pod index 9089c52..66260ac 100644 --- a/doc/rrdcgi.pod +++ b/doc/rrdcgi.pod @@ -92,12 +92,12 @@ Analog to GETENV but for local variables =item RRD::TIME::LAST I I This gets replaced by the last modification time of the selected RRD. The -time is I-formated with the string specified in the second argument. +time is I-formatted with the string specified in the second argument. =item RRD::TIME::NOW I This gets replaced by the current time of day. The -time is I-formated with the string specified in the argument. +time is I-formatted with the string specified in the argument. =item RRD::TIME::STRFTIME I I I I @@ -105,7 +105,7 @@ This gets replaced by a strftime-formatted time using the format I on either I or I depending on whether I or I is specified. Both I and I must be supplied as either could be relative to the other. This is intended -to allow pretty titles on graphs with times that are easier for non rrdtool +to allow pretty titles on graphs with times that are easier for non RRDtool folks to figure out than "-2weeks". =item RRD::GRAPH I diff --git a/doc/rrdcreate.pod b/doc/rrdcreate.pod index d516ab4..91e63d6 100644 --- a/doc/rrdcreate.pod +++ b/doc/rrdcreate.pod @@ -25,13 +25,13 @@ with I<*UNKNOWN*> data. =item I The name of the B you want to create. B files should end -with the extension F<.rrd>. However, B will accept any +with the extension F<.rrd>. However, B will accept any filename. =item B<--start>|B<-b> I (default: now - 10s) Specifies the time in seconds since 1970-01-01 UTC when the first -value should be added to the B. B will not accept +value should be added to the B. B will not accept any data timed before or at the time specified. See also AT-STYLE TIME SPECIFICATION section in the @@ -76,7 +76,7 @@ room or value of a RedHat share. =item B is for continuous incrementing counters like the -InOctets counter in a router. The B data source assumes that +ifInOctets counter in a router. The B data source assumes that the counter never decreases, except when a counter overflows. The update function takes the overflow into account. The counter is stored as a per-second rate. When the counter overflows, RRDtool checks if the overflow happened at @@ -199,15 +199,15 @@ aberrant behavior in the data source time series: =over 4 -=item BIB<:>IB<:>IB<:>IB<:>IB<:>I +=item BIB<:>IB<:>IB<:>IB<:>IB<:>I -=item BIB<:>IB<:>IB<:>I +=item BIB<:>IB<:>IB<:>I -=item BIB<:>IB<:>IB<:>I +=item BIB<:>IB<:>IB<:>I -=item BIB<:>IB<:>I +=item BIB<:>IB<:>I -=item BIB<:>IB<:>IB<:>IB<:>I +=item BIB<:>IB<:>IB<:>IB<:>I =back @@ -229,24 +229,24 @@ example of using these B to graph confidence bounds and failures appears in L. The SEASONAL and DEVSEASONAL B store the seasonal coefficients for the -Holt-Winters Forecasting algorithm and the seasonal deviations respectively. +Holt-Winters forecasting algorithm and the seasonal deviations respectively. There is one entry per observation time point in the seasonal cycle. For example, if primary data points are generated every five minutes, and the seasonal cycle is 1 day, both SEASONAL and DEVSEASONAL with have 288 rows. In order to simplify the creation for the novice user, in addition to supporting explicit creation the HWPREDICT, SEASONAL, DEVPREDICT, -DEVSEASONAL, and FAILURES B, the B create command supports +DEVSEASONAL, and FAILURES B, the B create command supports implicit creation of the other four when HWPREDICT is specified alone and -the final argument I is omitted. +the final argument I is omitted. I specifies the length of the B prior to wrap around. Remember that there is a one-to-one correspondence between primary data points and entries in these RRAs. For the HWPREDICT CF, I should be larger than -the I. If the DEVPREDICT B is implicity created, the +the I. If the DEVPREDICT B is implicitly created, the default number of rows is the same as the HWPREDICT I argument. If the FAILURES B is implicitly created, I will be set to the I argument of the HWPREDICT B. Of course, the B +period> argument of the HWPREDICT B. Of course, the B I command is available if these defaults are not sufficient and the create wishes to avoid explicit creations of the other specialized function B. @@ -254,11 +254,11 @@ B. I specifies the number of primary data points in a seasonal cycle. If SEASONAL and DEVSEASONAL are implicitly created, this argument for those B is set automatically to the value specified by HWPREDICT. If -they are explicity created, the creator should verify that all three +they are explicitly created, the creator should verify that all three I arguments agree. -I is the adaptation parameter of the intercept (or baseline) -coefficient in the Holt-Winters Forecasting algorithm. See L for a +I is the adaption parameter of the intercept (or baseline) +coefficient in the Holt-Winters forecasting algorithm. See L for a description of this algorithm. I must lie between 0 and 1. A value closer to 1 means that more recent observations carry greater weight in predicting the baseline component of the forecast. A value closer to 0 mean @@ -266,56 +266,56 @@ that past history carries greater weight in predicted the baseline component. I is the adaption parameter of the slope (or linear trend) coefficient -in the Holt-Winters Forecating algorihtm. I must lie between 0 and 1 +in the Holt-Winters forecasting algorithm. I must lie between 0 and 1 and plays the same role as I with respect to the predicted linear trend. I is the adaption parameter of the seasonal coefficients in the -Holt-Winters Forecasting algorithm (HWPREDICT) or the adaption parameter in +Holt-Winters forecasting algorithm (HWPREDICT) or the adaption parameter in the exponential smoothing update of the seasonal deviations. It must lie between 0 and 1. If the SEASONAL and DEVSEASONAL B are created implicitly, they will both have the same value for I: the value specified for the HWPREDICT I argument. Note that because there is one seasonal coefficient (or deviation) for each time point during the -seasonal cycle, the adaption rate is much slower than the baseline. Each +seasonal cycle, the adaptation rate is much slower than the baseline. Each seasonal coefficient is only updated (or adapts) when the observed value occurs at the offset in the seasonal cycle corresponding to that coefficient. -If SEASONAL and DEVSEASONAL B are created explicity, I need not +If SEASONAL and DEVSEASONAL B are created explicitly, I need not be the same for both. Note that I can also be changed via the -B I command. +B I command. -I provides the links between related B. If HWPREDICT is +I provides the links between related B. If HWPREDICT is specified alone and the other B created implicitly, then there is no need to worry about this argument. If B are created explicitly, then pay careful attention to this argument. For each B which includes this argument, there is a dependency between that B and another B. The -I argument is the 1-based index in the order of B creation +I argument is the 1-based index in the order of B creation (that is, the order they appear in the I command). The dependent -B for each B requiring the I argument is listed here: +B for each B requiring the I argument is listed here: =over 4 =item * -HWPREDICT I is the index of the SEASONAL B. +HWPREDICT I is the index of the SEASONAL B. =item * -SEASONAL I is the index of the HWPREDICT B. +SEASONAL I is the index of the HWPREDICT B. =item * -DEVPREDICT I is the index of the DEVSEASONAL B. +DEVPREDICT I is the index of the DEVSEASONAL B. =item * -DEVSEASONAL I is the index of the HWPREDICT B. +DEVSEASONAL I is the index of the HWPREDICT B. =item * -FAILURES I is the index of the DEVSEASONAL B. +FAILURES I is the index of the DEVSEASONAL B. =back @@ -326,16 +326,16 @@ FAILURES B is implicitly created, the default value is 7. I is the number of time points in the window. Specify an integer greater than or equal to the threshold and less than or equal to 28. The time interval this window represents depends on the interval between -primary data points. If the FAILURES B is implicity created, the +primary data points. If the FAILURES B is implicitly created, the default value is 9. =head1 The HEARTBEAT and the STEP -Here is an explanation by Don Baarda on the inner workings of rrdtool. +Here is an explanation by Don Baarda on the inner workings of RRDtool. It may help you to sort out why all this *UNKNOWN* data is popping up in your databases: -RRD gets fed samples at arbitrary times. From these it builds Primary +RRDtool gets fed samples at arbitrary times. From these it builds Primary Data Points (PDPs) at exact times every "step" interval. The PDPs are then accumulated into RRAs. @@ -363,7 +363,7 @@ the "step" interval between PDPs. A short "heartbeat" means you require multiple samples per PDP, and if you don't get them mark the PDP unknown. A long heartbeat can span multiple "steps", which means it is acceptable to have multiple PDPs calculated from a single -sample. An extreme example of this might be a "step" of 5mins and a +sample. An extreme example of this might be a "step" of 5 minutes and a "heartbeat" of one day, in which case a single sample every day will result in all the PDPs for that entire day period being set to the same average rate. I<-- Don Baarda Edon.baarda@baesystems.comE> @@ -379,9 +379,9 @@ Here are a few hints on how to measure: =item Temperature Normally you have some type of meter you can read to get the temperature. -The temperature is not realy connected with a time. The only connection is +The temperature is not really connected with a time. The only connection is that the temperature reading happened at a certain time. You can use the -B data source type for this. RRRtool will the record your reading +B data source type for this. RRDtool will the record your reading together with the time. =item Mail Messages @@ -389,7 +389,7 @@ together with the time. Assume you have a method to count the number of messages transported by your mailserver in a certain amount of time, this give you data like '5 messages in the last 65 seconds'. If you look at the count of 5 like and -B datatype you can simply update the rrd with the number 5 and the +B data type you can simply update the RRD with the number 5 and the end time of your monitoring period. RRDtool will then record the number of messages per second. If at some later stage you want to know the number of messages transported in a day, you can get the average messages per second @@ -439,8 +439,8 @@ RRA:AVERAGE:0.5:1:2016 RRA:HWPREDICT:1440:0.1:0.0035:288> This example is a monitor of a router interface. The first B tracks the -traffic flow in octects; the second B generates the specialized -functions B for aberrant behavior detection. Note that the I +traffic flow in octets; the second B generates the specialized +functions B for aberrant behavior detection. Note that the I argument of HWPREDICT is missing, so the other B will be implicitly be created with default parameter values. In this example, the forecasting algorithm baseline adapts quickly; in fact the most recent one hour of @@ -451,7 +451,7 @@ made in during the last day (at 288 observations per day) account for only exponential smoothing formula described in a forthcoming LISA 2000 paper. The seasonal cycle is one day (288 data points at 300 second intervals), and -the seasonal adaption paramter will be set to 0.1. The RRD file will store 5 +the seasonal adaption parameter will be set to 0.1. The RRD file will store 5 days (1440 data points) of forecasts and deviation predictions before wrap around. The file will store 1 day (a seasonal cycle) of 0-1 indicators in the FAILURES B. diff --git a/doc/rrddump.pod b/doc/rrddump.pod index d07ea19..de6b0ec 100644 --- a/doc/rrddump.pod +++ b/doc/rrddump.pod @@ -26,6 +26,28 @@ The name of the B you want to dump. =back +=head1 EXAMPLES + +To transfer an RRD between architectures, follow these steps: + +=over 4 + +=item 1. + +On the same system where the RRD was created, use B B +to export the data to XML format. + +=item 2. + +Transfer the XML dump to the target system + +=item 3. + +Run B B to create a new RRD from the XML dump. See +B for details. + +=back + =head1 AUTHOR Tobias Oetiker Eoetiker@ee.ethz.chE diff --git a/doc/rrdfetch.pod b/doc/rrdfetch.pod index b888b82..a4e87c5 100644 --- a/doc/rrdfetch.pod +++ b/doc/rrdfetch.pod @@ -1,6 +1,6 @@ =head1 NAME -rrdtool fetch - fetch data from an rrd. +rrdtool fetch - fetch data from an RRD. =for html
PDF version.
@@ -17,7 +17,7 @@ The B function is normally used internally by the graph function, to get data from Bs. B will analyze the B and will try to retrieve the data in the resolution requested. The data fetched is printed to stdout. I<*UNKNOWN*> data is often -represented by the string "NaN" depending on your OSs printf +represented by the string "NaN" depending on your OS's printf function. =over 8 @@ -54,7 +54,7 @@ end time. =head2 RESOLUTION INTERVAL -In order to get rrdtool to fetch anything other than the finest resolution RRA +In order to get RRDtool to fetch anything other than the finest resolution RRA B the start and end time must be specified on boundaries that are multiples of the wanted resolution. Consider the following example: @@ -102,7 +102,7 @@ In e.g. bash this could look as: TIME=$(date +%s); RRDRES=900; rrdtool fetch subdata.rrd AVERAGE -r $RRDRES \ -e $(echo $(($TIME/$RRDRES*$RRDRES))) -s e-1h -Or in perl: +Or in Perl: perl -e '$ctime = time; $rrdres = 900; system "rrdtool fetch subdata.rrd AVERAGE \ -r $rrdres -e @{[int($ctime/$rrdres)*$rrdres]} -s e-1h"' @@ -110,7 +110,7 @@ Or in perl: =head2 AT-STYLE TIME SPECIFICATION -Apart from the traditional I, rrdtool does also +Apart from the traditional I, RRDtool does also understand at-style time specification. The specification is called "at-style" after Unix command at(1) that has moderately complex ways to specify time to run your job at. The at-style specification @@ -148,7 +148,7 @@ Finally, you can use words B, B, or B as your time reference. B refers to the current moment (and is also a default time reference). B (B) can be used to specify time relative to the start (end) time for those tools that use these -categories (rrdfetch, rrdgraph). +categories (B, L). Month and weekday names can be used in their naturally abbreviated form (e.g., Dec for December, Sun for Sunday, etc.). The words B, @@ -250,7 +250,6 @@ I<931225537> -- 18:45 July 5th, 1999 I<19970703 12:45> -- 12:45 July 3th, 1997 (my favorite, and its even got an ISO number (8601)) - =head1 AUTHOR Tobias Oetiker diff --git a/doc/rrdgraph-old.pod b/doc/rrdgraph-old.pod index ef730c4..1043d69 100644 --- a/doc/rrdgraph-old.pod +++ b/doc/rrdgraph-old.pod @@ -53,9 +53,9 @@ from generating graphs, it can also extract numerical reports. =item I -The name of the graph to generate. Since B outputs +The name of the graph to generate. Since B outputs SVGs and PNGs, it's recommended that the filename end in either -F<.svg> or F<.png>. B does not enforce this, however. +F<.svg> or F<.png>. B does not enforce this, however. If the I is set to '-' the image file will be written to standard out. All other output will get suppressed. @@ -196,7 +196,7 @@ would look like this: =item B<-a>|B<--imgformat> B|B (default: PNG) -Allows you to produce PNG output from rrdtool. +Allows you to produce PNG output from RRDtool. =item B<-z>|B<--lazy> (default: false) @@ -207,7 +207,7 @@ existent. Defines the value normally located at the upper border of the graph. If the graph contains higher values, the upper border will -move upwards to accomodate these values as well. +move upward to accommodate these values as well. If you want to define an upper-limit which will not move in any event you have to set the B<--rigid> option as well. @@ -253,11 +253,11 @@ Define a title to be written into the graph =item B<--step> I (default automatic) -By default rrdgraph calculates the width of one pixle in the time domain and +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 override this behaviour. If you want rrdgraph to get data at 1 hour resolution from the RRD, then you can set the step to 3600 seconds. Note, -that a step smaller than 1 pixle will be silently ignored. +that a step smaller than 1 pixel will be silently ignored. =item BIB<=>IB<:>IB<:>I @@ -391,7 +391,7 @@ offset would be 2*3600 seconds, as Zurich at that time of year is 2 hours ahead of UTC. Note that the timezone offset is always calculated for the time the -current sample was taken at. It has nuthing todo with the time you are +current sample was taken at. It has nothing to do with the time you are doing the calculation. =back @@ -476,7 +476,7 @@ This obviously implies that the first B must be preceded by an B or B -- you need something to stack something onto in the first place ;) -Note, that when you STACK onto *UNKNOWN* data, rrdtool will not draw +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 then you might want to use a CDEF argument with IF and UN functions to turn *UNKNOWN* into zero ... @@ -513,9 +513,9 @@ example showing how to use centered formating. Normally there are two space characters inserted between every two items printed into the graph. The space following a string can be suppressed by -putting a B<\g> at the end of the string. The B<\g> also squshes any space +putting a B<\g> at the end of the string. The B<\g> also ignores any space inside the string if it is at the very end of the string. This can be used -in connection with B<%s> to supress empty unit strings. +in connection with B<%s> to suppress empty unit strings. GPRINT:a:MAX:%lf%s\g @@ -525,7 +525,7 @@ before placing the next row of legends. =head1 NOTE on Return Values Whenever rrd_graph gets called, it prints a line telling the size of -the image it has just created to STDOUT. This line looks like this: XSIZExYSIZE. +the image it has just created to stdout. This line looks like this: XSIZExYSIZE. =head1 EXAMPLE 1 @@ -597,8 +597,8 @@ not least, overlay everything with eye-hurting red to signal any unknown data. Note that this example assumes that your data is in the positive half of the y-axis -otherwhise you would would have to add NEGINF in order to extend the coverage -of the rea to whole graph. +otherwise you would would have to add NEGINF in order to extend the coverage +of the area to whole graph. =head1 EXAMPLE 4 diff --git a/doc/rrdgraph.src b/doc/rrdgraph.src index 8bd8a1e..ae3f8a6 100644 --- a/doc/rrdgraph.src +++ b/doc/rrdgraph.src @@ -1,6 +1,6 @@ =include name -=head1 SYNOPSYS +=head1 SYNOPSIS B I [EB>E ...] @@ -60,7 +60,7 @@ statements (after all, most of them do define graph elements...). =item filename The name and path of the graph to generate. It is recommended to -end this in C<.png>, C<.svg> or C<.eps> but B does not enforce this. +end this in C<.png>, C<.svg> or C<.eps> but B does not enforce this. I can be 'C<->' to send the image to C. In that case, no other output is generated. @@ -102,13 +102,13 @@ Z<> =item Size B<[-w|--width EpixelsE]> -B<[-h|--heigth EpixelsE]> +B<[-h|--height EpixelsE]> B<[-j|--only-graph]> The width and height of the B (the part of the graph with the actual lines and such). Defaults are 400 pixels by 100 pixels. -If you sepcify the B<--only-graph> and set the hight < 32 pixels you will +If you specify the B<--only-graph> and set the height < 32 pixels you will get a tiny graph image to use as an icon in a potential overview. All labeling will be stripped off the graph. @@ -138,7 +138,7 @@ By default the graph will be autoscaling so that it displays the portion of the y-axis that is actually used. You can change this behaviour by setting the limits. The displayed y-axis will show at most B and at least B -at the top, and similarily at least B and +at the top, and similarly at least B and at most B at the bottom. The default is to display at most B (so: no limit) and at least B (no minimal value) at the top. The bottom of @@ -178,9 +178,9 @@ and thus the throughput may be higher than the WAN line speed. B<[-N|--no-gridfit]> -To avoid antialiasing effects gridlines are placed on +To avoid anti-aliasing effects gridlines are placed on integer pixel values. This is by default done by extending -the scale so gridlines happends to be spaced using an +the scale so gridlines happens to be spaced using an integer number of pixels, and starts on integer pixel value. This might extend the scale too much for some logarithmic scales and for linear scales where --alt-autoscale is needed. @@ -215,7 +215,7 @@ in I and a I format string in I. I defines where each label will be placed. If it is zero, the label will be placed right under the corresponding line (useful for hours, dates etcetera). If you specify a number of seconds here the label is -centered in this interval (useful for monday, januari etcetera). +centered in this interval (useful for Monday, January etcetera). Example: C<--x-grid MINUTE:10:HOUR:1:HOUR:4:0:%X> @@ -297,7 +297,7 @@ left and top border, C for the right and bottom border, C, C for the major grid, C, C