Counters are added for the following events (use VTY show to query):
- Dropped IMMEDIATE ASSIGN REJECT messages
- Merged IMMEDIATE ASSIGN REJECT messages
- Rejected AGCH messages
- Use of PCH (non-reserved) for AGCH messages
- Use of AGCH (reserved) for AGCH messages
Sponsored-by: On-Waves ehf
---
include/osmo-bts/gsm_data.h | 10 ++++++++++
src/common/bts.c | 1 +
src/common/vty.c | 8 ++++++++
3 files changed, 19 insertions(+)
diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h
index ea3fa5e..b139903 100644
--- a/include/osmo-bts/gsm_data.h
+++ b/include/osmo-bts/gsm_data.h
@@ -48,9 +48,19 @@ struct gsm_bts_role_bts {
} load;
uint8_t ny1;
uint8_t max_ta;
+
+ /* AGCH queuing */
struct llist_head agch_queue;
int agch_queue_length;
int agch_max_queue_length;
+
+ /* TODO: Use a rate counter group instead */
+ uint64_t agch_queue_dropped_msgs;
+ uint64_t agch_queue_merged_msgs;
+ uint64_t agch_queue_rejected_msgs;
+ uint64_t agch_queue_agch_msgs;
+ uint64_t agch_queue_pch_msgs;
+
struct paging_state *paging_state;
char *bsc_oml_host;
unsigned int rtp_jitter_buf_ms;
diff --git a/src/common/bts.c b/src/common/bts.c
index c834786..508d562 100644
--- a/src/common/bts.c
+++ b/src/common/bts.c
@@ -347,6 +347,7 @@ int bts_ccch_copy_msg(struct gsm_bts *bts, uint8_t *out_buf, struct
gsm_time *gt
((struct gsm48_imm_ass *)msgb_l3(msg))->msg_type,
is_ag_res ? "AGCH" : "PCH");
msgb_free(msg);
+ btsb->agch_queue_agch_msgs++;
return rc;
}
diff --git a/src/common/vty.c b/src/common/vty.c
index d818f3f..d2aeed0 100644
--- a/src/common/vty.c
+++ b/src/common/vty.c
@@ -359,6 +359,14 @@ static void bts_dump_vty(struct vty *vty, struct gsm_bts *bts)
vty_out(vty, " Paging: Queue size %u, occupied %u, lifetime %us%s",
paging_get_queue_max(btsb->paging_state),
paging_queue_length(btsb->paging_state),
paging_get_lifetime(btsb->paging_state), VTY_NEWLINE);
+ vty_out(vty, " AGCH: Queue limit %u, occupied %d, "
+ "dropped %llu, merged %llu, rejected %llu, "
+ "ag-res %llu, non-res %llu%s",
+ btsb->agch_max_queue_length, btsb->agch_queue_length,
+ btsb->agch_queue_dropped_msgs, btsb->agch_queue_merged_msgs,
+ btsb->agch_queue_rejected_msgs, btsb->agch_queue_agch_msgs,
+ btsb->agch_queue_pch_msgs,
+ VTY_NEWLINE);
#if 0
vty_out(vty, " Paging: %u pending requests, %u free slots%s",
paging_pending_requests_nr(bts),
--
1.7.9.5