<p>lynxis lazus has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/13802">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">replace osmo_counter with stat items<br><br>Change-Id: I6a20123b263f4f808153794ee8a735092deb399e<br>---<br>M include/osmocom/msc/gsm_data.h<br>M src/libmsc/gsm_04_08_cc.c<br>M src/libmsc/gsm_09_11.c<br>M src/libmsc/osmo_msc.c<br>4 files changed, 29 insertions(+), 9 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/02/13802/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h</span><br><span>index 1a0d144..7049a63 100644</span><br><span>--- a/include/osmocom/msc/gsm_data.h</span><br><span>+++ b/include/osmocom/msc/gsm_data.h</span><br><span>@@ -10,6 +10,7 @@</span><br><span> #include <osmocom/core/rate_ctr.h></span><br><span> #include <osmocom/core/select.h></span><br><span> #include <osmocom/core/stats.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/core/stat_item.h></span><br><span> #include <osmocom/gsm/gsm48.h></span><br><span> #include <osmocom/crypt/auth.h></span><br><span> </span><br><span>@@ -101,6 +102,11 @@</span><br><span>     [MSC_CTR_BSSMAP_CIPHER_MODE_COMPLETE] = {"bssmap:cipher_mode_complete", "Number of CIPHER MODE COMPLETE messages processed by BSSMAP layer"},</span><br><span> };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+enum {</span><br><span style="color: hsl(120, 100%, 40%);">+   MSC_STAT_ACTIVE_CALLS,</span><br><span style="color: hsl(120, 100%, 40%);">+        MSC_STAT_NC_SS,</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> static const struct rate_ctr_group_desc msc_ctrg_desc = {</span><br><span>   "msc",</span><br><span>     "mobile switching center",</span><br><span>@@ -109,6 +115,19 @@</span><br><span>  msc_ctr_description,</span><br><span> };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+static const struct osmo_stat_item_desc msc_stat_item_description[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+       [MSC_STAT_ACTIVE_CALLS] = { "msc.active_calls",     "Current active calls ", OSMO_STAT_ITEM_NO_UNIT, 4, 0},</span><br><span style="color: hsl(120, 100%, 40%);">+       [MSC_STAT_NC_SS]        = { "msc.active_nc_ss",     ""                     , OSMO_STAT_ITEM_NO_UNIT, 4, 0},</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+static const struct osmo_stat_item_group_desc msc_statg_desc = {</span><br><span style="color: hsl(120, 100%, 40%);">+    "net",</span><br><span style="color: hsl(120, 100%, 40%);">+    "network statistics",</span><br><span style="color: hsl(120, 100%, 40%);">+    OSMO_STATS_CLASS_GLOBAL,</span><br><span style="color: hsl(120, 100%, 40%);">+    ARRAY_SIZE(msc_stat_item_description),</span><br><span style="color: hsl(120, 100%, 40%);">+    msc_stat_item_description,</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> #define MSC_PAGING_RESPONSE_TIMER_DEFAULT 10</span><br><span> </span><br><span> struct gsm_tz {</span><br><span>@@ -136,8 +155,7 @@</span><br><span>      int send_mm_info;</span><br><span> </span><br><span>        struct rate_ctr_group *msc_ctrs;</span><br><span style="color: hsl(0, 100%, 40%);">-        struct osmo_counter *active_calls;</span><br><span style="color: hsl(0, 100%, 40%);">-      struct osmo_counter *active_nc_ss;</span><br><span style="color: hsl(120, 100%, 40%);">+    struct osmo_stat_item_group *statg;</span><br><span> </span><br><span>      /* layer 4 */</span><br><span>        char *mncc_sock_path;</span><br><span>diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c</span><br><span>index 98c2aa3..f511601 100644</span><br><span>--- a/src/libmsc/gsm_04_08_cc.c</span><br><span>+++ b/src/libmsc/gsm_04_08_cc.c</span><br><span>@@ -149,7 +149,7 @@</span><br><span>         /* state incoming */</span><br><span>         switch (new_state) {</span><br><span>         case GSM_CSTATE_ACTIVE:</span><br><span style="color: hsl(0, 100%, 40%);">-         osmo_counter_inc(trans->net->active_calls);</span><br><span style="color: hsl(120, 100%, 40%);">+             osmo_stat_item_inc(trans->net->statg->items[MSC_STAT_ACTIVE_CALLS], 1);</span><br><span>             rate_ctr_inc(&msc->ctr[MSC_CTR_CALL_ACTIVE]);</span><br><span>                 break;</span><br><span>       }</span><br><span>@@ -157,7 +157,7 @@</span><br><span>      /* state outgoing */</span><br><span>         switch (old_state) {</span><br><span>         case GSM_CSTATE_ACTIVE:</span><br><span style="color: hsl(0, 100%, 40%);">-         osmo_counter_dec(trans->net->active_calls);</span><br><span style="color: hsl(120, 100%, 40%);">+             osmo_stat_item_dec(trans->net->statg->items[MSC_STAT_ACTIVE_CALLS], 1);</span><br><span>             if (new_state == GSM_CSTATE_DISCONNECT_REQ ||</span><br><span>                                new_state == GSM_CSTATE_DISCONNECT_IND)</span><br><span>                      rate_ctr_inc(&msc->ctr[MSC_CTR_CALL_COMPLETE]);</span><br><span>diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c</span><br><span>index c133656..778d765 100644</span><br><span>--- a/src/libmsc/gsm_09_11.c</span><br><span>+++ b/src/libmsc/gsm_09_11.c</span><br><span>@@ -32,6 +32,7 @@</span><br><span> </span><br><span> #include <osmocom/core/linuxlist.h></span><br><span> #include <osmocom/core/rate_ctr.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/core/stat_item.h></span><br><span> #include <osmocom/core/utils.h></span><br><span> #include <osmocom/core/msgb.h></span><br><span> </span><br><span>@@ -146,7 +147,7 @@</span><br><span>                   ncss_session_timeout_handler, trans);</span><br><span> </span><br><span>            /* Count active NC SS/USSD sessions */</span><br><span style="color: hsl(0, 100%, 40%);">-          osmo_counter_inc(conn->network->active_nc_ss);</span><br><span style="color: hsl(120, 100%, 40%);">+          osmo_stat_item_inc(trans->net->statg->items[MSC_STAT_NC_SS], 1);</span><br><span> </span><br><span>                trans->conn = ran_conn_get(conn, RAN_CONN_USE_TRANS_NC_SS);</span><br><span>               trans->dlci = OMSC_LINKID_CB(msg);</span><br><span>@@ -352,7 +353,7 @@</span><br><span>  }</span><br><span> </span><br><span>        /* Count active NC SS/USSD sessions */</span><br><span style="color: hsl(0, 100%, 40%);">-  osmo_counter_inc(net->active_nc_ss);</span><br><span style="color: hsl(120, 100%, 40%);">+       osmo_stat_item_inc(trans->net->statg->items[MSC_STAT_NC_SS], 1);</span><br><span> </span><br><span>        /* Assign transaction ID */</span><br><span>  tid = trans_assign_trans_id(trans->net, trans->vsub, GSM48_PDISC_NC_SS);</span><br><span>@@ -428,7 +429,7 @@</span><br><span>         osmo_timer_del(&trans->ss.timer_guard);</span><br><span> </span><br><span>   /* One session less */</span><br><span style="color: hsl(0, 100%, 40%);">-  osmo_counter_dec(trans->net->active_nc_ss);</span><br><span style="color: hsl(120, 100%, 40%);">+     osmo_stat_item_dec(trans->net->statg->items[MSC_STAT_NC_SS], 1);</span><br><span> }</span><br><span> </span><br><span> int gsm0911_gsup_handler(struct vlr_subscr *vsub,</span><br><span>diff --git a/src/libmsc/osmo_msc.c b/src/libmsc/osmo_msc.c</span><br><span>index 5c6f0aa..413b34c 100644</span><br><span>--- a/src/libmsc/osmo_msc.c</span><br><span>+++ b/src/libmsc/osmo_msc.c</span><br><span>@@ -37,6 +37,8 @@</span><br><span> #include <osmocom/msc/iu_dummy.h></span><br><span> #endif</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/core/stat_item.h></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> struct gsm_network *gsm_network_init(void *ctx, mncc_recv_cb_t mncc_recv)</span><br><span> {</span><br><span>         struct gsm_network *net;</span><br><span>@@ -68,8 +70,7 @@</span><br><span>                 talloc_free(net);</span><br><span>            return NULL;</span><br><span>         }</span><br><span style="color: hsl(0, 100%, 40%);">-       net->active_calls = osmo_counter_alloc("msc.active_calls");</span><br><span style="color: hsl(0, 100%, 40%);">-        net->active_nc_ss = osmo_counter_alloc("msc.active_nc_ss");</span><br><span style="color: hsl(120, 100%, 40%);">+      net->statg = osmo_stat_item_group_alloc(net, &msc_statg_desc, 0);</span><br><span> </span><br><span>         net->mncc_recv = mncc_recv;</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13802">change 13802</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/13802"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-msc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I6a20123b263f4f808153794ee8a735092deb399e </div>
<div style="display:none"> Gerrit-Change-Number: 13802 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: lynxis lazus <lynxis@fe80.eu> </div>