The bookkeeping of all threads is not necessary, since we cannot pthread_join() them anyway. We only need to know when the last one has exited. -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1787 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1787 a5681a0c-68f1-0310-ab6d-d61299d08faa
added missing docs -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1786 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1786 a5681a0c-68f1-0310-ab6d-d61299d08faa
added missing newline -- by sebastian harl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1785 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1785 a5681a0c-68f1-0310-ab6d-d61299d08faa
make sure an empty m4 is in the checkout
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1778 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1778 a5681a0c-68f1-0310-ab6d-d61299d08faa
fix for #213 restore old behaviour of --lazy. Even in lazy mode all the data
calculation elements are run. The main time saving comes from the fact that
the graph is not being drawn and the image does not have to be compressed.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1773 a5681a0c-68f1-0310-ab6d-d61299d08faa
calculation elements are run. The main time saving comes from the fact that
the graph is not being drawn and the image does not have to be compressed.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1773 a5681a0c-68f1-0310-ab6d-d61299d08faa
make sure rrd_dump outputs numbers with C locale so that . does not suddenly become , this fixes #212
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1772 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1772 a5681a0c-68f1-0310-ab6d-d61299d08faa
I thought that it would be nice to be able to pass
parameters to python bindings as a list (array) of strings. -- Vytautas Zdanavicius vytaszd at yahoo.com
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1771 a5681a0c-68f1-0310-ab6d-d61299d08faa
parameters to python bindings as a list (array) of strings. -- Vytautas Zdanavicius vytaszd at yahoo.com
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1771 a5681a0c-68f1-0310-ab6d-d61299d08faa
use %lld with (long long) conversion when printing time.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1770 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1770 a5681a0c-68f1-0310-ab6d-d61299d08faa
printf for time_t with %lli can easily cause a segfault since on many platforms
time_t is only 32bit ... by adding (long long) to the time value this gets fixed.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1769 a5681a0c-68f1-0310-ab6d-d61299d08faa
time_t is only 32bit ... by adding (long long) to the time value this gets fixed.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1769 a5681a0c-68f1-0310-ab6d-d61299d08faa
lets have an error message when creating the graph fails
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1768 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1768 a5681a0c-68f1-0310-ab6d-d61299d08faa
remove excess flush calls ...
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1764 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1764 a5681a0c-68f1-0310-ab6d-d61299d08faa
remove flush symbol
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1762 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1762 a5681a0c-68f1-0310-ab6d-d61299d08faa
the call to rrd_flush has appeared when rrd_open was fleshed out. It used to be an fflush call
which is something entirely different than the current rrd_flush implementation with fdatasync was ...
we can safely drop this and gain performance for holt winters in the process ... -- tobi
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1760 a5681a0c-68f1-0310-ab6d-d61299d08faa
which is something entirely different than the current rrd_flush implementation with fdatasync was ...
we can safely drop this and gain performance for holt winters in the process ... -- tobi
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1760 a5681a0c-68f1-0310-ab6d-d61299d08faa
New rrd_graph functions for legend placement control added -- Patch by Melchior Rabe rrdtool mrab.de
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1759 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1759 a5681a0c-68f1-0310-ab6d-d61299d08faa
rrd_flush.c: Provide a more useful error message.
by Sebastian Harl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1758 a5681a0c-68f1-0310-ab6d-d61299d08faa
by Sebastian Harl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1758 a5681a0c-68f1-0310-ab6d-d61299d08faa
Renaming ntmake.pl to ntmake.PL (r1742) had unforseen side effects. At least
on freebsd ntmake.PL gets called automatically during build. This is not
desired. I renamed the file to ntmake-build sinc it gets called
explicilty on windows anyway. Reported by Kevin modified by Tobi
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1757 a5681a0c-68f1-0310-ab6d-d61299d08faa
on freebsd ntmake.PL gets called automatically during build. This is not
desired. I renamed the file to ntmake-build sinc it gets called
explicilty on windows anyway. Reported by Kevin modified by Tobi
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1757 a5681a0c-68f1-0310-ab6d-d61299d08faa
This 2-patch series exposes 'flush' methods to the various language
bindings.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1756 a5681a0c-68f1-0310-ab6d-d61299d08faa
bindings.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1756 a5681a0c-68f1-0310-ab6d-d61299d08faa
there were two lines of debug info printed by rrd_xport, messing up the xml code. Fix by Alejandro Galue.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1754 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1754 a5681a0c-68f1-0310-ab6d-d61299d08faa
Even though POSIX/XSI requires "strerror_r" to return an "int", some systems
(e.g. the GNU libc) return a "char *" _and_ ignore the second argument (user
provided buffer). The configure script now checks for that behavior using
AC_FUNC_STRERROR_R. rrd_strerror() in rrd_thread_safe.c has been updated to
(hopefully) handle all possible cases.
Previously, rrd_strerror() would have returned "strerror_r failed. sorry!" in
mostly any cases when using glibc, since "if (strerror_r())" had been used to
check for errors which evaluates to true if a (non-NULL) pointer was returned.
Now, we, at least, return the error number in case anything else fails.
Thanks to Alessandro Iurlano for reporting this issue after spotting it in
collectd <http://collectd.org>.
patch by Sebastian Harl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1752 a5681a0c-68f1-0310-ab6d-d61299d08faa
(e.g. the GNU libc) return a "char *" _and_ ignore the second argument (user
provided buffer). The configure script now checks for that behavior using
AC_FUNC_STRERROR_R. rrd_strerror() in rrd_thread_safe.c has been updated to
(hopefully) handle all possible cases.
Previously, rrd_strerror() would have returned "strerror_r failed. sorry!" in
mostly any cases when using glibc, since "if (strerror_r())" had been used to
check for errors which evaluates to true if a (non-NULL) pointer was returned.
Now, we, at least, return the error number in case anything else fails.
Thanks to Alessandro Iurlano for reporting this issue after spotting it in
collectd <http://collectd.org>.
patch by Sebastian Harl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1752 a5681a0c-68f1-0310-ab6d-d61299d08faa
Make sure we use correct sizes for vsnprintf (sizeof) and strncpy (sizeof-1). -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1751 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1751 a5681a0c-68f1-0310-ab6d-d61299d08faa
Misc documentation fixes by Alex van den Bogaerdt
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1749 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1749 a5681a0c-68f1-0310-ab6d-d61299d08faa
Documentation fixes by Bernhard Reutner-Fischer
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1748 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1748 a5681a0c-68f1-0310-ab6d-d61299d08faa
added doc on new graphv graph_start und graph_end info variables
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1745 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1745 a5681a0c-68f1-0310-ab6d-d61299d08faa
15 years agofix type conversion error (on windows) unsigned/signed affecting timestamps on rrd_dump.
fix type conversion error (on windows) unsigned/signed affecting timestamps on rrd_dump.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1744 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1744 a5681a0c-68f1-0310-ab6d-d61299d08faa
rename ntmake.pl to ntmake.PL so that it does not get installed
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1742 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1742 a5681a0c-68f1-0310-ab6d-d61299d08faa
define cwd where we need it and not outside
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1741 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1741 a5681a0c-68f1-0310-ab6d-d61299d08faa
In rrd_graph: the width/height values are written into rrd_infoval_t's u_cnt
but read out of u_int (u_long vs. int). This breaks on LP64BE. Patch by
Rafal Boni rafal pobox.com
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1733 a5681a0c-68f1-0310-ab6d-d61299d08faa
but read out of u_int (u_long vs. int). This breaks on LP64BE. Patch by
Rafal Boni rafal pobox.com
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1733 a5681a0c-68f1-0310-ab6d-d61299d08faa
added percentnan (VDEF PERCENT variant that ignores NAN) -- patch by Martin Sperl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1732 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1732 a5681a0c-68f1-0310-ab6d-d61299d08faa
with MMAP enabled rrd resize GROW was broken ... this fixes it ...
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1726 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1726 a5681a0c-68f1-0310-ab6d-d61299d08faa
TICK with negative numbers should 'start from the top of the graph' looking down ... now it does.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1725 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1725 a5681a0c-68f1-0310-ab6d-d61299d08faa
fix for segfault in rrd_cgi: caused by freeing a invalid address when printing an error message.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1724 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1724 a5681a0c-68f1-0310-ab6d-d61299d08faa
Include libgen.h to get prototype for basename in a POSIX conformant way. Fix for #202.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1723 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1723 a5681a0c-68f1-0310-ab6d-d61299d08faa
improvements for build docs by Zorzoli, Pablo
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1722 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1722 a5681a0c-68f1-0310-ab6d-d61299d08faa
should free memory after a successful fetch too ...
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1721 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1721 a5681a0c-68f1-0310-ab6d-d61299d08faa
documentation fixes
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1720 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1720 a5681a0c-68f1-0310-ab6d-d61299d08faa
Fix for POD error by Sebasian Harl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1718 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1718 a5681a0c-68f1-0310-ab6d-d61299d08faa
Fixes some typos by Sebastian Harl.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1717 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1717 a5681a0c-68f1-0310-ab6d-d61299d08faa
win32 fixes by Stefan . Ludewig . exitgames . com
* added portable plbasename since basename is not available on stock win32
* rrd_update was using %d to show a timestamp ... %lli is better
since it also will show 64bit time_t correctly.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1716 a5681a0c-68f1-0310-ab6d-d61299d08faa
* added portable plbasename since basename is not available on stock win32
* rrd_update was using %d to show a timestamp ... %lli is better
since it also will show 64bit time_t correctly.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1716 a5681a0c-68f1-0310-ab6d-d61299d08faa
fix extra dist to include missing win32 files
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1715 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1715 a5681a0c-68f1-0310-ab6d-d61299d08faa
fixed another seek issue ...
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1708 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1708 a5681a0c-68f1-0310-ab6d-d61299d08faa
The spec file for building the rrdtool as an RPM that comes with the
release is not "friendly" to older versions of RHEL and derivatives.
-- Martin Sperl <rrdtool@martin.sperl.org>
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1707 a5681a0c-68f1-0310-ab6d-d61299d08faa
release is not "friendly" to older versions of RHEL and derivatives.
-- Martin Sperl <rrdtool@martin.sperl.org>
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1707 a5681a0c-68f1-0310-ab6d-d61299d08faa
include luapod into distro
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1706 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1706 a5681a0c-68f1-0310-ab6d-d61299d08faa
On some architectures, strtod does not turn "NaN" into 'Not A Number (NAN)'
se we better provide our own code here.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1705 a5681a0c-68f1-0310-ab6d-d61299d08faa
se we better provide our own code here.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1705 a5681a0c-68f1-0310-ab6d-d61299d08faa
rrdtool dump is now backward compatible with rrdtool 1.3 dump again. Default is --header=dtd and
--no-header is an alias for --header=none
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1703 a5681a0c-68f1-0310-ab6d-d61299d08faa
--no-header is an alias for --header=none
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1703 a5681a0c-68f1-0310-ab6d-d61299d08faa
minichange
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1702 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1702 a5681a0c-68f1-0310-ab6d-d61299d08faa
* forward ported right axis patch from 1.2 branche
* fixed --full-size-mode sizing issue when used in combination with --title
the work in the axis patch has been sponsored by VoltWerk.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1701 a5681a0c-68f1-0310-ab6d-d61299d08faa
* fixed --full-size-mode sizing issue when used in combination with --title
the work in the axis patch has been sponsored by VoltWerk.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1701 a5681a0c-68f1-0310-ab6d-d61299d08faa
Fix for last method in ruby bindings -- Hiroyuki Ikezoe
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1700 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1700 a5681a0c-68f1-0310-ab6d-d61299d08faa
integrate osx build hints as indicated in #192
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1699 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1699 a5681a0c-68f1-0310-ab6d-d61299d08faa
deleted a bit much from rrd_open ... merged back in
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1697 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1697 a5681a0c-68f1-0310-ab6d-d61299d08faa
check for broken implementations of msync / MS_ASYNC where
the mtime does not get updated. warn and explicitly call utime
in rrd_open when a file is opened rw.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1696 a5681a0c-68f1-0310-ab6d-d61299d08faa
the mtime does not get updated. warn and explicitly call utime
in rrd_open when a file is opened rw.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1696 a5681a0c-68f1-0310-ab6d-d61299d08faa
added rrdcached examples to extra_dist to make sure they get distributed
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1695 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1695 a5681a0c-68f1-0310-ab6d-d61299d08faa
Legends should NOT be placed in reverse order when using --full-size-mode ... this fixed #198.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1694 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1694 a5681a0c-68f1-0310-ab6d-d61299d08faa
add de-referencing to step in fetch check
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1693 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1693 a5681a0c-68f1-0310-ab6d-d61299d08faa
fix merg error with win32 port
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1692 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1692 a5681a0c-68f1-0310-ab6d-d61299d08faa
15 years agoCatch CDEF:tot= and raise and error to fix #199. Thanks to Jeron Massar for reporting...
Catch CDEF:tot= and raise and error to fix #199. Thanks to Jeron Massar for reporting this.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1691 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1691 a5681a0c-68f1-0310-ab6d-d61299d08faa
Update to WIN32-BUILD-TIPS.txt and VC project files so that the rrdtool.exe can be built too.
-- Stefan Ludewig Stefan.Ludewig exitgames.com
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1690 a5681a0c-68f1-0310-ab6d-d61299d08faa
-- Stefan Ludewig Stefan.Ludewig exitgames.com
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1690 a5681a0c-68f1-0310-ab6d-d61299d08faa
When fetching data from 'past' an rra, rrd_fetch was seeking past the rrd
file. This did cause seek errors in some setups. Fixed. Thanks to Daniel Pocock for finding the problem.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1689 a5681a0c-68f1-0310-ab6d-d61299d08faa
file. This did cause seek errors in some setups. Fixed. Thanks to Daniel Pocock for finding the problem.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1689 a5681a0c-68f1-0310-ab6d-d61299d08faa
integrated rrdcached examples into build process
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1686 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1686 a5681a0c-68f1-0310-ab6d-d61299d08faa
add rrdcached examples -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1685 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1685 a5681a0c-68f1-0310-ab6d-d61299d08faa
fixed solaris build instructions
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1683 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1683 a5681a0c-68f1-0310-ab6d-d61299d08faa
added libdbi doc to extradist
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1682 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1682 a5681a0c-68f1-0310-ab6d-d61299d08faa
Attached a patch for the rrd-tool LIBDBI integration with the following improvements:
a) correct error handling in case of libdbi being unable to load the driver
was producing segmentation faults.
b) better parsing of datasources
* until now timestamp fields had to be integer and had to contain a unix
timestamp - now you can now also use DateTime fields (you still need to
specify it, as the time-range needs to be defined correctly)
* data fields are now no longer limited to (var)char or DOUBLE fields -
FLOAT, INTEGER,... are now also supported.
c) there is a bug with at least LIBDBI 0.8.1 in conjunction with mysql that
can result in segmentation faults when BINARY/BLOB fields are accessed -
rrdtool will now tell you about this fact before dying ;)
d) also the value of rrdderivemaxstep only gets applied if derive has been
selected correctly.
e) "GROUP BY timestamp" has been removed from SQL statement.
f) "ORDER BY timestamp" will be added only in the case of fetching "derived" data.
-- Martin Sperl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1678 a5681a0c-68f1-0310-ab6d-d61299d08faa
a) correct error handling in case of libdbi being unable to load the driver
was producing segmentation faults.
b) better parsing of datasources
* until now timestamp fields had to be integer and had to contain a unix
timestamp - now you can now also use DateTime fields (you still need to
specify it, as the time-range needs to be defined correctly)
* data fields are now no longer limited to (var)char or DOUBLE fields -
FLOAT, INTEGER,... are now also supported.
c) there is a bug with at least LIBDBI 0.8.1 in conjunction with mysql that
can result in segmentation faults when BINARY/BLOB fields are accessed -
rrdtool will now tell you about this fact before dying ;)
d) also the value of rrdderivemaxstep only gets applied if derive has been
selected correctly.
e) "GROUP BY timestamp" has been removed from SQL statement.
f) "ORDER BY timestamp" will be added only in the case of fetching "derived" data.
-- Martin Sperl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1678 a5681a0c-68f1-0310-ab6d-d61299d08faa
win32 portability patch and win32/rrdlib.vcproj file for the source
-- christof wegmann Christof.Wegmann with exitgames.com
some fixes to make the result work on unix again ...
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1677 a5681a0c-68f1-0310-ab6d-d61299d08faa
-- christof wegmann Christof.Wegmann with exitgames.com
some fixes to make the result work on unix again ...
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1677 a5681a0c-68f1-0310-ab6d-d61299d08faa
missing , added to help string
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1674 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1674 a5681a0c-68f1-0310-ab6d-d61299d08faa
added build instruction for libdbi docu
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1672 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1672 a5681a0c-68f1-0310-ab6d-d61299d08faa
missing pod files
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1670 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1670 a5681a0c-68f1-0310-ab6d-d61299d08faa
switch tu using AS_HELP_STRING for formatting ...
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1669 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1669 a5681a0c-68f1-0310-ab6d-d61299d08faa
fix typo in handle_request_help
--kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1668 a5681a0c-68f1-0310-ab6d-d61299d08faa
--kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1668 a5681a0c-68f1-0310-ab6d-d61299d08faa
doc fixups for rrdcacehd
* documented the -p option
* added nbsp between option and argument
* layout one option per line
--kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1667 a5681a0c-68f1-0310-ab6d-d61299d08faa
* documented the -p option
* added nbsp between option and argument
* layout one option per line
--kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1667 a5681a0c-68f1-0310-ab6d-d61299d08faa
make basename work
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1666 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1666 a5681a0c-68f1-0310-ab6d-d61299d08faa
This patch allows for multiple RRD writer threads to service the queue.
Now, rrdcached can have more simultaneous I/O requests into the kernel.
This may allow the kernel to re-order disk writes, resulting in better
disk throughput. In practice, throughput is increased by 2-3x.
The flush (-f) timer maintenance has been moved from queue_thread_main
into its own thread.
Be more careful about when to use pthread_cond_signal vs _broadcast, since
multiple threads may be waiting on &queue_cond.
--kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1665 a5681a0c-68f1-0310-ab6d-d61299d08faa
Now, rrdcached can have more simultaneous I/O requests into the kernel.
This may allow the kernel to re-order disk writes, resulting in better
disk throughput. In practice, throughput is increased by 2-3x.
The flush (-f) timer maintenance has been moved from queue_thread_main
into its own thread.
Be more careful about when to use pthread_cond_signal vs _broadcast, since
multiple threads may be waiting on &queue_cond.
--kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1665 a5681a0c-68f1-0310-ab6d-d61299d08faa
be even more liberal with NOT using isfinite on solaris2.8
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1663 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1663 a5681a0c-68f1-0310-ab6d-d61299d08faa
use basename to determine filename for imginfo as suggested by sebastian
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1662 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1662 a5681a0c-68f1-0310-ab6d-d61299d08faa
rrdcached: move queue length decrement into remove_from_queue
-- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1661 a5681a0c-68f1-0310-ab6d-d61299d08faa
-- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1661 a5681a0c-68f1-0310-ab6d-d61299d08faa
rrdcached: examine the current queue with the "QUEUE" command
-- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1660 a5681a0c-68f1-0310-ab6d-d61299d08faa
-- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1660 a5681a0c-68f1-0310-ab6d-d61299d08faa
This helps with portability on platforms where realloc doesn't handle NULL.
-- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1659 a5681a0c-68f1-0310-ab6d-d61299d08faa
-- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1659 a5681a0c-68f1-0310-ab6d-d61299d08faa
document the "QUIT" command -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1658 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1658 a5681a0c-68f1-0310-ab6d-d61299d08faa
rrdcached: journal_replay default failure reason, just in case
avoids a "may be used uninitialized" warning -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1657 a5681a0c-68f1-0310-ab6d-d61299d08faa
avoids a "may be used uninitialized" warning -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1657 a5681a0c-68f1-0310-ab6d-d61299d08faa
added "quit" command -- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1656 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1656 a5681a0c-68f1-0310-ab6d-d61299d08faa
rrdcached now frees all of its resources correctly. This facilitates
memory debugging. g_tree now knows how to free the nodes when it removes
them.
Also, use g_tree_replace instead of g_tree_insert. This fixes a bug
triggered when the same file was simultaneously inserted by two clients.
--kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1655 a5681a0c-68f1-0310-ab6d-d61299d08faa
memory debugging. g_tree now knows how to free the nodes when it removes
them.
Also, use g_tree_replace instead of g_tree_insert. This fixes a bug
triggered when the same file was simultaneously inserted by two clients.
--kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1655 a5681a0c-68f1-0310-ab6d-d61299d08faa
do not quit when libdbi is missing
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1654 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1654 a5681a0c-68f1-0310-ab6d-d61299d08faa
fixed --font TITLE:12: problem -- tobi
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1653 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1653 a5681a0c-68f1-0310-ab6d-d61299d08faa
fix scaling issue -- Martin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1652 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1652 a5681a0c-68f1-0310-ab6d-d61299d08faa
extra file to make libdbi patch work
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1651 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1651 a5681a0c-68f1-0310-ab6d-d61299d08faa
As some of you may know that I have created a patch for rrdtool 1.2 a few years ago, so that a database could be queried for
values for graphing.
The patch has been mostly rewritten and the following changes have been made:
* high dependency on mysql has been reduced by avoiding the
temporary tables (which was bad for mysql replication)
* The number of executed SQL-Statements for one CDEF has been
reduced to 1 compared to 11 SQLs (including CREATE TEMPORARY
TABLE) - for patch against version 1.2
* All consolidation is done in rrdtool itself (MIN,MAX,AVERAGE)
* Additional consolidation functions are COUNT and SIGMA, which give
information on statistics on a per "time-bin" basis.
* All these consolidation values are always returned as separate
columns, that are returned by RRD and the consolidation function
given as Argument is ignored.
Main reason is that this way there is only one call to rrd_fetcht
and thus the database even if we need to fetch for example min,
avg and max. Compare this to 3 calls in case of different
consolidation functions - and if you want to get SIGMA and COUNT
as well it is still only one call to the backend and the database.
* Some previous existing features have been taken out at the moment
to allow for this reduced set of SQL queries.
o prediction using the values from the last X days at the same
time
o the corresponding sigma calculation
* The idea is to create generic CDEF's that will do the same thing,
but that is also available when using RRD-files (similar to TREND,
but with another scope)
This will get posted as a separate patch.
* Overall performance should be much better and the patch as a whole
simpler.
* The patch also includes modifications to the configuration
infrastructure, to make libdbi support optional.
-- Martin Sperl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1650 a5681a0c-68f1-0310-ab6d-d61299d08faa
values for graphing.
The patch has been mostly rewritten and the following changes have been made:
* high dependency on mysql has been reduced by avoiding the
temporary tables (which was bad for mysql replication)
* The number of executed SQL-Statements for one CDEF has been
reduced to 1 compared to 11 SQLs (including CREATE TEMPORARY
TABLE) - for patch against version 1.2
* All consolidation is done in rrdtool itself (MIN,MAX,AVERAGE)
* Additional consolidation functions are COUNT and SIGMA, which give
information on statistics on a per "time-bin" basis.
* All these consolidation values are always returned as separate
columns, that are returned by RRD and the consolidation function
given as Argument is ignored.
Main reason is that this way there is only one call to rrd_fetcht
and thus the database even if we need to fetch for example min,
avg and max. Compare this to 3 calls in case of different
consolidation functions - and if you want to get SIGMA and COUNT
as well it is still only one call to the backend and the database.
* Some previous existing features have been taken out at the moment
to allow for this reduced set of SQL queries.
o prediction using the values from the last X days at the same
time
o the corresponding sigma calculation
* The idea is to create generic CDEF's that will do the same thing,
but that is also available when using RRD-files (similar to TREND,
but with another scope)
This will get posted as a separate patch.
* Overall performance should be much better and the patch as a whole
simpler.
* The patch also includes modifications to the configuration
infrastructure, to make libdbi support optional.
-- Martin Sperl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1650 a5681a0c-68f1-0310-ab6d-d61299d08faa
new CDEF functions for predictions PREDICT and PREDICTSIGMA
-- Martin Sperl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1649 a5681a0c-68f1-0310-ab6d-d61299d08faa
-- Martin Sperl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1649 a5681a0c-68f1-0310-ab6d-d61299d08faa
Much simpler handling of timestamp errors. Return an error to the user
when any of the time stamp values are invalid. This is similar to
RRDTool's normal behavior. Removed the complex logic previously used to
return error codes to the user.
This solves a bug where non-advancing timestamps could have produced
incorrect error output during "BATCH" mode. The bug was cause by using
the sock->wbuf pointer for the error output. -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1648 a5681a0c-68f1-0310-ab6d-d61299d08faa
when any of the time stamp values are invalid. This is similar to
RRDTool's normal behavior. Removed the complex logic previously used to
return error codes to the user.
This solves a bug where non-advancing timestamps could have produced
incorrect error output during "BATCH" mode. The bug was cause by using
the sock->wbuf pointer for the error output. -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1648 a5681a0c-68f1-0310-ab6d-d61299d08faa
rrdcached: pull in rrd_config.h so we can use its defines
... particularly HAVE_VSNPRINTF -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1647 a5681a0c-68f1-0310-ab6d-d61299d08faa
... particularly HAVE_VSNPRINTF -- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1647 a5681a0c-68f1-0310-ab6d-d61299d08faa
I realize now that the problem is the line
test -f lua/Makefile && cd lua && $(MAKE) install || true
in the target "install-data-local", in bindings/Makefile.am. It forces
execution of bindings/lua/Makefile independently of lua being found or
not. I added that line in my first patch, following perl, python and
ruby build style, but it's not needed after I switched to automake. The
make recursion is controlled by SUBDIRS, which will only contain "lua"
if BUILD_LUA is true.
-- Fidelis Assis
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1645 a5681a0c-68f1-0310-ab6d-d61299d08faa
test -f lua/Makefile && cd lua && $(MAKE) install || true
in the target "install-data-local", in bindings/Makefile.am. It forces
execution of bindings/lua/Makefile independently of lua being found or
not. I added that line in my first patch, following perl, python and
ruby build style, but it's not needed after I switched to automake. The
make recursion is controlled by SUBDIRS, which will only contain "lua"
if BUILD_LUA is true.
-- Fidelis Assis
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1645 a5681a0c-68f1-0310-ab6d-d61299d08faa
fix build process for systems without lua
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1644 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1644 a5681a0c-68f1-0310-ab6d-d61299d08faa
PTHREAD_COND_INITIALIZER may only be used to initialize static cond variables.
-- Sebastian Harl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1643 a5681a0c-68f1-0310-ab6d-d61299d08faa
-- Sebastian Harl
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1643 a5681a0c-68f1-0310-ab6d-d61299d08faa
16 years agoreverting non build makefile patch ... we need to lua makefile for building the ditri...
reverting non build makefile patch ... we need to lua makefile for building the ditribution
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1642 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1642 a5681a0c-68f1-0310-ab6d-d61299d08faa
do not create the lua makefile if lua is not to be compiled.
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1641 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1641 a5681a0c-68f1-0310-ab6d-d61299d08faa
fix from alex
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1638 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1638 a5681a0c-68f1-0310-ab6d-d61299d08faa
- remove the spaccing between the elements
- add xsd support to dump output
- change the argument "[--no-header|-n]" to [--header|-h {xsd,dtd}]
-- tobias.lindenmann 1und1.de
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1637 a5681a0c-68f1-0310-ab6d-d61299d08faa
- add xsd support to dump output
- change the argument "[--no-header|-n]" to [--header|-h {xsd,dtd}]
-- tobias.lindenmann 1und1.de
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1637 a5681a0c-68f1-0310-ab6d-d61299d08faa
make compilation on older OSX versios work by removing the # from the librrd.sym file
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1632 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1632 a5681a0c-68f1-0310-ab6d-d61299d08faa
fixed typo ... GAUGE not GUAGE
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1628 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1628 a5681a0c-68f1-0310-ab6d-d61299d08faa
The previous code relied on the assumption that pthread_cond_init(&cond)
was equivalent to memset(&cond,0). This may not be true on all platforms.
-- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1627 a5681a0c-68f1-0310-ab6d-d61299d08faa
was equivalent to memset(&cond,0). This may not be true on all platforms.
-- kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1627 a5681a0c-68f1-0310-ab6d-d61299d08faa
remove_cache_item() did not check whether a file was in queue before
modifying the cache head/tail pointers. Therefore, the process of
flushing old files may perturb the cache_queue_head pointer. This caused
some nodes with CI_FLAGS_IN_QUEUE to be un-linked from the queue list.
Thereafter, they would not be flushed by any periodic process (although
they could be revived with FLUSH or UPDATE). This caused a slow memory
leak for files that are no longer updated. Pending updates for these
"abandoned" files would remain in memory ad infinitum.
With this patch, remove_from_queue() will check that the item is queued
before modifying the head/tail pointers. This restores the intended
behavior.
--kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1626 a5681a0c-68f1-0310-ab6d-d61299d08faa
modifying the cache head/tail pointers. Therefore, the process of
flushing old files may perturb the cache_queue_head pointer. This caused
some nodes with CI_FLAGS_IN_QUEUE to be un-linked from the queue list.
Thereafter, they would not be flushed by any periodic process (although
they could be revived with FLUSH or UPDATE). This caused a slow memory
leak for files that are no longer updated. Pending updates for these
"abandoned" files would remain in memory ad infinitum.
With this patch, remove_from_queue() will check that the item is queued
before modifying the head/tail pointers. This restores the intended
behavior.
--kevin
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1626 a5681a0c-68f1-0310-ab6d-d61299d08faa
this was replaced by Makefile.am
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1625 a5681a0c-68f1-0310-ab6d-d61299d08faa
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1625 a5681a0c-68f1-0310-ab6d-d61299d08faa