From be4a08b58ae17b44d2c02421d8346a1ccb63a6b9 Mon Sep 17 00:00:00 2001 From: Jacob Erlbeck Date: Tue, 25 Aug 2015 15:19:31 +0200 Subject: poll: Count unexpected block FN values Currently a log entry is written if FN_data_ind - FN_time_ind <= -13. This commit adds a counter 'rlc.late-block' that is incremented in these cases. Sponsored-by: On-Waves ehf --- src/bts.cpp | 5 ++++- src/bts.h | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/bts.cpp b/src/bts.cpp index 0786e73c..456990a0 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -64,6 +64,7 @@ static const struct rate_ctr_desc bts_ctr_description[] = { { "rlc.ass.timedout", "RLC Assign Timeout "}, { "rlc.ack.timedout", "RLC Ack Timeout "}, { "rlc.rel.timedout", "RLC Release Timeout "}, + { "rlc.late-block", "RLC Late Block "}, { "decode.errors", "Decode Errors "}, { "sba.allocated", "SBA Allocated "}, { "sba.freed", "SBA Freed "}, @@ -171,10 +172,12 @@ void BTS::set_current_block_frame_number(int fn) if (current_frame_number() != 0) delay = (fn + 2715648 * 3 / 2 - current_frame_number()) % 2715648 - 2715648/2; - if (delay <= -late_block_delay_thresh) + if (delay <= -late_block_delay_thresh) { LOGP(DRLCMAC, LOGL_NOTICE, "Late RLC block, FN delta: %d FN: %d curFN: %d\n", delay, fn, current_frame_number()); + rlc_late_block(); + } m_cur_blk_fn = fn; if (delay < fn_update_ok_min_delay || delay > fn_update_ok_max_delay || diff --git a/src/bts.h b/src/bts.h index 3dfe3f37..ac851816 100644 --- a/src/bts.h +++ b/src/bts.h @@ -220,6 +220,7 @@ public: CTR_RLC_ASS_TIMEDOUT, CTR_RLC_ACK_TIMEDOUT, CTR_RLC_REL_TIMEDOUT, + CTR_RLC_LATE_BLOCK, CTR_DECODE_ERRORS, CTR_SBA_ALLOCATED, CTR_SBA_FREED, @@ -286,6 +287,7 @@ public: void rlc_ass_timedout(); void rlc_ack_timedout(); void rlc_rel_timedout(); + void rlc_late_block(); void decode_error(); void sba_allocated(); void sba_freed(); @@ -393,6 +395,7 @@ CREATE_COUNT_INLINE(rlc_nacked, CTR_RLC_NACKED) CREATE_COUNT_INLINE(rlc_ass_timedout, CTR_RLC_ASS_TIMEDOUT); CREATE_COUNT_INLINE(rlc_ack_timedout, CTR_RLC_ACK_TIMEDOUT); CREATE_COUNT_INLINE(rlc_rel_timedout, CTR_RLC_REL_TIMEDOUT); +CREATE_COUNT_INLINE(rlc_late_block, CTR_RLC_LATE_BLOCK); CREATE_COUNT_INLINE(decode_error, CTR_DECODE_ERRORS) CREATE_COUNT_INLINE(sba_allocated, CTR_SBA_ALLOCATED) CREATE_COUNT_INLINE(sba_freed, CTR_SBA_FREED) -- cgit v1.2.3