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/.
iedemam gerrit-no-reply at lists.osmocom.orgiedemam has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/22103 ) Change subject: stats: Add granularity to SDCCH/TCH/LU activity. ...................................................................... stats: Add granularity to SDCCH/TCH/LU activity. Change-Id: I4df275e4770c5ff3643c79ba828e736986f8bb47 --- M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bts.c M src/osmo-bsc/osmo_bsc_filter.c 5 files changed, 176 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/03/22103/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index c79e7f7..b616aa5 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -18,6 +18,13 @@ enum bts_counter_id { BTS_CTR_CHREQ_TOTAL, + BTS_CTR_CHREQ_ATTEMPTED_EMERG, + BTS_CTR_CHREQ_ATTEMPTED_CALL, + BTS_CTR_CHREQ_ATTEMPTED_LOCATION_UPD, + BTS_CTR_CHREQ_ATTEMPTED_PAG, + BTS_CTR_CHREQ_ATTEMPTED_PDCH, + BTS_CTR_CHREQ_ATTEMPTED_OTHER, + BTS_CTR_CHREQ_ATTEMPTED_UNKNOWN, BTS_CTR_CHREQ_SUCCESSFUL, BTS_CTR_CHREQ_NO_CHANNEL, BTS_CTR_CHAN_RF_FAIL, @@ -36,6 +43,8 @@ BTS_CTR_PAGING_NO_ACTIVE_PAGING, BTS_CTR_PAGING_MSC_FLUSH, BTS_CTR_CHAN_ACT_TOTAL, + BTS_CTR_CHAN_ACT_SDCCH, + BTS_CTR_CHAN_ACT_TCH, BTS_CTR_CHAN_ACT_NACK, BTS_CTR_RSL_UNKNOWN, BTS_CTR_RSL_IPA_NACK, @@ -65,12 +74,23 @@ BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK, BTS_CTR_TS_BORKEN_EV_TEARDOWN, BTS_CTR_ASSIGNMENT_ATTEMPTED, + BTS_CTR_ASSIGNMENT_ATTEMPTED_SDCCH, + BTS_CTR_ASSIGNMENT_ATTEMPTED_TCH, BTS_CTR_ASSIGNMENT_COMPLETED, + BTS_CTR_ASSIGNMENT_COMPLETED_SDCCH, + BTS_CTR_ASSIGNMENT_COMPLETED_TCH, BTS_CTR_ASSIGNMENT_STOPPED, BTS_CTR_ASSIGNMENT_NO_CHANNEL, + BTS_CTR_ASSIGNMENT_NO_CHANNEL_SDCCH, + BTS_CTR_ASSIGNMENT_NO_CHANNEL_TCH, BTS_CTR_ASSIGNMENT_TIMEOUT, BTS_CTR_ASSIGNMENT_FAILED, BTS_CTR_ASSIGNMENT_ERROR, + BTS_CTR_LOCATION_UPDATE_REQUEST, + BTS_CTR_LOCATION_UPDATE_ACCEPT, + BTS_CTR_LOCATION_UPDATE_REJECT, + BTS_CTR_LOCATION_UPDATE_DETACH, + BTS_CTR_LOCATION_UPDATE_UNKNOWN, BTS_CTR_HANDOVER_ATTEMPTED, BTS_CTR_HANDOVER_COMPLETED, BTS_CTR_HANDOVER_STOPPED, diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 2142219..a68c9fb 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -613,6 +613,17 @@ msg->dst = trx->rsl_link; rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_TOTAL]); + switch (lchan->type) { + case GSM_LCHAN_SDCCH: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_SDCCH]); + break; + case GSM_LCHAN_TCH_H: + case GSM_LCHAN_TCH_F: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHAN_ACT_TCH]); + break; + default: + break; + } return abis_rsl_sendmsg(msg); } @@ -1511,6 +1522,29 @@ get_value_string(gsm_chreq_descs, rqd->reason), rqd->ref.ra, bts->network->neci, rqd->reason); rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_TOTAL]); + switch (rqd->reason) { + case GSM_CHREQ_REASON_EMERG: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_EMERG]); + break; + case GSM_CHREQ_REASON_CALL: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_CALL]); + break; + case GSM_CHREQ_REASON_LOCATION_UPD: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_LOCATION_UPD]); + break; + case GSM_CHREQ_REASON_PAG: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_PAG]); + break; + case GSM_CHREQ_REASON_PDCH: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_PDCH]); + break; + case GSM_CHREQ_REASON_OTHER: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_OTHER]); + break; + default: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_CHREQ_ATTEMPTED_UNKNOWN]); + break; + } /* Enqueue request */ llist_add_tail(&rqd->entry, &bts->chan_rqd_queue); diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 7db37b2..21e80b8 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -255,6 +255,17 @@ osmo_fsm_inst_term(conn->assignment.fi, OSMO_FSM_TERM_REGULAR, 0); assignment_count_result(CTR_ASSIGNMENT_COMPLETED); + switch (conn->lchan->type) { + case GSM_LCHAN_SDCCH: + rate_ctr_inc(&conn->lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_COMPLETED_SDCCH]); + break; + case GSM_LCHAN_TCH_H: + case GSM_LCHAN_TCH_F: + rate_ctr_inc(&conn->lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_COMPLETED_TCH]); + break; + default: + break; + } } static void assignment_fsm_update_id(struct gsm_subscriber_connection *conn) @@ -418,6 +429,17 @@ OSMO_ASSERT(!conn->assignment.new_lchan); assignment_count(CTR_ASSIGNMENT_ATTEMPTED); + switch (conn->lchan->type) { + case GSM_LCHAN_SDCCH: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_ATTEMPTED_SDCCH]); + break; + case GSM_LCHAN_TCH_H: + case GSM_LCHAN_TCH_F: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_ATTEMPTED_TCH]); + break; + default: + break; + } fi = osmo_fsm_inst_alloc_child(&assignment_fsm, conn->fi, GSCON_EV_ASSIGNMENT_END); OSMO_ASSERT(fi); @@ -452,6 +474,17 @@ * the fi will be gone from error handling in there. */ if (conn->assignment.fi) { assignment_count_result(CTR_ASSIGNMENT_COMPLETED); + switch (conn->lchan->type) { + case GSM_LCHAN_SDCCH: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_COMPLETED_SDCCH]); + break; + case GSM_LCHAN_TCH_H: + case GSM_LCHAN_TCH_F: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_COMPLETED_TCH]); + break; + default: + break; + } osmo_fsm_inst_term(conn->assignment.fi, OSMO_FSM_TERM_REGULAR, 0); } return; @@ -506,6 +539,18 @@ * down the assignment in case of failure. */ if (!conn->assignment.new_lchan) { assignment_count_result(CTR_ASSIGNMENT_NO_CHANNEL); + switch (req->ch_mode_rate[0].chan_mode) { + case GSM48_CMODE_SIGN: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_NO_CHANNEL_SDCCH]); + break; + case GSM48_CMODE_SPEECH_V1: + case GSM48_CMODE_SPEECH_EFR: + case GSM48_CMODE_SPEECH_AMR: + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_NO_CHANNEL_TCH]); + break; + default: + break; + } assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, "BSSMAP Assignment Command:" " No lchan available for: pref=%s:%s / alt1=%s:%s / alt2=%s:%s\n", diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 39122ae..9d42d50 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -757,6 +757,27 @@ [BTS_CTR_CHREQ_TOTAL] = \ { "chreq:total", "Received channel requests" }, + [BTS_CTR_CHREQ_ATTEMPTED_EMERG] = \ + { "chreq:attempted_emerg", + "Received channel requests EMERG" }, + [BTS_CTR_CHREQ_ATTEMPTED_CALL] = \ + { "chreq:attempted_call", + "Received channel requests CALL" }, + [BTS_CTR_CHREQ_ATTEMPTED_LOCATION_UPD] = \ + { "chreq:attempted_location_upd", + "Received channel requests LOCATION_UPD" }, + [BTS_CTR_CHREQ_ATTEMPTED_PAG] = \ + { "chreq:attempted_pag", + "Received channel requests PAG" }, + [BTS_CTR_CHREQ_ATTEMPTED_PDCH] = \ + { "chreq:attempted_pdch", + "Received channel requests PDCH" }, + [BTS_CTR_CHREQ_ATTEMPTED_OTHER] = \ + { "chreq:attempted_other", + "Received channel requests OTHER" }, + [BTS_CTR_CHREQ_ATTEMPTED_UNKNOWN] = \ + { "chreq:attempted_unknown", + "Received channel requests UNKNOWN" }, [BTS_CTR_CHREQ_SUCCESSFUL] = \ { "chreq:successful", "Successful channel requests (immediate assign sent)" }, @@ -811,6 +832,12 @@ [BTS_CTR_CHAN_ACT_TOTAL] = \ { "chan_act:total", "Total number of Channel Activations" }, + [BTS_CTR_CHAN_ACT_SDCCH] = \ + { "chan_act:sdcch", + "Number of SDCCH Channel Activations" }, + [BTS_CTR_CHAN_ACT_TCH] = \ + { "chan_act:tch", + "Number of TCH Channel Activations" }, [BTS_CTR_CHAN_ACT_NACK] = \ { "chan_act:nack", "Number of Channel Activations that the BTS NACKed" }, @@ -900,15 +927,33 @@ [BTS_CTR_ASSIGNMENT_ATTEMPTED] = \ { "assignment:attempted", "Assignment attempts" }, + [BTS_CTR_ASSIGNMENT_ATTEMPTED_SDCCH] = \ + { "assignment:attempted_sdcch", + "Assignment attempts SDCCH" }, + [BTS_CTR_ASSIGNMENT_ATTEMPTED_TCH] = \ + { "assignment:attempted_tch", + "Assignment attempts TCH" }, [BTS_CTR_ASSIGNMENT_COMPLETED] = \ { "assignment:completed", "Assignment completed" }, + [BTS_CTR_ASSIGNMENT_COMPLETED_SDCCH] = \ + { "assignment:completed_sdcch", + "Assignment completed SDCCH" }, + [BTS_CTR_ASSIGNMENT_COMPLETED_TCH] = \ + { "assignment:completed_tch", + "Assignment completed TCH" }, [BTS_CTR_ASSIGNMENT_STOPPED] = \ { "assignment:stopped", "Connection ended during Assignment" }, [BTS_CTR_ASSIGNMENT_NO_CHANNEL] = \ { "assignment:no_channel", "Failure to allocate lchan for Assignment" }, + [BTS_CTR_ASSIGNMENT_NO_CHANNEL_SDCCH] = \ + { "assignment:no_channel_sdcch", + "Failure to allocate SDCCH lchan for Assignment" }, + [BTS_CTR_ASSIGNMENT_NO_CHANNEL_TCH] = \ + { "assignment:no_channel_tch", + "Failure to allocate TCH lchan for Assignment" }, [BTS_CTR_ASSIGNMENT_TIMEOUT] = \ { "assignment:timeout", "Assignment timed out" }, @@ -918,7 +963,21 @@ [BTS_CTR_ASSIGNMENT_ERROR] = \ { "assignment:error", "Assignment failed for other reason" }, - + [BTS_CTR_LOCATION_UPDATE_REQUEST] = \ + { "location_update:request", + "Location Update Request" }, + [BTS_CTR_LOCATION_UPDATE_ACCEPT] = \ + { "location_update:accept", + "Location Update Accept" }, + [BTS_CTR_LOCATION_UPDATE_REJECT] = \ + { "location_update:reject", + "Location Update Reject" }, + [BTS_CTR_LOCATION_UPDATE_DETACH] = \ + { "location_update:detach", + "Location Update Detach" }, + [BTS_CTR_LOCATION_UPDATE_UNKNOWN] = \ + { "location_update:unknown", + "Location Update UNKNOWN" }, [BTS_CTR_HANDOVER_ATTEMPTED] = \ { "handover:attempted", "Intra-BSC handover attempts" }, diff --git a/src/osmo-bsc/osmo_bsc_filter.c b/src/osmo-bsc/osmo_bsc_filter.c index 497b3e4..4113ac4 100644 --- a/src/osmo-bsc/osmo_bsc_filter.c +++ b/src/osmo-bsc/osmo_bsc_filter.c @@ -118,6 +118,23 @@ if (mtype == GSM48_MT_MM_INFO) { bsc_patch_mm_info(conn, &gh->data[0], length); } + switch (mtype) { + case GSM48_MT_MM_LOC_UPD_REQUEST: + rate_ctr_inc(&conn->lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LOCATION_UPDATE_REQUEST]); + break; + case GSM48_MT_MM_LOC_UPD_ACCEPT: + rate_ctr_inc(&conn->lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LOCATION_UPDATE_ACCEPT]); + break; + case GSM48_MT_MM_LOC_UPD_REJECT: + rate_ctr_inc(&conn->lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LOCATION_UPDATE_REJECT]); + break; + case GSM48_MT_MM_IMSI_DETACH_IND: + rate_ctr_inc(&conn->lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LOCATION_UPDATE_DETACH]); + break; + default: + rate_ctr_inc(&conn->lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LOCATION_UPDATE_UNKNOWN]); + break; + } return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/22103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4df275e4770c5ff3643c79ba828e736986f8bb47 Gerrit-Change-Number: 22103 Gerrit-PatchSet: 1 Gerrit-Owner: iedemam <michael at kapsulate.com> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210111/56a41b91/attachment.htm>