stats: Add per-hnb paging:{cs,ps}:attempted counter

Adding counters for number of paging succeeded is much harder,
as we currently don't parse connection-oriented DL RANAP and/or any
L3 NAS in it.

Change-Id: I7648caa410dba8474d57121a8128579ba200b18f
This commit is contained in:
Harald Welte 2024-03-08 13:01:39 +01:00 committed by Harald Welte
parent 14c36591fc
commit ea15086584
3 changed files with 13 additions and 0 deletions

View File

@ -98,6 +98,9 @@ enum hnb_rate_ctr {
HNB_CTR_RUA_UDT_UL,
HNB_CTR_RUA_UDT_DL,
HNB_CTR_PS_PAGING_ATTEMPTED,
HNB_CTR_CS_PAGING_ATTEMPTED,
HNB_CTR_RAB_ACTIVE_MILLISECONDS_TOTAL,
};

View File

@ -395,6 +395,11 @@ const struct rate_ctr_desc hnb_ctr_description[] = {
[HNB_CTR_RUA_UDT_DL] = {
"rua:unit_data:dl", "Transmitted RUA UnitData (UDT) in downlink" },
[HNB_CTR_PS_PAGING_ATTEMPTED] = {
"paging:ps:attempted", "Transmitted PS Paging requests" },
[HNB_CTR_CS_PAGING_ATTEMPTED] = {
"paging:cs:attempted", "Transmitted CS Paging requests" },
[HNB_CTR_RAB_ACTIVE_MILLISECONDS_TOTAL] = {
"rab:cs:active_milliseconds:total", "Cumulative number of milliseconds of CS RAB activity" },
};

View File

@ -293,6 +293,7 @@ static int cn_ranap_rx_paging_cmd(struct hnbgw_cnlink *cnlink,
{
const char *errmsg;
struct hnb_context *hnb;
bool is_ps = cnlink->pool->domain == DOMAIN_PS;
errmsg = cnlink_paging_add_ranap(cnlink, imsg);
if (errmsg) {
@ -307,6 +308,10 @@ static int cn_ranap_rx_paging_cmd(struct hnbgw_cnlink *cnlink,
llist_for_each_entry(hnb, &g_hnbgw->hnb_list, list) {
if (!hnb->hnb_registered)
continue;
if (is_ps)
HNBP_CTR_INC(hnb->persistent, HNB_CTR_PS_PAGING_ATTEMPTED);
else
HNBP_CTR_INC(hnb->persistent, HNB_CTR_CS_PAGING_ATTEMPTED);
rua_tx_udt(hnb, data, len);
}