From ba5683194a291c1b8de0f2369e3908421a70b6d0 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Tue, 2 Nov 2021 18:47:44 +0100 Subject: [PATCH] Add counter for successful contention resolution procedures This counter is related to succPDTCHSeizures, (3GPP TS 52.402 B.2.1.51 Successful PDTCH seizures). The relevant event when the first RLC block on the PDCH from the MS is received is the fact that contention resolution is considered as done in the network side. Hence, name the counter that way to ease interpretation. Related: SYS#4878 Change-Id: I3d67e3e68907921b43f2ca4398ad9578c0b2618c --- src/bts.cpp | 1 + src/bts.h | 1 + src/pdch.cpp | 2 ++ src/tbf_ul.cpp | 2 ++ 4 files changed, 6 insertions(+) diff --git a/src/bts.cpp b/src/bts.cpp index d0533965..2dc8ffb5 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -147,6 +147,7 @@ static const struct rate_ctr_desc bts_ctr_description[] = { { "immediate:assignment_UL", "Immediate Assign UL "}, { "immediate:assignment_ul:one_phase", "Immediate Assign UL (one phase packet access)"}, /* TS 52.402 B.2.1.50 */ { "immediate:assignment_ul:two_phase", "Immediate Assign UL (two phase packet access)"}, /* TS 52.402 B.2.1.50 */ + { "immediate:assignment_ul:contention_resolution_success", "First RLC Block (PDU) on the PDTCH from the MS received"}, /* TS 52.402 B.2.1.51 */ { "immediate:assignment_rej", "Immediate Assign Rej "}, { "immediate:assignment_DL", "Immediate Assign DL "}, { "channel:request_description","Channel Request Desc "}, diff --git a/src/bts.h b/src/bts.h index d0119b6c..3f482c9a 100644 --- a/src/bts.h +++ b/src/bts.h @@ -139,6 +139,7 @@ enum { CTR_IMMEDIATE_ASSIGN_UL_TBF, CTR_IMMEDIATE_ASSIGN_UL_TBF_ONE_PHASE, CTR_IMMEDIATE_ASSIGN_UL_TBF_TWO_PHASE, + CTR_IMMEDIATE_ASSIGN_UL_TBF_CONTENTION_RESOLUTION_SUCCESS, CTR_IMMEDIATE_ASSIGN_REJ, CTR_IMMEDIATE_ASSIGN_DL_TBF, CTR_CHANNEL_REQUEST_DESCRIPTION, diff --git a/src/pdch.cpp b/src/pdch.cpp index a69ce606..fdac100e 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -650,6 +650,8 @@ void gprs_rlcmac_pdch::rcv_resource_request(Packet_Resource_Request_t *request, "MS requests UL TBF throguh SBA\n", fn); ms_set_ta(ms, sba->ta); sba_free(sba); + /* MS seized the PDCH answering on the SBA: */ + bts_do_rate_ctr_inc(bts, CTR_IMMEDIATE_ASSIGN_UL_TBF_CONTENTION_RESOLUTION_SUCCESS); break; case PDCH_ULC_NODE_TBF_POLL: if (item->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) { diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 9390fbbe..1d06e531 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -332,6 +332,8 @@ void gprs_rlcmac_ul_tbf::contention_resolution_success() /* now we must set this flag, so we are allowed to assign downlink * TBF on PACCH. it is only allowed when TLLI is acknowledged. */ m_contention_resolution_done = 1; + + bts_do_rate_ctr_inc(bts, CTR_IMMEDIATE_ASSIGN_UL_TBF_CONTENTION_RESOLUTION_SUCCESS); } /*! \brief receive data from PDCH/L1 */