Re: getting new RRA entries since last update
Tobias Oetiker <[email protected]>
| Newsgroups | gmane.comp.db.rrdtool.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Frederik, Today Frederik Kriewitz wrote: > On Wed, Apr 14, 2010 at 1:07 AM, Tobias Oetiker <[email protected]> wrote: > > Yesterday Gustav Koller wrote: > > > >> Hello, > >> > >> my problem: > >> I call rrd_update_r() and some RRAs are updated. > >> How can I get all the RRA entries which were updated? > >> [...] > > > > are you using multithreaded rrdtool calls ? else the rrd_update_v > > call is what you need. > > I'm working on a patch for rrdcached and had the same problem. > > rrd_update_v() works but results in some ugly code including a malloc > which souldn't be necessary: > > /* We need to use rrd_update_v and construct update_argv because > rrd_update_r doesn't allow us to use the rrd_info_t * pcdp_summary > parameter of _rrd_update() */ > int update_argc = values_num + 2; > char **update_argv = (char**) malloc (update_argc * sizeof (char*)); > if (update_argv == NULL) > { > RRDD_LOG (LOG_ERR, "queue_thread_main: update_argv malloc failed."); > } > else > { > /* construct argv rrd_update_v */ > update_argv[0] = NULL; > update_argv[1] = file; > for (size_t i = 0; i < values_num; i++) > update_argv[i+2] = values[i]; > > data = rrd_update_v(update_argc, update_argv); > free(update_argv); > } > > Here's rrd_update_r from rrd_update.c using a hardcoded NULL for pcdp_summary: > > int rrd_update_r(const char *filename, const char *tmplt, int argc, > const char **argv) > { > return _rrd_update(filename, tmplt, argc, argv, NULL); > } > > Is there a reason why pcdp_summary can't be passed to rrd_update_r()? only api stability ... but how about an rrd_update_v_r call ? cheers tobi > > -- Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland http://it.oetiker.ch [email protected] ++41 62 775 9902 / sb: -9900 _______________________________________________ rrd-developers mailing list [email protected] https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers