Loading...
Searching...
No Matches
stats_tcp.c File Reference
Statistics reporting
`#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.
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.
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).
static | __attribute__ ((constructor))

## Variables

static struct osmo_tcp_stats_config | s_tcp_stats_config
struct osmo_tcp_stats_config * | osmo_tcp_stats_config = &s_tcp_stats_config
static struct osmo_timer_list | stats_tcp_poll_timer
static struct stats_tcp_entry * | stats_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