aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2020-05-12 22:45:04 +0200
committerpespin <pespin@sysmocom.de>2020-05-14 11:19:05 +0000
commit97e88fd35f22da6c889e1afaa40dc3f8025f4253 (patch)
treeab68649fd77db93b9d45f0870e3a5f357e41b2ab
parenta107f8f4966ecfe80aa2555c56c8790374fd59e9 (diff)
bts: Drop specific functions to add values to stats
-rw-r--r--src/bts.h32
-rw-r--r--src/gprs_ms_storage.cpp4
2 files changed, 11 insertions, 25 deletions
diff --git a/src/bts.h b/src/bts.h
index 5090f58f..15dd4822 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -263,6 +263,10 @@ enum {
CTR_EGPRS_UL_MCS9,
};
+enum {
+ STAT_MS_PRESENT,
+};
+
#ifdef __cplusplus
/**
* I represent a GSM BTS. I have one or more TRX, I know the current
@@ -271,10 +275,6 @@ enum {
*/
struct BTS {
public:
- enum {
- STAT_MS_PRESENT,
- };
-
BTS();
~BTS();
void cleanup();
@@ -318,19 +318,13 @@ public:
const uint8_t *data, unsigned int len);
/*
- * Statistics
- */
-
- void ms_present(int32_t n);
- int32_t ms_present_get();
-
- /*
* Below for C interface for the VTY
*/
struct rate_ctr_group *rate_counters() const;
struct osmo_stat_item_group *stat_items() const;
void do_rate_ctr_inc(unsigned int ctr_id);
void do_rate_ctr_add(unsigned int ctr_id, int inc);
+ void stat_item_add(unsigned int stat_id, int inc);
LListHead<gprs_rlcmac_tbf>& ul_tbfs();
LListHead<gprs_rlcmac_tbf>& dl_tbfs();
@@ -408,18 +402,10 @@ inline void BTS::do_rate_ctr_add(unsigned int ctr_id, int inc) {
rate_ctr_add(&m_ratectrs->ctr[ctr_id], inc);
}
-
-#define CREATE_STAT_INLINE(func_name, func_name_get, stat_name) \
- inline void BTS::func_name(int32_t val) {\
- osmo_stat_item_set(m_statg->items[stat_name], val); \
- } \
- inline int32_t BTS::func_name_get() {\
- return osmo_stat_item_get_last(m_statg->items[stat_name]); \
- }
-
-CREATE_STAT_INLINE(ms_present, ms_present_get, STAT_MS_PRESENT);
-
-#undef CREATE_STAT_INLINE
+inline void BTS::stat_item_add(unsigned int stat_id, int inc) {
+ int32_t val = osmo_stat_item_get_last(m_statg->items[stat_id]);
+ osmo_stat_item_set(m_statg->items[stat_id], val + inc);
+}
#endif
diff --git a/src/gprs_ms_storage.cpp b/src/gprs_ms_storage.cpp
index 04518c59..19b6e1c2 100644
--- a/src/gprs_ms_storage.cpp
+++ b/src/gprs_ms_storage.cpp
@@ -55,7 +55,7 @@ void GprsMsStorage::ms_idle(class GprsMs *ms)
{
llist_del(&ms->list());
if (m_bts)
- m_bts->ms_present(m_bts->ms_present_get() - 1);
+ m_bts->stat_item_add(STAT_MS_PRESENT, -1);
if (ms->is_idle())
delete ms;
}
@@ -102,7 +102,7 @@ GprsMs *GprsMsStorage::create_ms()
ms->set_callback(this);
llist_add(&ms->list(), &m_list);
if (m_bts)
- m_bts->ms_present(m_bts->ms_present_get() + 1);
+ m_bts->stat_item_add(STAT_MS_PRESENT, 1);
return ms;
}