Round Robin Database Tools
==========================

It is pretty easy to gather status information from all sorts of things,
ranging from the temperature in your office to the number of octets which
have passed through the FDDI interface of your router. But it is not so
trivial to store this data in a efficient and systematic manner. This is
where RRDtool kicks in. It lets you log and analyze the data you gather from
all kinds of data-sources (DS). The data analysis part of RRDtool is based
on the ability to quickly generate graphical representations of the data
values collected over a definable time period.


To compile:
-----------

you need the following libraries installed on your system.

   cgilib-0.5.tar.gz
   freetype-2.1.5.tar.gz
   libart_lgpl-2.3.16.tar.gz
   libpng-1.2.5.tar.gz
   zlib-1.2.1.tar.gz

you can either get these libraries directly from their original sites
or you can get copies from 

   http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs

the configure program will try to use the libraries with out adding any extra
flags apart from the ones defined in CPPFLAGS and LDFLAGS. If this does not
work it will try to get information from pkgconfig.

If your libraries are not installed in standard places and you do not have
pkgconfig support, then you may want to set CPPFLAGS and LDFLAGS to help
configure while it tries to find the libraries.

  env CPPFLAGS="-I/scratch/oetiker/cgilib-0.5 \
                -I/scratch/oetiker/libs/include/libart-2.0 \
                -I/scratch/oetiker/libs/include \
                -I/scratch/oetiker/libs/include/freetype2" \
       LDFLAGS="-L/scratch/oetiker/libs/lib -R/scratch/oetiker/libs/lib \
                -L/scratch/oetiker/cgilib-0.5" ./configure 

  make             <------ GNU make

  make install     <------ GNU make

This will configure, compile and install RRDtool in
/usr/local/rrdtool-VERSION. If you prefer to install RRDtool in some other
place, use

  ./configure --prefix=/some/other/RRDtool-dir

The configure script will try to find your perl installation (5.008
preferred). If it does not find it, you can still build RRDtool but no perl
modules will be generated.

By default the perl modules will be installed under the RRDtool install
directory. This will require you to use a 'use lib' statement in your
RRDtool perl programs. If you do not care what happens to your site-perl
directory, you can also use

   --enable-perl-site-install 

when running configure to have the RRD perl modules installed  wherever 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
standard location you can use

  sh configure --with-tcllib=/sw/tcl-8.3/lib

to indicte the right version (note, this must point to the directory where
tclConfig.sh is located). Note that install will integrate the tcl bindings
into your tcl installation. It will use a separate directory for each
version though, so this is not much of a problem. Nevertheless the Tcl
module will not get intalled by default as Tcl wants its module in the base
tcl installation where you might not be able to write to. So if you want the
tcl stuff installed, type

  make site-tcl-install


Getting Started:
----------------

Either after compiling or after installing you can try the example
RRDtool applications in the examples directory.

To learn:
---------

Read the documentation in the doc directory. Start of with
RRDtool. All documents are available as html and as ASCII text.  

If you are looking for a more slow paced introduction, make sure to read
Alex van den Bogaerdt's rrdtutorial which is also available from the doc
directory. Also read his cdeftutorial and Steve Rader's rpntutorial.
 
If you want to know about the format of the log files check
src/rrd_format.h there are a lot of comments in there ...

How to make Tobi happy:
-----------------------

If you want to show your appreciation for RRDtool you could make me happy
by going to ee-staff.ethz.ch/~oetiker/wish and ordering a CD from
my CD wish list ... 


How to keep in touch:
---------------------

There are 3 Mailing lists for RRDtool:

rrd-announce	LOW volume RRDtool Announcements List (Only Stable Releases)
rrd-users       For discussion amongst people who use RRDtool in their applications
rrd-developers  For people who actually HACK RRDtool code

To subscribe to <MAILGLIST> send a message with the subject 'subscribe'
to <MAILGLIST>-request@list.ee.ethz.ch.

Note, that postings to rrd-announce will always be cross-posted 
to rrd-users and rrd-developers as well.

To Contribute:
--------------

Contributed feature and bug patches are most welcome. But please
send complete patches. A complete patch patches the CODE as well
as the CHANGES, CONTRIBUTORS and the POD files.

Use GNU   diff --unified --recursive olddir newdir   to build your patches.

The latest Version:
-------------------
Is available from http://people.ee.ethz.ch/oetiker/webtools/rrdtool/


Tobias Oetiker <oetiker@ee.ethz.ch>
