From 0a038223d041677cc708cab7e2b1815587644f99 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Fri, 4 Jun 2021 17:21:42 +0200 Subject: [PATCH] Use new stat item/ctr getter APIs Change-Id: I1fdfdae2810c3c82ff62fe725ffa364df4ebeff5 --- CommonLibs/trx_rate_ctr.cpp | 30 +++++++++++++++--------------- TODO-RELEASE | 1 + 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/CommonLibs/trx_rate_ctr.cpp b/CommonLibs/trx_rate_ctr.cpp index e902ff15..ba4fcc0c 100644 --- a/CommonLibs/trx_rate_ctr.cpp +++ b/CommonLibs/trx_rate_ctr.cpp @@ -147,17 +147,17 @@ static int dev_rate_ctr_timerfd_cb(struct osmo_fd *ofd, unsigned int what) { if (dev_ctrs_pending[chan].chan == PENDING_CHAN_NONE) continue; LOGCHAN(chan, DCTR, DEBUG) << "rate_ctr update"; - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_RX_OVERRUNS]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_RX_OVERRUNS); rate_ctr_add(ctr, dev_ctrs_pending[chan].rx_overruns - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_TX_UNDERRUNS]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_TX_UNDERRUNS); rate_ctr_add(ctr, dev_ctrs_pending[chan].tx_underruns - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_RX_DROP_EV]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_RX_DROP_EV); rate_ctr_add(ctr, dev_ctrs_pending[chan].rx_dropped_events - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_RX_DROP_SMPL]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_RX_DROP_SMPL); rate_ctr_add(ctr, dev_ctrs_pending[chan].rx_dropped_samples - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_TX_DROP_EV]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_TX_DROP_EV); rate_ctr_add(ctr, dev_ctrs_pending[chan].tx_dropped_events - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_DEV_TX_DROP_SMPL]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_DEV_TX_DROP_SMPL); rate_ctr_add(ctr, dev_ctrs_pending[chan].tx_dropped_samples - ctr->current); /* Mark as done */ @@ -178,21 +178,21 @@ static int trx_rate_ctr_timerfd_cb(struct osmo_fd *ofd, unsigned int what) { if (trx_ctrs_pending[chan].chan == PENDING_CHAN_NONE) continue; LOGCHAN(chan, DCTR, DEBUG) << "rate_ctr update"; - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TX_STALE_BURSTS]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TX_STALE_BURSTS); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_stale_bursts - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TX_UNAVAILABLE_BURSTS]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TX_UNAVAILABLE_BURSTS); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_unavailable_bursts - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TRXD_FN_REPEATED]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TRXD_FN_REPEATED); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_trxd_fn_repeated - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TRXD_FN_OUTOFORDER]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TRXD_FN_OUTOFORDER); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_trxd_fn_outoforder - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_TRXD_FN_SKIPPED]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_TRXD_FN_SKIPPED); rate_ctr_add(ctr, trx_ctrs_pending[chan].tx_trxd_fn_skipped - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_RX_EMPTY_BURST]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_RX_EMPTY_BURST); rate_ctr_add(ctr, trx_ctrs_pending[chan].rx_empty_burst - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_RX_CLIPPING]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_RX_CLIPPING); rate_ctr_add(ctr, trx_ctrs_pending[chan].rx_clipping - ctr->current); - ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TRX_RX_NO_BURST_DETECTED]; + ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], TRX_CTR_TRX_RX_NO_BURST_DETECTED); rate_ctr_add(ctr, trx_ctrs_pending[chan].rx_no_burst_detected - ctr->current); /* Mark as done */ trx_ctrs_pending[chan].chan = PENDING_CHAN_NONE; @@ -263,7 +263,7 @@ static void threshold_timer_cb(void *data) llist_for_each_entry(ctr_thr, &threshold_list, list) { for (chan = 0; chan < chan_len; chan++) { - rate_ctr = &rate_ctrs[chan]->ctr[ctr_thr->ctr_id]; + rate_ctr = rate_ctr_group_get_ctr(rate_ctrs[chan], ctr_thr->ctr_id); LOGCHAN(chan, DCTR, INFO) << "checking threshold: " << ctr_threshold_2_vty_str(ctr_thr) << " ("<< rate_ctr->intv[ctr_thr->intv].rate << " vs " << ctr_thr->val << ")"; if (rate_ctr->intv[ctr_thr->intv].rate >= ctr_thr->val) { diff --git a/TODO-RELEASE b/TODO-RELEASE index e69de29b..ab54c426 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -0,0 +1 @@ +libosmocore > 1.5.1 require APIs osmo_stat_item_group_get_item, rate_ctr_group_get_ctr