aboutsummaryrefslogtreecommitdiffstats
path: root/src/tbf_dl.cpp
diff options
context:
space:
mode:
authorsivasankari <Sivasankari.Theerthagiri@radisys.com>2016-12-08 17:15:17 +0530
committerHarald Welte <laforge@gnumonks.org>2016-12-09 12:05:43 +0000
commit5395073fff9870e82358721126062d501ea4ad31 (patch)
tree94d7f2feabef3140eb9179b1b3b8c7d2fd06692e /src/tbf_dl.cpp
parentcc4214a4290a1d764d511b90beb48d55332b2bd1 (diff)
Add statistics in the ms and tbf level.
Adds DL throughput in show ms imsi <imsi_value>. Adds the number of coding schemes counter and rlc nacked counter at TBf level. Change-Id: Ia95b0404989b00db0e7ba416bc40d09ef41fde1c
Diffstat (limited to 'src/tbf_dl.cpp')
-rw-r--r--src/tbf_dl.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index c6f3945a..2af2ff0e 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -949,6 +949,7 @@ int gprs_rlcmac_dl_tbf::update_window(unsigned first_bsn,
ms()->update_error_rate(this, error_rate);
m_window.update(bts, rbb, first_bsn, &lost, &received);
+ rate_ctr_add(&m_ctrs->ctr[TBF_CTR_RLC_NACKED], lost);
/* report lost and received packets */
gprs_rlcmac_received_lost(this, received, lost);
@@ -1007,6 +1008,7 @@ int gprs_rlcmac_dl_tbf::update_window(const uint8_t ssn, const uint8_t *rbb)
m_window.update(bts, show_rbb, ssn,
&lost, &received);
+ rate_ctr_add(&m_ctrs->ctr[TBF_CTR_RLC_NACKED], lost);
/* report lost and received packets */
gprs_rlcmac_received_lost(this, received, lost);
@@ -1342,45 +1344,58 @@ void gprs_rlcmac_dl_tbf::update_coding_scheme_counter_dl(const GprsCodingScheme
switch (coding_scheme) {
case GprsCodingScheme::CS1 :
bts->gprs_dl_cs1();
+ rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS1]);
break;
case GprsCodingScheme::CS2 :
bts->gprs_dl_cs2();
+ rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS2]);
break;
case GprsCodingScheme::CS3 :
bts->gprs_dl_cs3();
+ rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS3]);
break;
case GprsCodingScheme::CS4 :
bts->gprs_dl_cs4();
+ rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS4]);
break;
}
} else {
switch (coding_scheme) {
case GprsCodingScheme::MCS1 :
bts->egprs_dl_mcs1();
+ rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS1]);
break;
case GprsCodingScheme::MCS2 :
bts->egprs_dl_mcs2();
+ rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS2]);
break;
case GprsCodingScheme::MCS3 :
bts->egprs_dl_mcs3();
+ rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS3]);
break;
case GprsCodingScheme::MCS4 :
bts->egprs_dl_mcs4();
+ rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS4]);
break;
case GprsCodingScheme::MCS5 :
bts->egprs_dl_mcs5();
+ rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS5]);
break;
case GprsCodingScheme::MCS6 :
bts->egprs_dl_mcs6();
+ rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS6]);
break;
case GprsCodingScheme::MCS7 :
bts->egprs_dl_mcs7();
+ rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS7]);
break;
case GprsCodingScheme::MCS8 :
bts->egprs_dl_mcs8();
+ rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS8]);
break;
case GprsCodingScheme::MCS9 :
bts->egprs_dl_mcs9();
+ rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS9]);
break;
}
}