libosmocore 1.10.0.57-8972
Osmocom core library
|
Common routines regarding counter handling. More...
#include <osmocom/core/defs.h>
Go to the source code of this file.
Data Structures | |
struct | osmo_counter |
Structure representing a single counter. More... | |
Functions | |
static void | osmo_counter_dec (struct osmo_counter *ctr) |
Decrement given counter by one. More... | |
static void | osmo_counter_inc (struct osmo_counter *ctr) |
Increment counter by one. More... | |
static unsigned long | osmo_counter_get (struct osmo_counter *ctr) |
Get current value of counter. More... | |
static void | osmo_counter_reset (struct osmo_counter *ctr) |
Reset current value of counter to 0. More... | |
struct osmo_counter * | osmo_counter_alloc (const char *name) OSMO_DEPRECATED("Implement as osmo_stat_item instead") |
Allocate a new counter with given name. More... | |
void | osmo_counter_free (struct osmo_counter *ctr) OSMO_DEPRECATED("Implement as osmo_stat_item instead") |
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... | |
Common routines regarding counter handling.
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.
|
inlinestatic |
Decrement given counter by one.
[in] | ctr | Counter that's to be decremented |
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().
|
inlinestatic |
Get current value of counter.
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.
|
inlinestatic |
Increment counter by one.
[in] | Counter | that's to be incremented |
|
inlinestatic |
Reset current value of counter to 0.
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().