Ok, so I tried to make a dynamically initializing module. I am basically trying to convert the example module to a dynamically initializing one..
My metrc_init function looks like this: static int ex_metric_init ( apr_pool_t *p ) { Ganglia_25metric* gmi; apr_pool_create(&pool, p); metric_info = apr_array_make(pool, 10, sizeof(Ganglia_25metric)); // metric_mapping_info = apr_array_make(pool, 10, sizeof(mapped_info_t)); gmi = (Ganglia_25metric*)apr_array_push(metric_info); gmi->name= "Random_Numbers_2"; gmi->tmax=90; gmi->type=GANGLIA_VALUE_UNSIGNED_INT; gmi->msg_size= UDP_HEADER_SIZE+8; gmi->units= "Num"; gmi->slope="both"; gmi->fmt="%u"; gmi->desc= "Example module metric (random numbers) 2"; MMETRIC_INIT_METADATA(gmi, pool); MMETRIC_ADD_METADATA(gmi,MGROUP,"example_2"); gmi = (Ganglia_25metric*)apr_array_push(metric_info); gmi->name= "Constant_Number_2"; gmi->tmax=90; gmi->type=GANGLIA_VALUE_UNSIGNED_INT; gmi->msg_size= UDP_HEADER_SIZE+8; gmi->units= "Num"; gmi->slope="zero"; gmi->fmt="%u"; gmi->desc= "Example module metric (constant number) 2"; MMETRIC_INIT_METADATA(gmi, pool); MMETRIC_ADD_METADATA(gmi,MGROUP,"example_2"); gmi = (Ganglia_25metric*)apr_array_push(metric_info); memset (gmi, 0, sizeof(*gmi)); return 0; } Q1. For some reason this gives me a segmentation fault. Any ideas why? Q2. How do I put printf / cout statements so I can see them when gmond runs- which will be very helpful for debugging. Thanks, Sylvester ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers