diff options
author | Daniel Willmann <dwillmann@sysmocom.de> | 2021-07-21 14:26:26 +0200 |
---|---|---|
committer | pespin <pespin@sysmocom.de> | 2021-07-22 15:45:24 +0000 |
commit | b2b47d2c472c85da6eb1fd02c28248c909c5869e (patch) | |
tree | ecfb82e43437ec7f21834211f8e86871fee49ebe /src | |
parent | 0c2d98e0c4bcdb1160bece2ecab77910ca0f4c76 (diff) |
bts: Clear BTS_STAT_CHAN_*_{TOTAL,USED} on bts disconnect
Adds gsm_bts_stats_reset() to clear the stats and calls it from the
different models.
Change-Id: Ic42687cd73e3546edaa99fb1268a5960ffa43b12
Related: SYS#5541
Diffstat (limited to 'src')
-rw-r--r-- | src/osmo-bsc/bts.c | 20 | ||||
-rw-r--r-- | src/osmo-bsc/bts_ericsson_rbs2000.c | 1 | ||||
-rw-r--r-- | src/osmo-bsc/bts_ipaccess_nanobts.c | 2 | ||||
-rw-r--r-- | src/osmo-bsc/bts_nokia_site.c | 1 | ||||
-rw-r--r-- | src/osmo-bsc/bts_siemens_bs11.c | 1 |
5 files changed, 25 insertions, 0 deletions
diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index d03f092df..ec29ac80e 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -796,6 +796,26 @@ int gsm_bts_set_c0_power_red(struct gsm_bts *bts, const uint8_t red) return 0; } +void gsm_bts_stats_reset(struct gsm_bts *bts) +{ + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_H_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_H_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_PDCH_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_PDCH_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_CBCH_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_OSMO_DYN_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_OSMO_DYN_TOTAL), 0); +} + const struct rate_ctr_desc bts_ctr_description[] = { [BTS_CTR_CHREQ_TOTAL] = \ { "chreq:total", diff --git a/src/osmo-bsc/bts_ericsson_rbs2000.c b/src/osmo-bsc/bts_ericsson_rbs2000.c index 7d296576b..b3d79b4b5 100644 --- a/src/osmo-bsc/bts_ericsson_rbs2000.c +++ b/src/osmo-bsc/bts_ericsson_rbs2000.c @@ -52,6 +52,7 @@ static void bootstrap_om_trx(struct gsm_bts_trx *trx) static int shutdown_om(struct gsm_bts *bts) { gsm_bts_all_ts_dispatch(bts, TS_EV_OML_DOWN, NULL); + gsm_bts_stats_reset(bts); /* FIXME */ return 0; diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 26e219604..27f6aeee5 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -32,6 +32,7 @@ #include <osmocom/gsm/tlv.h> #include <osmocom/core/msgb.h> #include <osmocom/core/socket.h> +#include <osmocom/core/stat_item.h> #include <osmocom/core/talloc.h> #include <osmocom/core/utils.h> #include <osmocom/bsc/gsm_data.h> @@ -557,6 +558,7 @@ void ipaccess_drop_oml(struct gsm_bts *bts, const char *reason) bts->oml_link = NULL; bts->uptime = 0; osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_OML_CONNECTED), 1); + gsm_bts_stats_reset(bts); /* Also drop the associated OSMO link */ e1inp_sign_link_destroy(bts->osmo_link); diff --git a/src/osmo-bsc/bts_nokia_site.c b/src/osmo-bsc/bts_nokia_site.c index 3820eaddf..75ffa95e4 100644 --- a/src/osmo-bsc/bts_nokia_site.c +++ b/src/osmo-bsc/bts_nokia_site.c @@ -80,6 +80,7 @@ static void bootstrap_om_trx(struct gsm_bts_trx *trx) static int shutdown_om(struct gsm_bts *bts) { + gsm_bts_stats_reset(bts); /* TODO !? */ return 0; } diff --git a/src/osmo-bsc/bts_siemens_bs11.c b/src/osmo-bsc/bts_siemens_bs11.c index 0d71ce2f4..818d84a40 100644 --- a/src/osmo-bsc/bts_siemens_bs11.c +++ b/src/osmo-bsc/bts_siemens_bs11.c @@ -552,6 +552,7 @@ static int shutdown_om(struct gsm_bts *bts) /* Reset BTS Site manager resource */ abis_nm_bs11_reset_resource(bts); + gsm_bts_stats_reset(bts); gsm_bts_all_ts_dispatch(bts, TS_EV_OML_DOWN, NULL); return 0; |