replace osmo_counter with stat_items
osmo_counter will be soon deprecated. Use the newer and more flexible
osmo_stat_item instead.
Depends on: Id2462c4866bd22bc2338c9c8f69b775f88ae7511 (libosmocore)
Change-Id: I6a20123b263f4f808153794ee8a735092deb399e
diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c
index 2869bba..03830de 100644
--- a/src/libmsc/gsm_04_08_cc.c
+++ b/src/libmsc/gsm_04_08_cc.c
@@ -161,7 +161,7 @@
/* state incoming */
switch (new_state) {
case GSM_CSTATE_ACTIVE:
- osmo_counter_inc(trans->net->active_calls);
+ osmo_stat_item_inc(trans->net->statg->items[MSC_STAT_ACTIVE_CALLS], 1);
rate_ctr_inc(&msc->ctr[MSC_CTR_CALL_ACTIVE]);
break;
}
@@ -169,7 +169,7 @@
/* state outgoing */
switch (old_state) {
case GSM_CSTATE_ACTIVE:
- osmo_counter_dec(trans->net->active_calls);
+ osmo_stat_item_dec(trans->net->statg->items[MSC_STAT_ACTIVE_CALLS], 1);
if (new_state == GSM_CSTATE_DISCONNECT_REQ ||
new_state == GSM_CSTATE_DISCONNECT_IND)
rate_ctr_inc(&msc->ctr[MSC_CTR_CALL_COMPLETE]);
diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c
index 79fcb5a..8a13cda 100644
--- a/src/libmsc/gsm_09_11.c
+++ b/src/libmsc/gsm_09_11.c
@@ -32,6 +32,7 @@
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/rate_ctr.h>
+#include <osmocom/core/stat_item.h>
#include <osmocom/core/utils.h>
#include <osmocom/core/msgb.h>
@@ -158,7 +159,7 @@
ncss_session_timeout_handler, trans);
/* Count active NC SS/USSD sessions */
- osmo_counter_inc(net->active_nc_ss);
+ osmo_stat_item_inc(net->statg->items[MSC_STAT_ACTIVE_NC_SS], 1);
trans->dlci = OMSC_LINKID_CB(msg);
trans->msc_a = msc_a;
@@ -362,7 +363,7 @@
}
/* Count active NC SS/USSD sessions */
- osmo_counter_inc(net->active_nc_ss);
+ osmo_stat_item_inc(net->statg->items[MSC_STAT_ACTIVE_NC_SS], 1);
/* Init inactivity timer */
osmo_timer_setup(&trans->ss.timer_guard,
@@ -414,7 +415,7 @@
osmo_timer_del(&trans->ss.timer_guard);
/* One session less */
- osmo_counter_dec(trans->net->active_nc_ss);
+ osmo_stat_item_dec(trans->net->statg->items[MSC_STAT_ACTIVE_NC_SS], 1);
}
int gsm0911_gsup_rx(struct gsup_client_mux *gcm, void *data, const struct osmo_gsup_message *gsup_msg)
diff --git a/src/libmsc/msc_net_init.c b/src/libmsc/msc_net_init.c
index 4a752bf..11920f3 100644
--- a/src/libmsc/msc_net_init.c
+++ b/src/libmsc/msc_net_init.c
@@ -35,6 +35,8 @@
{}
};
+#include <osmocom/core/stat_item.h>
+
struct gsm_network *gsm_network_init(void *ctx, mncc_recv_cb_t mncc_recv)
{
struct gsm_network *net;
@@ -66,8 +68,13 @@
talloc_free(net);
return NULL;
}
- net->active_calls = osmo_counter_alloc("msc.active_calls");
- net->active_nc_ss = osmo_counter_alloc("msc.active_nc_ss");
+
+ net->statg = osmo_stat_item_group_alloc(net, &msc_statg_desc, 0);
+ if (!net->statg) {
+ rate_ctr_group_free(net->msc_ctrs);
+ talloc_free(net);
+ return NULL;
+ }
net->mncc_tdefs = mncc_tdefs;
net->mncc_recv = mncc_recv;