Change in osmo-bsc[master]: stats: Add granularity to SDCCH/TCH/LU activity.

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/.

pespin gerrit-no-reply at lists.osmocom.org
Mon Jan 18 10:59:02 UTC 2021


pespin has submitted this change. ( 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, 123 insertions(+), 1 deletion(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h
index c79e7f7..8f3e05b 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,
@@ -68,9 +77,15 @@
 	BTS_CTR_ASSIGNMENT_COMPLETED,
 	BTS_CTR_ASSIGNMENT_STOPPED,
 	BTS_CTR_ASSIGNMENT_NO_CHANNEL,
+	BTS_CTR_ASSIGNMENT_NO_CHANNEL_SIGN,
+	BTS_CTR_ASSIGNMENT_NO_CHANNEL_SPEECH,
 	BTS_CTR_ASSIGNMENT_TIMEOUT,
 	BTS_CTR_ASSIGNMENT_FAILED,
 	BTS_CTR_ASSIGNMENT_ERROR,
+	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..6dba214 100644
--- a/src/osmo-bsc/assignment_fsm.c
+++ b/src/osmo-bsc/assignment_fsm.c
@@ -506,6 +506,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_SIGN]);
+			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_SPEECH]);
+			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 0774721..3fa4f24 100644
--- a/src/osmo-bsc/bts.c
+++ b/src/osmo-bsc/bts.c
@@ -761,6 +761,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)" },
@@ -815,6 +836,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" },
@@ -913,6 +940,12 @@
 	[BTS_CTR_ASSIGNMENT_NO_CHANNEL] = \
 		{ "assignment:no_channel",
 		  "Failure to allocate lchan for Assignment" },
+	[BTS_CTR_ASSIGNMENT_NO_CHANNEL_SIGN] = \
+		{ "assignment:no_channel_sign",
+		  "Failure to allocate signaling lchan for Assignment" },
+	[BTS_CTR_ASSIGNMENT_NO_CHANNEL_SPEECH] = \
+		{ "assignment:no_channel_speech",
+		  "Failure to allocate speech lchan for Assignment" },
 	[BTS_CTR_ASSIGNMENT_TIMEOUT] = \
 		{ "assignment:timeout",
 		  "Assignment timed out" },
@@ -922,7 +955,18 @@
 	[BTS_CTR_ASSIGNMENT_ERROR] = \
 		{ "assignment:error",
 		  "Assignment failed for other reason" },
-
+	[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..0187a75 100644
--- a/src/osmo-bsc/osmo_bsc_filter.c
+++ b/src/osmo-bsc/osmo_bsc_filter.c
@@ -119,5 +119,22 @@
 		bsc_patch_mm_info(conn, &gh->data[0], length);
 	}
 
+	if (conn && conn->lchan) {
+		switch (mtype) {
+		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: 7
Gerrit-Owner: iedemam <michael at kapsulate.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210118/ea2c1447/attachment.htm>


More information about the gerrit-log mailing list