diff --git a/include/osmocom/bsc/bsc_stats.h b/include/osmocom/bsc/bsc_stats.h index 8fcd5a09e..639f87fd8 100644 --- a/include/osmocom/bsc/bsc_stats.h +++ b/include/osmocom/bsc/bsc_stats.h @@ -88,6 +88,8 @@ extern const struct rate_ctr_group_desc bsc_ctrg_desc; /* OsmoBSC stat_item indexes */ enum { BSC_STAT_NUM_BTS_TOTAL, + BSC_STAT_NUM_MSC_CONNECTED, + BSC_STAT_NUM_MSC_TOTAL, }; /* BTS counter index if a BTS could not be found diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index 0befd7227..d23ffa799 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -25,6 +25,7 @@ #include #include #include +#include static void a_reset_tx_reset(void *data) { @@ -43,6 +44,7 @@ static void a_reset_link_up(void *data) struct bsc_msc_data *msc = data; LOGP(DMSC, LOGL_NOTICE, "(msc%d) BSSMAP assocation is up\n", msc->nr); osmo_stat_item_inc(osmo_stat_item_group_get_item(msc->msc_statg, MSC_STAT_MSC_LINKS_ACTIVE), 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(msc->network->bsc_statg, BSC_STAT_NUM_MSC_CONNECTED), 1); osmo_signal_dispatch(SS_MSC, S_MSC_CONNECTED, msc); } @@ -51,6 +53,7 @@ static void a_reset_link_lost(void *data) struct bsc_msc_data *msc = data; LOGP(DMSC, LOGL_NOTICE, "(msc%d) BSSMAP assocation is down\n", msc->nr); osmo_stat_item_dec(osmo_stat_item_group_get_item(msc->msc_statg, MSC_STAT_MSC_LINKS_ACTIVE), 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(msc->network->bsc_statg, BSC_STAT_NUM_MSC_CONNECTED), 1); osmo_signal_dispatch(SS_MSC, S_MSC_LOST, msc); osmo_bsc_sigtran_reset(msc); } @@ -76,6 +79,7 @@ void a_reset_alloc(struct bsc_msc_data *msc, const char *name) } msc->a.bssmap_reset = bssmap_reset_alloc(msc, name, &cfg); + osmo_stat_item_inc(osmo_stat_item_group_get_item(msc->network->bsc_statg, BSC_STAT_NUM_MSC_TOTAL), 1); } /* Confirm that we successfully received a reset acknowledge message */ diff --git a/src/osmo-bsc/bsc_stats.c b/src/osmo-bsc/bsc_stats.c index 8fc4c38e1..36d38c2e3 100644 --- a/src/osmo-bsc/bsc_stats.c +++ b/src/osmo-bsc/bsc_stats.c @@ -111,6 +111,8 @@ const struct rate_ctr_group_desc bsc_ctrg_desc = { static const struct osmo_stat_item_desc bsc_stat_desc[] = { [BSC_STAT_NUM_BTS_TOTAL] = { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, + [BSC_STAT_NUM_MSC_CONNECTED] = { "num_msc:connected", "Number of actively connected MSCs", "", 16, 0 }, + [BSC_STAT_NUM_MSC_TOTAL] = { "num_msc:total", "Number of configured MSCs, not necessarily connected", "", 1, 0 }, }; const struct osmo_stat_item_group_desc bsc_statg_desc = {