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>