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