Statistics reporting

## Enumerations

enum | osmo_stats_class
enum | osmo_stats_reporter_type

## Functions

void | osmo_stats_init (void *ctx)
int | osmo_stats_report ()
int | osmo_stats_set_interval (int interval)
struct osmo_stats_reporter * | osmo_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_reporter * | osmo_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_reporter * | osmo_stats_reporter_create_log (const char *name)
struct osmo_stats_reporter * | osmo_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)
static | 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 ()
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 ()
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, unsigned int index1, const char *name2, int64_t value, const char *unit)
void | vty_out_stat_item_group (struct vty *vty, const char *prefix, struct osmo_stat_item_group *statg)
| print a stat item group to given VTY More...

## 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
struct osmo_stats_config * | osmo_stats_config
static void * | osmo_stats_ctx
static int | is_initialised
static int32_t | current_stat_item_index
static struct osmo_stats_config | s_stats_config
struct osmo_stats_config * | osmo_stats_config
static struct osmo_fd | osmo_stats_timer

## 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
| ) |  |

print a stat item group to given VTY

Parameters

  [in] | vty | The VTY to which it should be printed
  [in] | prefix | Any additional log prefix ahead of each line
  [in] | statg | Stat item group to be printed

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, VTY_NEWLINE, and vty_out().