Hi,
I've attached a fast track writeup for RRDTool. I would appreciate any
comments from people. I am particularily wondering about which arc to
send this to? and about importing volatile interfaces and the
requirement for signed contracts with the owners of those interfaces.
Thanks,
Stephen.
-------------- next part --------------
1. Introduction
1.1. Project/Component Working Name:
RRDTool
1.2. Name of Document Author/Supplier:
Stephen Browne
1.3. Date of This Document:
02/15/08
1.3.1. Date this project was conceived:
1999
1.4. Name of Major Document Customer(s)/Consumer(s):
1.4.1. The PAC or CPT you expect to review your project:
Solaris PAC
1.4.2. The ARC(s) you expect to review your project:
LSARC?? PSARC?? ANYARC??
1.4.3. The Director/VP who is "Sponsoring" this project:
robert.odea at sun.com
1.4.4. The name of your business unit:
OPG / OpenSource.
1.5. Email Aliases:
1.5.1. Responsible Manager:
leo.binchy at sun.com
1.5.2. Responsible Engineer:
stephen.browne at sun.com
1.5.3. Marketing Manager:
dan.roberts at sun.com
1.5.4. Interest List:
desktop-discuss at opensolaris.org
4. Technical Description:
4.1. Details:
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
an efficient and systematic manner. This is where RRDtool comes
in handy. It lets you log and analyze the data you gather from
all kinds of data-sources. 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.
So RRDtool is a database but there are distinct differences
between RRDtool databases and other databases as listed below:
* RRDtool stores data; that makes it a back-end tool.
The RRDtool command set allows the creation of graphs; that
makes it a front-end tool as well. Other databases just store
data and can not create graphs.
* In case of linear databases, new data gets appended at the bottom
of the database table. Thus its size keeps on increasing, whereas
the size of an RRDtool database is determined at creation time.
Imagine an RRDtool database as the perimeter of a circle. Data is
added along the perimeter. When new data reaches the starting point,
it overwrites existing data. This way, the size of an RRDtool
database always remains constant. The name "Round Robin" stems
from this behavior.
* Other databases store the values as supplied. RRDtool can be
configured to calculate the rate of change from the previous to the
current value and store this information instead.
* Other databases get updated when values are supplied. The RRDtool
database is structured in such a way that it needs data at predefined
time intervals. If it does not get a new value during the interval,
it stores an UNKNOWN value for that interval. So, when using the
RRDtool database, it is imperative to use scripts that run at regular
intervals to ensure a constant data flow to update the RRDtool
database.
RRDtool is designed to store time series of data. With every data
update,
an associated time stamp is stored. Time is always expressed in seconds
passed since epoch (01-01-1970). It comes with a command set to carry
out various operations on RRD databases.
The version being integrated is 1.2.19
4.2. Bug/RFE Number(s):
None.
4.3. In Scope:
See above.
4.4. Out of Scope:
See above.
4.5. Interfaces:
--------------------------------------------------------------------
Exported Stability Comments
--------------------------------------------------------------------
/usr/bin/rrdtool Uncommitted main
binary with many
subcommands/functions
documented in rrd*.1
manpages
/usr/bin/rrdcgi Uncommitted
web cgi script interpreter
parsing for tags documented
in rrdcgi.1 man page
/usr/bin/rrdupdate Uncommitted
convenience binary for
rrdtool update
/usr/lib/librrd.so.2.0.9 Uncommitted lib
implementation of RRD
/usr/lib/librrd_th.so.2.0.8 Uncommitted Thread
safe API for above
/usr/lib/tclrrd1.2.19.so Uncommitted TCL
bindings for RRD
/usr/lib/librrd.so Uncommitted
Link target=librrd.so.2.0.9
/usr/lib/librrd.so.2 Uncommitted Link
target=librrd.so.2.0.9
/usr/lib/librrd_th.so Uncommitted Link
target=librrd_th.so.2.0.8
/usr/lib/librrd_th.so.2 Uncommitted Link
target=librrd_th.so.2.0.8
--------------------------------------------------------------------
Imported Stability Comments
--------------------------------------------------------------------
/usr/lib/libpng12.so.0 Uncommitted LSARC/2003/085
/usr/lib/libz.so.1 Committed
PSARC/2006/537
/usr/lib/libart_lgpl_2.so.2 Volatile LSARC/2006/202
/usr/sfw/lib/libfreetype.so.6 Volatile LSARC/2002/291
/usr/sfw/lib/libgcc_s.so.1 Volatile PSARC/2004/742
4.6. Doc Impact:
Man pages are provided that both detail the rrdtool functions and
provide
tutorials for their use.
4.7. Admin/Config Impact:
None.
4.8. HA Impact:
None.
4.9. I18N/L10N Impact:
None
4.10. Packaging & Delivery:
Adds new package, SUNWrrdtool, approx 2.2 MB.
Package will go into SUNWCall, SUNWCXall and SUNWCprog clusters.
4.11. Security Impact:
None.
4.12. Dependencies:
None.
5. Reference Documents:
http://oss.oetiker.ch/rrdtool/