void print_stats (void){
        int ret;
        struct timeval now_time;
        double delta_ms;
        double tot_ms;
        double gbps_inst, gbps_tot, mpps_inst, mpps_tot;

        /* Get actual time */
        ret = gettimeofday(&now_time, NULL);
        if (ret != 0) FATAL_ERROR("Error: gettimeofday failed. Quitting...\n");

        /* Compute stats */
        delta_ms =  (now_time.tv_sec - last_time.tv_sec ) * 1000 + (now_time.tv_usec - last_time.tv_usec ) / 1000 ;
        tot_ms = (now_time.tv_sec - start_time.tv_sec ) * 1000 + (now_time.tv_usec - start_time.tv_usec ) / 1000 ;
        gbps_inst = (double)(num_bytes_good_sent - old_num_bytes_good_sent)/delta_ms/1000000*8;
        gbps_tot = (double)(num_bytes_good_sent)/tot_ms/1000000*8;
        mpps_inst = (double)(num_pkt_good_sent - old_num_pkt_good_sent)/delta_ms/1000;
        mpps_tot = (double)(num_pkt_good_sent)/tot_ms/1000;

        printf("Rate: %8.3fGbps  %8.3fMpps [Average rate: %8.3fGbps  %8.3fMpps], Buffer: %8.3f%%\n", gbps_inst, mpps_inst, gbps_tot, mpps_tot, (double)rte_mempool_free_count (pktmbuf_pool)/buffer_size*100.0);

        /* Update counters */
        old_num_bytes_good_sent = num_bytes_good_sent;
        old_num_pkt_good_sent = num_pkt_good_sent;
        last_time = now_time;

}
Ejemplo n.º 2
0
/*****************************************************************************
 * tlkp_total_ucbs_allocated()
 ****************************************************************************/
unsigned int tlkp_total_ucbs_allocated(void)
{
    return rte_mempool_free_count(mem_get_ucb_local_pool());
}