[rrd-developers] Compiling rrd tools to custom application

Tomas tomas.mandys at 2p.cz
Fri Oct 8 13:58:34 MEST 2004

I have compiled in rrd tool into my application because calling of
rrrtool update executable takes a lot of time. I found following

1) there are no exported symbols in object archive library librrd.a from
rrdtool-devel-1.0.41-1.8.0.i386.rpm. Hence is useless and it's necesary
recreate it from compiled rrdtool.

2) there is no API function for database update except rrd_update
(rrd_update.c). But this function is not handy because it is necessary
to convert values to strings and rrd_update will convert back to native
types. In addition template resolving causes a critical error. I think
that is worth writing new API function rrd_api_update that takes native
parametres and rewrite rrd_update to decode string (argv) and pass it to
rrd_api_update. There is another problem if custom function uses own
memory allocation routines and rrd library standard ones.

3) Alignment critical structures should be safed to be portable across
executables. One custom software should update database and using native
rrdtool can create graphs, prepare databases etc. For example my
software used "-m align-doubles" and it causes incompatability of
structures read from rrd database (in my case in stat_head_t). I think
some #pragma align for critical structures should prevent such problems.

Tomas Mandys              

Unsubscribe mailto:rrd-developers-request at list.ee.ethz.ch?subject=unsubscribe
Help        mailto:rrd-developers-request at list.ee.ethz.ch?subject=help
Archive     http://www.ee.ethz.ch/~slist/rrd-developers
WebAdmin    http://www.ee.ethz.ch/~slist/lsg2.cgi

More information about the rrd-developers mailing list