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/+/22947 ) Change subject: stats: add SIGN/SPEECH assignment subcategories ...................................................................... stats: add SIGN/SPEECH assignment subcategories Change-Id: I73f4dab6edb0951180f2bbcfc352ff34de647679 --- M include/osmocom/bsc/bts.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bts.c 3 files changed, 142 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/47/22947/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 9a226f5..6b58c7e 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -76,14 +76,26 @@ BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK, BTS_CTR_TS_BORKEN_EV_TEARDOWN, BTS_CTR_ASSIGNMENT_ATTEMPTED, + BTS_CTR_ASSIGNMENT_ATTEMPTED_SIGN, + BTS_CTR_ASSIGNMENT_ATTEMPTED_SPEECH, BTS_CTR_ASSIGNMENT_COMPLETED, + BTS_CTR_ASSIGNMENT_COMPLETED_SIGN, + BTS_CTR_ASSIGNMENT_COMPLETED_SPEECH, BTS_CTR_ASSIGNMENT_STOPPED, + BTS_CTR_ASSIGNMENT_STOPPED_SIGN, + BTS_CTR_ASSIGNMENT_STOPPED_SPEECH, BTS_CTR_ASSIGNMENT_NO_CHANNEL, BTS_CTR_ASSIGNMENT_NO_CHANNEL_SIGN, BTS_CTR_ASSIGNMENT_NO_CHANNEL_SPEECH, BTS_CTR_ASSIGNMENT_TIMEOUT, + BTS_CTR_ASSIGNMENT_TIMEOUT_SIGN, + BTS_CTR_ASSIGNMENT_TIMEOUT_SPEECH, BTS_CTR_ASSIGNMENT_FAILED, + BTS_CTR_ASSIGNMENT_FAILED_SIGN, + BTS_CTR_ASSIGNMENT_FAILED_SPEECH, BTS_CTR_ASSIGNMENT_ERROR, + BTS_CTR_ASSIGNMENT_ERROR_SIGN, + BTS_CTR_ASSIGNMENT_ERROR_SPEECH, BTS_CTR_LOCATION_UPDATE_ACCEPT, BTS_CTR_LOCATION_UPDATE_REJECT, BTS_CTR_LOCATION_UPDATE_DETACH, diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 39219a4..df05a8a 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -72,6 +72,19 @@ LOG_ASSIGNMENT(_conn, LOGL_ERROR, "Assignment failed in state %s, cause %s: " fmt "\n", \ osmo_fsm_inst_state_name(fi), gsm0808_cause_name(cause), ## args); \ assignment_count_result(CTR_ASSIGNMENT_ERROR); \ + struct rate_ctr_group *_bts_ctrs = _conn->lchan->ts->trx->bts->bts_ctrs; \ + switch (_conn->lchan->ch_mode_rate.chan_mode) { \ + case GSM48_CMODE_SIGN: \ + rate_ctr_inc(&_bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_ATTEMPTED_SIGN]); \ + break; \ + case GSM48_CMODE_SPEECH_V1: \ + case GSM48_CMODE_SPEECH_EFR: \ + case GSM48_CMODE_SPEECH_AMR: \ + rate_ctr_inc(&_bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_ATTEMPTED_SPEECH]); \ + break; \ + default: \ + break; \ + } \ on_assignment_failure(_conn); \ } while(0) @@ -265,6 +278,20 @@ osmo_fsm_inst_term(conn->assignment.fi, OSMO_FSM_TERM_REGULAR, 0); assignment_count_result(CTR_ASSIGNMENT_COMPLETED); + + struct rate_ctr_group *bts_ctrs = conn->lchan->ts->trx->bts->bts_ctrs; + switch (conn->lchan->ch_mode_rate.chan_mode) { + case GSM48_CMODE_SIGN: + rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_COMPLETED_SIGN]); + break; + case GSM48_CMODE_SPEECH_V1: + case GSM48_CMODE_SPEECH_EFR: + case GSM48_CMODE_SPEECH_AMR: + rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_COMPLETED_SPEECH]); + break; + default: + break; + } } static void assignment_fsm_update_id(struct gsm_subscriber_connection *conn) @@ -429,6 +456,20 @@ assignment_count(CTR_ASSIGNMENT_ATTEMPTED); + struct rate_ctr_group *bts_ctrs = conn->lchan->ts->trx->bts->bts_ctrs; + switch (conn->lchan->ch_mode_rate.chan_mode) { + case GSM48_CMODE_SIGN: + rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_ATTEMPTED_SIGN]); + break; + case GSM48_CMODE_SPEECH_V1: + case GSM48_CMODE_SPEECH_EFR: + case GSM48_CMODE_SPEECH_AMR: + rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_ATTEMPTED_SPEECH]); + break; + default: + break; + } + fi = osmo_fsm_inst_alloc_child(&assignment_fsm, conn->fi, GSCON_EV_ASSIGNMENT_END); OSMO_ASSERT(fi); conn->assignment.fi = fi; @@ -465,6 +506,18 @@ * the fi will be gone from error handling in there. */ if (conn->assignment.fi) { assignment_count_result(CTR_ASSIGNMENT_COMPLETED); + switch (conn->lchan->ch_mode_rate.chan_mode) { + case GSM48_CMODE_SIGN: + rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_COMPLETED_SIGN]); + break; + case GSM48_CMODE_SPEECH_V1: + case GSM48_CMODE_SPEECH_EFR: + case GSM48_CMODE_SPEECH_AMR: + rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_COMPLETED_SPEECH]); + break; + default: + break; + } osmo_fsm_inst_term(conn->assignment.fi, OSMO_FSM_TERM_REGULAR, 0); } return; @@ -626,6 +679,19 @@ case ASSIGNMENT_EV_RR_ASSIGNMENT_FAIL: assignment_count_result(CTR_ASSIGNMENT_FAILED); + struct rate_ctr_group *bts_ctrs = conn->lchan->ts->trx->bts->bts_ctrs; + switch (conn->lchan->ch_mode_rate.chan_mode) { + case GSM48_CMODE_SIGN: + rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_FAILED_SIGN]); + break; + case GSM48_CMODE_SPEECH_V1: + case GSM48_CMODE_SPEECH_EFR: + case GSM48_CMODE_SPEECH_AMR: + rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_FAILED_SPEECH]); + break; + default: + break; + } assignment_fail(get_cause(data), "Rx RR Assignment Failure"); return; @@ -795,6 +861,19 @@ case ASSIGNMENT_EV_CONN_RELEASING: assignment_count_result(CTR_ASSIGNMENT_STOPPED); + struct rate_ctr_group *bts_ctrs = conn->lchan->ts->trx->bts->bts_ctrs; + switch (conn->lchan->ch_mode_rate.chan_mode) { + case GSM48_CMODE_SIGN: + rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_STOPPED_SIGN]); + break; + case GSM48_CMODE_SPEECH_V1: + case GSM48_CMODE_SPEECH_EFR: + case GSM48_CMODE_SPEECH_AMR: + rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_STOPPED_SPEECH]); + break; + default: + break; + } osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REQUEST, 0); return; @@ -814,7 +893,22 @@ int assignment_fsm_timer_cb(struct osmo_fsm_inst *fi) { struct gsm_subscriber_connection *conn = assignment_fi_conn(fi); + assignment_count_result(CTR_ASSIGNMENT_TIMEOUT); + + struct rate_ctr_group *bts_ctrs = conn->lchan->ts->trx->bts->bts_ctrs; + switch (conn->lchan->ch_mode_rate.chan_mode) { + case GSM48_CMODE_SIGN: + rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_TIMEOUT_SIGN]); + break; + case GSM48_CMODE_SPEECH_V1: + case GSM48_CMODE_SPEECH_EFR: + case GSM48_CMODE_SPEECH_AMR: + rate_ctr_inc(&bts_ctrs->ctr[BTS_CTR_ASSIGNMENT_TIMEOUT_SPEECH]); + break; + default: + break; + } assignment_fail(GSM0808_CAUSE_EQUIPMENT_FAILURE, "Timeout"); return 0; } diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 628d301..548d724 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -938,12 +938,30 @@ [BTS_CTR_ASSIGNMENT_ATTEMPTED] = \ { "assignment:attempted", "Assignment attempts" }, + [BTS_CTR_ASSIGNMENT_ATTEMPTED_SIGN] = \ + { "assignment:attempted_sign", + "Assignment of signaling lchan attempts" }, + [BTS_CTR_ASSIGNMENT_ATTEMPTED_SPEECH] = \ + { "assignment:attempted_speech", + "Assignment of speech lchan attempts" }, [BTS_CTR_ASSIGNMENT_COMPLETED] = \ { "assignment:completed", "Assignment completed" }, + [BTS_CTR_ASSIGNMENT_COMPLETED_SIGN] = \ + { "assignment:completed_sign", + "Assignment of signaling lchan completed" }, + [BTS_CTR_ASSIGNMENT_COMPLETED_SPEECH] = \ + { "assignment:completed_speech", + "Assignment if speech lchan completed" }, [BTS_CTR_ASSIGNMENT_STOPPED] = \ { "assignment:stopped", "Connection ended during Assignment" }, + [BTS_CTR_ASSIGNMENT_STOPPED_SIGN] = \ + { "assignment:stopped_sign", + "Connection ended during signaling lchan Assignment" }, + [BTS_CTR_ASSIGNMENT_STOPPED_SPEECH] = \ + { "assignment:stopped_speech", + "Connection ended during speech lchan Assignment" }, [BTS_CTR_ASSIGNMENT_NO_CHANNEL] = \ { "assignment:no_channel", "Failure to allocate lchan for Assignment" }, @@ -956,12 +974,30 @@ [BTS_CTR_ASSIGNMENT_TIMEOUT] = \ { "assignment:timeout", "Assignment timed out" }, + [BTS_CTR_ASSIGNMENT_TIMEOUT_SIGN] = \ + { "assignment:timeout_sign", + "Assignment of signaling lchan timed out" }, + [BTS_CTR_ASSIGNMENT_TIMEOUT_SPEECH] = \ + { "assignment:timeout_speech", + "Assignment of speech lchan timed out" }, [BTS_CTR_ASSIGNMENT_FAILED] = \ { "assignment:failed", "Received Assignment Failure message" }, + [BTS_CTR_ASSIGNMENT_FAILED_SIGN] = \ + { "assignment:failed_sign", + "Received Assignment Failure message on signaling lchan" }, + [BTS_CTR_ASSIGNMENT_FAILED_SPEECH] = \ + { "assignment:failed_speech", + "Received Assignment Failure message on speech lchan" }, [BTS_CTR_ASSIGNMENT_ERROR] = \ { "assignment:error", "Assignment failed for other reason" }, + [BTS_CTR_ASSIGNMENT_ERROR_SIGN] = \ + { "assignment:error_sign", + "Assignment of signaling lchan failed for other reason" }, + [BTS_CTR_ASSIGNMENT_ERROR_SPEECH] = \ + { "assignment:error_speech", + "Assignment of speech lchan failed for other reason" }, [BTS_CTR_LOCATION_UPDATE_ACCEPT] = \ { "location_update:accept", "Location Update Accept" }, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/22947 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I73f4dab6edb0951180f2bbcfc352ff34de647679 Gerrit-Change-Number: 22947 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/20210217/c08d192a/attachment.htm>