libosmocore 1.10.0.58-6cd7a
Osmocom core library
|
utility routines for keeping some statistics. More...
#include <string.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/counter.h>
Functions | |
static | LLIST_HEAD (counters) |
struct osmo_counter * | osmo_counter_alloc (const char *name) |
Allocate a new counter with given name. More... | |
void | osmo_counter_free (struct osmo_counter *ctr) |
Release/Destroy a given counter. More... | |
int | osmo_counters_for_each (int(*handle_counter)(struct osmo_counter *, void *), void *data) |
Iterate over all counters; call handle_cunter call-back for each. More... | |
int | osmo_counters_count (void) |
Counts the registered counter. More... | |
struct osmo_counter * | osmo_counter_get_by_name (const char *name) |
Find a counter by its name. More... | |
int | osmo_counter_difference (struct osmo_counter *ctr) |
Compute difference between current and previous counter value. More... | |
Variables | |
void * | tall_ctr_ctx |
Global talloc context for all osmo_counter allocations. More... | |
utility routines for keeping some statistics.
|
static |
struct osmo_counter * osmo_counter_alloc | ( | const char * | name | ) |
Allocate a new counter with given name.
Allocates from tall_ctr_ctx
[in] | name | Human-readable string name for the counter |
References osmo_counter::list, llist_add_tail(), name, osmo_counter::name, and tall_ctr_ctx.
int osmo_counter_difference | ( | struct osmo_counter * | ctr | ) |
Compute difference between current and previous counter value.
[in] | ctr | Counter of which the difference is to be computed |
References osmo_counter::previous, and osmo_counter::value.
Referenced by handle_counter().
void osmo_counter_free | ( | struct osmo_counter * | ctr | ) |
Release/Destroy a given counter.
[in] | ctr | Counter to be destroyed |
References osmo_counter::list, and llist_del().
struct osmo_counter * osmo_counter_get_by_name | ( | const char * | name | ) |
Find a counter by its name.
[in] | name | Name used to look-up/search counter |
References list, llist_for_each_entry, name, and osmo_counter::name.
int osmo_counters_count | ( | void | ) |
int osmo_counters_for_each | ( | int(*)(struct osmo_counter *, void *) | handle_counter, |
void * | data | ||
) |
Iterate over all counters; call handle_cunter call-back for each.
[in] | handle_counter | Call-back to be called for each counter; aborts if rc < 0 |
[in] | data | Opaque data passed through to handle_counter function |
References data, handle_counter(), list, and llist_for_each_entry.
Referenced by osmo_stats_report().
void* tall_ctr_ctx |
Global talloc context for all osmo_counter allocations.
Referenced by osmo_counter_alloc().