aboutsummaryrefslogtreecommitdiffstats
path: root/src/bts.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/bts.h')
-rw-r--r--src/bts.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/bts.h b/src/bts.h
index bfbe014..2f63961 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -229,6 +229,7 @@ public:
CTR_RLC_RESENT,
CTR_RLC_RESTARTED,
CTR_RLC_STALLED,
+ CTR_RLC_UL_STALLED,
CTR_RLC_NACKED,
CTR_RLC_ASS_TIMEDOUT,
CTR_RLC_ASS_FAILED,
@@ -238,13 +239,20 @@ public:
CTR_RLC_LATE_BLOCK,
CTR_RLC_SENT_DUMMY,
CTR_RLC_SENT_CONTROL,
+ CTR_RLC_DL_BYTES,
+ CTR_RLC_DL_PAYLOAD_BYTES,
+ CTR_RLC_UL_BYTES,
+ CTR_RLC_UL_PAYLOAD_BYTES,
CTR_DECODE_ERRORS,
+ CTR_LLC_DECODE_ERRORS,
CTR_SBA_ALLOCATED,
CTR_SBA_FREED,
CTR_SBA_TIMEDOUT,
CTR_LLC_FRAME_TIMEDOUT,
CTR_LLC_FRAME_DROPPED,
CTR_LLC_FRAME_SCHED,
+ CTR_LLC_DL_BYTES,
+ CTR_LLC_UL_BYTES,
CTR_RACH_REQUESTS,
};
@@ -307,6 +315,7 @@ public:
void rlc_resent();
void rlc_restarted();
void rlc_stalled();
+ void rlc_ul_stalled();
void rlc_nacked();
void rlc_ass_timedout();
void rlc_ass_failed();
@@ -316,13 +325,20 @@ public:
void rlc_late_block();
void rlc_sent_dummy();
void rlc_sent_control();
+ void rlc_dl_bytes(int bytes);
+ void rlc_dl_payload_bytes(int bytes);
+ void rlc_ul_bytes(int bytes);
+ void rlc_ul_payload_bytes(int bytes);
void decode_error();
+ void llc_decode_err();
void sba_allocated();
void sba_freed();
void sba_timedout();
void llc_timedout_frame();
void llc_dropped_frame();
void llc_frame_sched();
+ void llc_dl_bytes(int bytes);
+ void llc_ul_bytes(int bytes);
void rach_frame();
void ms_present(int32_t n);
@@ -430,6 +446,11 @@ inline struct osmo_stat_item_group *BTS::stat_items() const
return m_statg;
}
+#define CREATE_COUNT_ADD_INLINE(func_name, ctr_name) \
+ inline void BTS::func_name(int inc) {\
+ rate_ctr_add(&m_ratectrs->ctr[ctr_name], inc); \
+ }
+
#define CREATE_COUNT_INLINE(func_name, ctr_name) \
inline void BTS::func_name() {\
rate_ctr_inc(&m_ratectrs->ctr[ctr_name]); \
@@ -449,6 +470,7 @@ CREATE_COUNT_INLINE(rlc_sent, CTR_RLC_SENT)
CREATE_COUNT_INLINE(rlc_resent, CTR_RLC_RESENT)
CREATE_COUNT_INLINE(rlc_restarted, CTR_RLC_RESTARTED)
CREATE_COUNT_INLINE(rlc_stalled, CTR_RLC_STALLED)
+CREATE_COUNT_INLINE(rlc_ul_stalled, CTR_RLC_UL_STALLED)
CREATE_COUNT_INLINE(rlc_nacked, CTR_RLC_NACKED)
CREATE_COUNT_INLINE(rlc_ass_timedout, CTR_RLC_ASS_TIMEDOUT);
CREATE_COUNT_INLINE(rlc_ass_failed, CTR_RLC_ASS_FAILED);
@@ -458,13 +480,20 @@ CREATE_COUNT_INLINE(rlc_rel_timedout, CTR_RLC_REL_TIMEDOUT);
CREATE_COUNT_INLINE(rlc_late_block, CTR_RLC_LATE_BLOCK);
CREATE_COUNT_INLINE(rlc_sent_dummy, CTR_RLC_SENT_DUMMY);
CREATE_COUNT_INLINE(rlc_sent_control, CTR_RLC_SENT_CONTROL);
+CREATE_COUNT_ADD_INLINE(rlc_dl_bytes, CTR_RLC_DL_BYTES);
+CREATE_COUNT_ADD_INLINE(rlc_dl_payload_bytes, CTR_RLC_DL_PAYLOAD_BYTES);
+CREATE_COUNT_ADD_INLINE(rlc_ul_bytes, CTR_RLC_UL_BYTES);
+CREATE_COUNT_ADD_INLINE(rlc_ul_payload_bytes, CTR_RLC_UL_PAYLOAD_BYTES);
CREATE_COUNT_INLINE(decode_error, CTR_DECODE_ERRORS)
+CREATE_COUNT_INLINE(llc_decode_err, CTR_DECODE_ERRORS)
CREATE_COUNT_INLINE(sba_allocated, CTR_SBA_ALLOCATED)
CREATE_COUNT_INLINE(sba_freed, CTR_SBA_FREED)
CREATE_COUNT_INLINE(sba_timedout, CTR_SBA_TIMEDOUT)
CREATE_COUNT_INLINE(llc_timedout_frame, CTR_LLC_FRAME_TIMEDOUT);
CREATE_COUNT_INLINE(llc_dropped_frame, CTR_LLC_FRAME_DROPPED);
CREATE_COUNT_INLINE(llc_frame_sched, CTR_LLC_FRAME_SCHED);
+CREATE_COUNT_ADD_INLINE(llc_dl_bytes, CTR_LLC_DL_BYTES);
+CREATE_COUNT_ADD_INLINE(llc_ul_bytes, CTR_LLC_UL_BYTES);
CREATE_COUNT_INLINE(rach_frame, CTR_RACH_REQUESTS);
#undef CREATE_COUNT_INLINE