aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Willmann <dwillmann@sysmocom.de>2020-06-03 18:25:45 +0200
committerlaforge <laforge@osmocom.org>2020-06-16 08:43:45 +0000
commitfea5d640d4513a5cf71ba75c8dcc484759e1bb1a (patch)
tree26a6b3bcc5a4f85cf665bf0fcbc0b4a5ff43b04d
parentce7aa0d5c2a1f72d353a8fced68be5d2efd46b40 (diff)
abis_rsl: Count successful channel requests
Ticket: SYS#4877 Change-Id: I5c51956569223e802f4789dc5ed1605d18f80aea
-rw-r--r--include/osmocom/bsc/gsm_data.h2
-rw-r--r--src/osmo-bsc/abis_rsl.c8
2 files changed, 9 insertions, 1 deletions
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 8dc410582..7e55089dd 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -1384,6 +1384,7 @@ void lchan_update_ms_power_ctrl_level(struct gsm_lchan *lchan, int ms_power_dbm)
enum bts_counter_id {
BTS_CTR_CHREQ_TOTAL,
+ BTS_CTR_CHREQ_SUCCESSFUL,
BTS_CTR_CHREQ_NO_CHANNEL,
BTS_CTR_CHAN_RF_FAIL,
BTS_CTR_CHAN_RLL_ERR,
@@ -1430,6 +1431,7 @@ enum bts_counter_id {
static const struct rate_ctr_desc bts_ctr_description[] = {
[BTS_CTR_CHREQ_TOTAL] = {"chreq:total", "Received channel requests"},
+ [BTS_CTR_CHREQ_SUCCESSFUL] = {"chreq:successful", "Successful channel requests (immediate assign sent)"},
[BTS_CTR_CHREQ_NO_CHANNEL] = {"chreq:no_channel", "Sent to MS no channel available"},
[BTS_CTR_CHAN_RF_FAIL] = {"chan:rf_fail", "Received a RF failure indication from BTS"},
[BTS_CTR_CHAN_RLL_ERR] = {"chan:rll_err", "Received a RLL failure with T200 cause from BTS"},
diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c
index 4a1d31476..705e75904 100644
--- a/src/osmo-bsc/abis_rsl.c
+++ b/src/osmo-bsc/abis_rsl.c
@@ -1428,6 +1428,7 @@ static int rsl_rx_chan_rqd(struct msgb *msg)
int rsl_tx_imm_assignment(struct gsm_lchan *lchan)
{
+ int rc;
struct gsm_bts *bts = lchan->ts->trx->bts;
uint8_t buf[GSM_MACBLOCK_LEN];
struct gsm48_imm_ass *ia = (struct gsm48_imm_ass *) buf;
@@ -1453,7 +1454,12 @@ int rsl_tx_imm_assignment(struct gsm_lchan *lchan)
ia->l2_plen = GSM48_LEN2PLEN((sizeof(*ia)-1) + ia->mob_alloc_len);
/* send IMMEDIATE ASSIGN CMD on RSL to BTS (to send on CCCH to MS) */
- return rsl_imm_assign_cmd(bts, sizeof(*ia)+ia->mob_alloc_len, (uint8_t *) ia);
+ rc = rsl_imm_assign_cmd(bts, sizeof(*ia)+ia->mob_alloc_len, (uint8_t *) ia);
+
+ if (!rc)
+ rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_SUCCESSFUL]);
+
+ return rc;
}
/* current load on the CCCH */