libosmocore 1.9.0.196-9975
Osmocom core library
stats_tcp.c File Reference
#include "config.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <linux/tcp.h>
#include <errno.h>
#include <pthread.h>
#include <osmocom/core/select.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/utils.h>
#include <osmocom/core/timer.h>
#include <osmocom/core/stat_item.h>
#include <osmocom/core/stats.h>
#include <osmocom/core/socket.h>
#include <osmocom/core/stats_tcp.h>

Data Structures

struct  stats_tcp_entry
 

Enumerations

enum  {
  STATS_TCP_UNACKED ,
  STATS_TCP_LOST ,
  STATS_TCP_RETRANS ,
  STATS_TCP_RTT ,
  STATS_TCP_RCV_RTT ,
  STATS_TCP_NOTSENT_BYTES ,
  STATS_TCP_RWND_LIMITED ,
  STATS_TCP_SNDBUF_LIMITED ,
  STATS_TCP_REORD_SEEN
}
 

Functions

static LLIST_HEAD (stats_tcp)
 
static void fill_stats (struct stats_tcp_entry *stats_tcp_entry)
 
static bool is_tcp (const struct osmo_fd *fd)
 
int osmo_stats_tcp_osmo_fd_register (const struct osmo_fd *fd, const char *name)
 Register an osmo_fd for TCP stats monitoring. More...
 
static void next_stats_tcp_entry (void)
 
int osmo_stats_tcp_osmo_fd_unregister (const struct osmo_fd *fd)
 Register an osmo_fd for TCP stats monitoring. More...
 
static void stats_tcp_poll_timer_cb (void *data)
 
int osmo_stats_tcp_set_interval (int interval)
 Set the polling interval (common for all sockets) More...
 
static __attribute__ ((constructor))
 

Variables

static struct osmo_tcp_stats_config s_tcp_stats_config
 
struct osmo_tcp_stats_configosmo_tcp_stats_config = &s_tcp_stats_config
 
static struct osmo_timer_list stats_tcp_poll_timer
 
static struct stats_tcp_entrystats_tcp_entry_cur
 
pthread_mutex_t stats_tcp_lock
 
static struct osmo_stat_item_desc stats_tcp_item_desc []
 
static struct osmo_stat_item_group_desc stats_tcp_desc