diff options
author | Alexander Chemeris <Alexander.Chemeris@gmail.com> | 2020-05-07 02:18:06 +0300 |
---|---|---|
committer | Alexander Chemeris <Alexander.Chemeris@gmail.com> | 2020-05-07 02:19:50 +0300 |
commit | 8e198b0ebeedbc46c5b3cf726c88ac2ea84b3251 (patch) | |
tree | b24499fa0bc60616ba07a39766eaa515e1d3b2d2 | |
parent | d8835234c5436c0ce781ddbc02b1094fd6dfc4a3 (diff) |
stats: Export connected OML/RSL links count per BTS and BSC.
Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325
-rw-r--r-- | include/osmocom/bsc/gsm_data.h | 4 | ||||
-rw-r--r-- | src/osmo-bsc/bsc_init.c | 2 | ||||
-rw-r--r-- | src/osmo-bsc/bts_ipaccess_nanobts.c | 8 | ||||
-rw-r--r-- | src/osmo-bsc/gsm_data.c | 2 |
4 files changed, 16 insertions, 0 deletions
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index e85796cdf..9a8e002ea 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1464,6 +1464,8 @@ enum { BTS_STAT_T3122, BTS_STAT_RACH_BUSY, BTS_STAT_RACH_ACCESS, + BTS_STAT_NUM_OML_CONNECTED, + BTS_STAT_NUM_RSL_CONNECTED, }; enum { @@ -1556,6 +1558,8 @@ static const struct rate_ctr_group_desc bsc_ctrg_desc = { enum { BSC_STAT_MSC_LINK, + BSC_STAT_NUM_BTS_CONNECTED, + BSC_STAT_NUM_TRX_CONNECTED, }; struct gsm_tz { diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 9d0ee86f3..0d5829622 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -46,6 +46,8 @@ static const struct osmo_stat_item_desc bsc_stat_desc[] = { { "msc_link", "MSC link status.", "", 16, 0 }, + { "num_bts_connected", "Number of currently connected BTS (OML links).", "", 16, 0 }, + { "num_trx_connected", "Number of currently connected TRX (RSL links).", "", 16, 0 }, }; static const struct osmo_stat_item_group_desc bsc_statg_desc = { diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index a5e697be1..8873ad4cb 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -397,6 +397,8 @@ void ipaccess_drop_rsl(struct gsm_bts_trx *trx, const char *reason) LOG_TRX(trx, DLINP, LOGL_NOTICE, "Dropping RSL link: %s\n", reason); e1inp_sign_link_destroy(trx->rsl_link); trx->rsl_link = NULL; + osmo_stat_item_set(trx->bts->bts_statg->items[BTS_STAT_NUM_RSL_CONNECTED], 0); + osmo_stat_item_dec(trx->bts->network->bsc_statg->items[BSC_STAT_NUM_TRX_CONNECTED], 1); if (trx->bts->c0 == trx) paging_flush_bts(trx->bts, NULL); @@ -417,6 +419,8 @@ void ipaccess_drop_oml(struct gsm_bts *bts, const char *reason) e1inp_sign_link_destroy(bts->oml_link); bts->oml_link = NULL; bts->uptime = 0; + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_NUM_OML_CONNECTED], 0); + osmo_stat_item_dec(bts->network->bsc_statg->items[BSC_STAT_NUM_BTS_CONNECTED], 1); /* we have issues reconnecting RSL, drop everything. */ llist_for_each_entry(trx, &bts->trx_list, list) @@ -558,6 +562,8 @@ ipaccess_sign_link_up(void *unit_data, struct e1inp_line *line, sign_link->tei, sign_link->sapi); sign_link->trx->bts->ip_access.flags |= OML_UP; } + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_NUM_OML_CONNECTED], 1); + osmo_stat_item_inc(bts->network->bsc_statg->items[BSC_STAT_NUM_BTS_CONNECTED], 1); break; case E1INP_SIGN_RSL: { struct e1inp_ts *ts; @@ -586,6 +592,8 @@ ipaccess_sign_link_up(void *unit_data, struct e1inp_line *line, (RSL_UP << sign_link->trx->nr); } break; + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_NUM_RSL_CONNECTED], 1); + osmo_stat_item_inc(bts->network->bsc_statg->items[BSC_STAT_NUM_TRX_CONNECTED], 1); } default: break; diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index f61335fc7..fd90e3a75 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -390,6 +390,8 @@ static const struct osmo_stat_item_desc bts_stat_desc[] = { { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator.", "s", 16, GSM_T3122_DEFAULT }, { "rach_busy", "RACH slots with signal above threshold", "%", 16, 0 }, { "rach_access", "RACH slots with access bursts in them", "%", 16, 0 }, + { "num_oml_connected", "Number of OML links connected", "", 16, 0 }, + { "num_rsl_connected", "Number of RSL links connected", "", 16, 0 }, }; static const struct osmo_stat_item_group_desc bts_statg_desc = { |