diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-08-25 15:19:31 +0200 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-08-28 12:23:07 +0200 |
commit | be4a08b58ae17b44d2c02421d8346a1ccb63a6b9 (patch) | |
tree | 21ebd79a4952ee37343934258e4bcb633fb1d45f | |
parent | 60f77033ad15da909cdbc0682c781151a23c170c (diff) |
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
-rw-r--r-- | src/bts.cpp | 5 | ||||
-rw-r--r-- | src/bts.h | 3 |
2 files changed, 7 insertions, 1 deletions
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 || @@ -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) |