libosmovty 1.9.0.196-9975
Osmocom VTY library
Statistics reporting

Enumerations

enum  osmo_stats_class
 
enum  osmo_stats_reporter_type
 

Functions

void osmo_stats_init (void *ctx)
 
int osmo_stats_report (void)
 
int osmo_stats_set_interval (int interval)
 
struct osmo_stats_reporterosmo_stats_reporter_alloc (enum osmo_stats_reporter_type type, const char *name)
 
void osmo_stats_reporter_free (struct osmo_stats_reporter *srep)
 
struct osmo_stats_reporterosmo_stats_reporter_find (enum osmo_stats_reporter_type type, const char *name)
 
int osmo_stats_reporter_set_remote_addr (struct osmo_stats_reporter *srep, const char *addr)
 
int osmo_stats_reporter_set_remote_port (struct osmo_stats_reporter *srep, int port)
 
int osmo_stats_reporter_set_local_addr (struct osmo_stats_reporter *srep, const char *addr)
 
int osmo_stats_reporter_set_mtu (struct osmo_stats_reporter *srep, int mtu)
 
int osmo_stats_reporter_set_max_class (struct osmo_stats_reporter *srep, enum osmo_stats_class class_id)
 
int osmo_stats_reporter_set_name_prefix (struct osmo_stats_reporter *srep, const char *prefix)
 
int osmo_stats_reporter_enable (struct osmo_stats_reporter *srep)
 
int osmo_stats_reporter_disable (struct osmo_stats_reporter *srep)
 
int osmo_stats_reporter_set_flush_period (struct osmo_stats_reporter *srep, unsigned int period)
 
struct osmo_stats_reporterosmo_stats_reporter_create_log (const char *name)
 
struct osmo_stats_reporterosmo_stats_reporter_create_statsd (const char *name)
 
int osmo_stats_reporter_send (struct osmo_stats_reporter *srep, const char *data, int data_len)
 
int osmo_stats_reporter_send_buffer (struct osmo_stats_reporter *srep)
 
int osmo_stats_reporter_udp_open (struct osmo_stats_reporter *srep)
 
int osmo_stats_reporter_udp_close (struct osmo_stats_reporter *srep)
 
 LLIST_HEAD (osmo_stats_reporter_list)
 
static int osmo_stats_reporter_log_send_counter (struct osmo_stats_reporter *srep, const struct rate_ctr_group *ctrg, const struct rate_ctr_desc *desc, int64_t value, int64_t delta)
 
static int osmo_stats_reporter_log_send_item (struct osmo_stats_reporter *srep, const struct osmo_stat_item_group *statg, const struct osmo_stat_item_desc *desc, int64_t value)
 
static int update_srep_config (struct osmo_stats_reporter *srep)
 
static int osmo_stats_timer_cb (struct osmo_fd *ofd, unsigned int what)
 
static int start_timer (void)
 
static int osmo_stats_reporter_log_send (struct osmo_stats_reporter *srep, const char *type, const char *name1, unsigned int index1, const char *name2, int value, const char *unit)
 
static int osmo_stats_reporter_check_config (struct osmo_stats_reporter *srep, unsigned int index, int class_id)
 
static int osmo_stats_reporter_send_counter (struct osmo_stats_reporter *srep, const struct rate_ctr_group *ctrg, const struct rate_ctr_desc *desc, int64_t value, int64_t delta)
 
static int rate_ctr_handler (struct rate_ctr_group *ctrg, struct rate_ctr *ctr, const struct rate_ctr_desc *desc, void *sctx_)
 
static int rate_ctr_group_handler (struct rate_ctr_group *ctrg, void *sctx_)
 
static int osmo_stats_reporter_send_item (struct osmo_stats_reporter *srep, const struct osmo_stat_item_group *statg, const struct osmo_stat_item_desc *desc, int32_t value)
 
static int osmo_stat_item_handler (struct osmo_stat_item_group *statg, struct osmo_stat_item *item, void *sctx_)
 
static int osmo_stat_item_group_handler (struct osmo_stat_item_group *statg, void *sctx_)
 
static int handle_counter (struct osmo_counter *counter, void *sctx_)
 
static void flush_all_reporters (void)
 
static int osmo_stats_reporter_statsd_send_counter (struct osmo_stats_reporter *srep, const struct rate_ctr_group *ctrg, const struct rate_ctr_desc *desc, int64_t value, int64_t delta)
 
static int osmo_stats_reporter_statsd_send_item (struct osmo_stats_reporter *srep, const struct osmo_stat_item_group *statg, const struct osmo_stat_item_desc *desc, int64_t value)
 
static void osmo_stats_reporter_sanitize_name (char *buf)
 
static int osmo_stats_reporter_statsd_send (struct osmo_stats_reporter *srep, const char *name1, const char *index1, const char *name2, int64_t value, const char *unit)
 
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)
 
static void next_stats_tcp_entry (void)
 
int osmo_stats_tcp_osmo_fd_unregister (const struct osmo_fd *fd)
 
static void stats_tcp_poll_timer_cb (void *data)
 
int osmo_stats_tcp_set_interval (int interval)
 
static __attribute__ ((constructor))
 
void vty_out_stat_item_group2 (struct vty *vty, const char *prefix, struct osmo_stat_item_group *statg, bool skip_zero)
 print a stat item group to given VTY More...
 
void vty_out_stat_item_group (struct vty *vty, const char *prefix, struct osmo_stat_item_group *statg)
 

Variables

 OSMO_STATS_CLASS_UNKNOWN
 
 OSMO_STATS_CLASS_GLOBAL
 
 OSMO_STATS_CLASS_PEER
 
 OSMO_STATS_CLASS_SUBSCRIBER
 
 OSMO_STATS_REPORTER_LOG
 
 OSMO_STATS_REPORTER_STATSD
 
 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
 
 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
 
struct llist_head osmo_stats_reporter_list
 
struct osmo_stats_configosmo_stats_config
 
static void * osmo_stats_ctx
 
static int is_initialised
 
static struct osmo_stats_config s_stats_config
 
struct osmo_stats_configosmo_stats_config
 
static struct osmo_fd osmo_stats_timer
 
static struct osmo_tcp_stats_config s_tcp_stats_config
 
struct osmo_tcp_stats_configosmo_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
 
struct llist_head entry
 
const struct osmo_fdfd
 
struct osmo_stat_item_groupstats_tcp
 
const char * name
 
static struct osmo_stat_item_desc stats_tcp_item_desc []
 
static struct osmo_stat_item_group_desc stats_tcp_desc
 

Detailed Description

Function Documentation

◆ vty_out_stat_item_group()

void vty_out_stat_item_group ( struct vty vty,
const char *  prefix,
struct osmo_stat_item_group statg 
)

◆ vty_out_stat_item_group2()

void vty_out_stat_item_group2 ( struct vty vty,
const char *  prefix,
struct osmo_stat_item_group statg,
bool  skip_zero 
)

print a stat item group to given VTY

Parameters
[in]vtyThe VTY to which it should be printed
[in]prefixAny additional log prefix ahead of each line
[in]statgStat item group to be printed
[in]skip_zeroSkip all zero-valued counters

References osmo_stat_item_group::desc, osmo_stat_item_group_desc::group_description, osmo_stat_item_for_each_item(), osmo_stat_item_handler(), vty_out_context::prefix, vty_out_context::skip_zero, vty, VTY_NEWLINE, and vty_out().

Referenced by vty_out_stat_item_group().