This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
neels gerrit-no-reply at lists.osmocom.orgneels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/26068 ) Change subject: add chreq:successful_<reason> rate counters ...................................................................... add chreq:successful_<reason> rate counters Related: SYS#4878 Change-Id: I32c2c197a6199617a82986480b686c515fa40d62 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts.c M src/osmo-bsc/lchan_fsm.c 5 files changed, 60 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/68/26068/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 68654f2..68e7cfe 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -27,6 +27,13 @@ BTS_CTR_CHREQ_ATTEMPTED_OTHER, BTS_CTR_CHREQ_ATTEMPTED_UNKNOWN, BTS_CTR_CHREQ_SUCCESSFUL, + BTS_CTR_CHREQ_SUCCESSFUL_EMERG, + BTS_CTR_CHREQ_SUCCESSFUL_CALL, + BTS_CTR_CHREQ_SUCCESSFUL_LOCATION_UPD, + BTS_CTR_CHREQ_SUCCESSFUL_PAG, + BTS_CTR_CHREQ_SUCCESSFUL_PDCH, + BTS_CTR_CHREQ_SUCCESSFUL_OTHER, + BTS_CTR_CHREQ_SUCCESSFUL_UNKNOWN, BTS_CTR_CHREQ_NO_CHANNEL, BTS_CTR_CHREQ_MAX_DELAY_EXCEEDED, BTS_CTR_CHAN_RF_FAIL, diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index cb56028..6a60f06 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -617,6 +617,8 @@ struct lchan_activate_info { enum lchan_activate_for activ_for; + /* If activ_for == ACTIVATE_FOR_MS_CHANNEL_REQUEST, the original CHREQ reason. */ + enum gsm_chreq_reason_t chreq_reason; struct gsm_subscriber_connection *for_conn; struct channel_mode_and_rate ch_mode_rate; struct gsm_encr encr; diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 0e2ffc6..5745f33 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2091,6 +2091,7 @@ gsm_chreq_name(rqd->reason), rqd->ref.ra, rqd->ta); info = (struct lchan_activate_info){ .activ_for = ACTIVATE_FOR_MS_CHANNEL_REQUEST, + .chreq_reason = rqd->reason, .ch_mode_rate = { .chan_mode = GSM48_CMODE_SIGN, .chan_rate = CH_RATE_SDCCH, @@ -2149,8 +2150,32 @@ /* send IMMEDIATE ASSIGN CMD on RSL to BTS (to send on CCCH to MS) */ rc = rsl_imm_assign_cmd(bts, sizeof(*ia)+ia->mob_alloc_len, (uint8_t *) ia); - if (!rc) + if (!rc) { rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_SUCCESSFUL)); + switch (lchan->activate.info.chreq_reason) { + case GSM_CHREQ_REASON_EMERG: + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_EMERG)); + break; + case GSM_CHREQ_REASON_CALL: + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_CALL)); + break; + case GSM_CHREQ_REASON_LOCATION_UPD: + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_LOCATION_UPD)); + break; + case GSM_CHREQ_REASON_PAG: + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_PAG)); + break; + case GSM_CHREQ_REASON_PDCH: + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_PDCH)); + break; + case GSM_CHREQ_REASON_OTHER: + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_OTHER)); + break; + default: + rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_ATTEMPTED_UNKNOWN)); + break; + } + } return rc; } diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 21ee01a..28059bb 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -849,6 +849,27 @@ [BTS_CTR_CHREQ_SUCCESSFUL] = \ { "chreq:successful", "Successful channel requests (immediate assign sent)" }, + [BTS_CTR_CHREQ_SUCCESSFUL_EMERG] = \ + { "chreq:successful_emerg", + "Sent Immediate Assignment for EMERG" }, + [BTS_CTR_CHREQ_SUCCESSFUL_CALL] = \ + { "chreq:successful_call", + "Sent Immediate Assignment for CALL" }, + [BTS_CTR_CHREQ_SUCCESSFUL_LOCATION_UPD] = \ + { "chreq:successful_location_upd", + "Sent Immediate Assignment for LOCATION_UPD" }, + [BTS_CTR_CHREQ_SUCCESSFUL_PAG] = \ + { "chreq:successful_pag", + "Sent Immediate Assignment for PAG" }, + [BTS_CTR_CHREQ_SUCCESSFUL_PDCH] = \ + { "chreq:successful_pdch", + "Sent Immediate Assignment for PDCH" }, + [BTS_CTR_CHREQ_SUCCESSFUL_OTHER] = \ + { "chreq:successful_other", + "Sent Immediate Assignment for OTHER" }, + [BTS_CTR_CHREQ_SUCCESSFUL_UNKNOWN] = \ + { "chreq:successful_unknown", + "Sent Immediate Assignment for UNKNOWN" }, [BTS_CTR_CHREQ_NO_CHANNEL] = \ { "chreq:no_channel", "Sent to MS no channel available" }, diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 2f62487..72cea5f 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -627,6 +627,10 @@ lchan->release.requested = false; lchan->activate.info = *info; + /* To avoid confusion, invalidate info.chreq_reason value if it isn't for a CHREQ */ + if (lchan->activate.info.activ_for != ACTIVATE_FOR_MS_CHANNEL_REQUEST) + lchan->activate.info.chreq_reason = -1; + lchan->activate.concluded = false; lchan_fsm_state_chg(LCHAN_ST_WAIT_TS_READY); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/26068 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I32c2c197a6199617a82986480b686c515fa40d62 Gerrit-Change-Number: 26068 Gerrit-PatchSet: 1 Gerrit-Owner: neels <nhofmeyr at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20211102/5803b980/attachment.htm>