1*76404edcSAsim Jamshed #ifndef __STAT_H_ 2*76404edcSAsim Jamshed #define __STAT_H_ 3*76404edcSAsim Jamshed 4*76404edcSAsim Jamshed #include "io_module.h" 5*76404edcSAsim Jamshed 6*76404edcSAsim Jamshed struct run_stat 7*76404edcSAsim Jamshed { 8*76404edcSAsim Jamshed uint64_t rounds; 9*76404edcSAsim Jamshed uint64_t rounds_rx; 10*76404edcSAsim Jamshed uint64_t rounds_rx_try; 11*76404edcSAsim Jamshed uint64_t rounds_tx; 12*76404edcSAsim Jamshed uint64_t rounds_tx_try; 13*76404edcSAsim Jamshed uint64_t rounds_select; 14*76404edcSAsim Jamshed uint64_t rounds_select_rx; 15*76404edcSAsim Jamshed uint64_t rounds_select_tx; 16*76404edcSAsim Jamshed uint64_t rounds_select_intr; 17*76404edcSAsim Jamshed 18*76404edcSAsim Jamshed uint64_t rounds_accept; 19*76404edcSAsim Jamshed uint64_t rounds_read; 20*76404edcSAsim Jamshed uint64_t rounds_write; 21*76404edcSAsim Jamshed uint64_t rounds_epoll; 22*76404edcSAsim Jamshed uint64_t rounds_wndadv; 23*76404edcSAsim Jamshed 24*76404edcSAsim Jamshed uint64_t rounds_rtocheck; 25*76404edcSAsim Jamshed uint64_t rounds_twcheck; 26*76404edcSAsim Jamshed uint64_t rounds_tocheck; 27*76404edcSAsim Jamshed }; 28*76404edcSAsim Jamshed 29*76404edcSAsim Jamshed struct stat_counter 30*76404edcSAsim Jamshed { 31*76404edcSAsim Jamshed uint64_t cnt; 32*76404edcSAsim Jamshed uint64_t sum; 33*76404edcSAsim Jamshed uint64_t max; 34*76404edcSAsim Jamshed uint64_t min; 35*76404edcSAsim Jamshed }; 36*76404edcSAsim Jamshed 37*76404edcSAsim Jamshed struct time_stat 38*76404edcSAsim Jamshed { 39*76404edcSAsim Jamshed struct stat_counter round; 40*76404edcSAsim Jamshed struct stat_counter processing; 41*76404edcSAsim Jamshed struct stat_counter tcheck; 42*76404edcSAsim Jamshed struct stat_counter epoll; 43*76404edcSAsim Jamshed struct stat_counter handle; 44*76404edcSAsim Jamshed struct stat_counter xmit; 45*76404edcSAsim Jamshed struct stat_counter select; 46*76404edcSAsim Jamshed }; 47*76404edcSAsim Jamshed 48*76404edcSAsim Jamshed struct net_stat 49*76404edcSAsim Jamshed { 50*76404edcSAsim Jamshed uint64_t tx_packets[MAX_DEVICES]; 51*76404edcSAsim Jamshed uint64_t tx_bytes[MAX_DEVICES]; 52*76404edcSAsim Jamshed uint64_t tx_drops[MAX_DEVICES]; 53*76404edcSAsim Jamshed uint64_t rx_packets[MAX_DEVICES]; 54*76404edcSAsim Jamshed uint64_t rx_bytes[MAX_DEVICES]; 55*76404edcSAsim Jamshed uint64_t rx_errors[MAX_DEVICES]; 56*76404edcSAsim Jamshed }; 57*76404edcSAsim Jamshed 58*76404edcSAsim Jamshed struct bcast_stat 59*76404edcSAsim Jamshed { 60*76404edcSAsim Jamshed uint64_t cycles; 61*76404edcSAsim Jamshed uint64_t write; 62*76404edcSAsim Jamshed uint64_t read; 63*76404edcSAsim Jamshed uint64_t epoll; 64*76404edcSAsim Jamshed uint64_t wnd_adv; 65*76404edcSAsim Jamshed uint64_t ack; 66*76404edcSAsim Jamshed }; 67*76404edcSAsim Jamshed 68*76404edcSAsim Jamshed struct timeout_stat 69*76404edcSAsim Jamshed { 70*76404edcSAsim Jamshed uint64_t cycles; 71*76404edcSAsim Jamshed uint64_t rto_try; 72*76404edcSAsim Jamshed uint64_t rto; 73*76404edcSAsim Jamshed uint64_t timewait_try; 74*76404edcSAsim Jamshed uint64_t timewait; 75*76404edcSAsim Jamshed }; 76*76404edcSAsim Jamshed 77*76404edcSAsim Jamshed #ifdef NETSTAT 78*76404edcSAsim Jamshed #define STAT_COUNT(stat) stat++ 79*76404edcSAsim Jamshed #else 80*76404edcSAsim Jamshed #define STAT_COUNT(stat) 81*76404edcSAsim Jamshed #endif 82*76404edcSAsim Jamshed 83*76404edcSAsim Jamshed #endif /* __STAT_H_ */ 84