static int fq_status_checker(eventer_t e, int mask, void *closure, struct timeval *now) { int i; for(i=0; i<global_fq_ctx.nhosts; i++) { fq_client_status(global_fq_ctx.client[i], process_fq_status, (void *)&global_fq_ctx.stats[i]); } eventer_add_in_s_us(fq_status_checker, NULL, 5, 0); }
static void print_rate(fq_client c, hrtime_t s, hrtime_t f, uint64_t cnt, uint64_t icnt) { double d; fq_client_status(c, debug_status, NULL); if(cnt) { d = (double)cnt * 1000000000; d /= (double)(f-s); printf("[%d backlog] output %0.2f msg/sec\n", fq_client_data_backlog(c), d); } if(icnt) { d = (double)icnt * 1000000000; d /= (double)(f-s); printf("[%d backlog] input %0.2f msg/sec\n", fq_client_data_backlog(c), d); } }