[rrd-developers] Re: Developing against librrd
David Olsen
lude at linuxpimpz.com
Wed Feb 5 20:30:29 MET 2003
Hello all,
I've encountered another brick wall programming against librrd.
My program is supposed to create an rrd file for every interface ID it does not see an rrd file for.
When I run the program, the first call to createrrd() works like a charm, the second call attempts to make an rrd called DS:ifInOctets:COUNTER:600:U:U, which is args[3] (below), and this is obviously not the desired result.
Is there some sore of rrd_create/free function I need to be using that I'm missing, the arguments get passed correctly each time (note the debug statements).
Here is the function I use to create an RRD.
int createrrd(char *newrrd)
{
int i, retval;
char **args;
char finalname[128];
char finaltime[24];
long now;
struct stat statbuf;
int statret;
args = (char **)malloc(10240);
bzero((char **)args, 10240);
/* Make the RRD named accordingly */
sprintf( finalname, "%s%s.rrd", RRD_FILES_PATH, newrrd );
/* Unixtime funcs */
now = (long)time(NULL);
sprintf( finaltime, "--start=%li", now );
args[0] = "create";
args[1] = finalname;
args[2] = finaltime;
args[3] = "DS:ifInOctets:COUNTER:600:U:U";
args[4] = "DS:ifOutOctets:COUNTER:600:U:U";
args[5] = "DS:ifInUcastPkts:COUNTER:600:U:U";
args[6] = "DS:ifOutUcastPkts:COUNTER:600:U:U";
args[7] = "DS:ifInErrors:COUNTER:600:U:U";
args[8] = "RRA:AVERAGE:0.5:1:600";
args[9] = "RRA:AVERAGE:0.5:6:700";
args[10] = "RRA:AVERAGE:0.5:24:775";
args[11] = "RRA:AVERAGE:0.5:288:797";
args[12] = "RRA:MAX:0.5:1:600";
args[13] = "RRA:MAX:0.5:6:700";
args[14] = "RRA:MAX:0.5:24:775";
args[15] = "RRA:MAX:0.5:288:797";
args[16] = "\0";
for(i=0;i<16;i++)
{
printf("Args %d: %s\n",i,args[i]);
}
printf( "Creating RRD %s\n", args[1] );
statret = stat( finalname, &statbuf );
printf( "Checked %s, status: %d\n", finalname, statret );
while( statret != 0 ) {
retval = rrd_create(15,args);
statret = stat( finalname, &statbuf );
}
free(args);
}
Best Regards,
David Olsen
ISPrime, Inc.
866.502.4678 ext. 87
AIM: Dave ISPrime - ICQ: 136633378
--
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