Change in osmo-bsc[master]: stats: add SIGN/SPEECH assignment subcategories

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.org
Wed Feb 17 12:05:06 UTC 2021


iedemam 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>


More information about the gerrit-log mailing list