Hello, I have compiled in rrd tool into my application because calling of rrrtool update executable takes a lot of time. I found following problems:
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 http://www.2p.cz -- Unsubscribe mailto:[EMAIL PROTECTED] Help mailto:[EMAIL PROTECTED] Archive http://www.ee.ethz.ch/~slist/rrd-developers WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi
