From 916afa447688b6d7a9ebecf8b2b0e39e4ffdfbfa Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Wed, 20 Apr 2022 12:26:43 +0200 Subject: [PATCH] octoi: add new counter every time a connection is accepted This adds a new [rate] counter "e1oip:connect_accepted" that increments every time the connection is accepted for both server and client role. The rate is not really interesting, it's more the total absolute quantity that's interesting. Plotting the delta will give us spikes whenever the connection is re-established. Change-Id: I8baac768289f7e01d943f5205afa824f367a3a61 --- src/octoi/e1oip.c | 1 + src/octoi/e1oip.h | 1 + src/octoi/octoi_clnt_fsm.c | 1 + src/octoi/octoi_srv_fsm.c | 1 + 4 files changed, 4 insertions(+) diff --git a/src/octoi/e1oip.c b/src/octoi/e1oip.c index 7f15e45..cf04c9a 100644 --- a/src/octoi/e1oip.c +++ b/src/octoi/e1oip.c @@ -50,6 +50,7 @@ static const struct rate_ctr_desc iline_ctr_description[] = { [LINE_CTR_E1oIP_E1O_OVERFLOW] = { "e1oip:e1o_overflow", "Frames overflowed in IP->E1 direction"}, [LINE_CTR_E1oIP_RX_OUT_OF_ORDER] = { "e1oip:rx:pkt_out_of_order", "Packets out-of-order in IP->E1 direction"}, [LINE_CTR_E1oIP_RX_OUT_OF_WIN] = { "e1oip:rx:pkt_out_of_win", "Packets out-of-rx-window in IP->E1 direction"}, + [LINE_CTR_E1oIP_CONNECT_ACCEPT] = { "e1oip:connect_accepted", "OCTOI connections entering accepted state" }, }; static const struct rate_ctr_group_desc iline_ctrg_desc = { diff --git a/src/octoi/e1oip.h b/src/octoi/e1oip.h index 41f35cb..b643b5a 100644 --- a/src/octoi/e1oip.h +++ b/src/octoi/e1oip.h @@ -22,6 +22,7 @@ enum e1oip_line_ctr { LINE_CTR_E1oIP_E1O_OVERFLOW, LINE_CTR_E1oIP_RX_OUT_OF_ORDER, LINE_CTR_E1oIP_RX_OUT_OF_WIN, + LINE_CTR_E1oIP_CONNECT_ACCEPT, }; enum e1oip_line_stat { diff --git a/src/octoi/octoi_clnt_fsm.c b/src/octoi/octoi_clnt_fsm.c index 6b1d1d3..441f904 100644 --- a/src/octoi/octoi_clnt_fsm.c +++ b/src/octoi/octoi_clnt_fsm.c @@ -118,6 +118,7 @@ static void clnt_st_accepted_onenter(struct osmo_fsm_inst *fi, uint32_t prev_sta /* reset RIFO/FIFO etc. */ e1oip_line_reset(st->peer->iline); + iline_ctr_add(st->peer->iline, LINE_CTR_E1oIP_CONNECT_ACCEPT, 1); st->peer->tdm_permitted = true; osmo_timer_schedule(&st->rx_alive_timer, 3, 0); diff --git a/src/octoi/octoi_srv_fsm.c b/src/octoi/octoi_srv_fsm.c index c9fa66e..53b79e7 100644 --- a/src/octoi/octoi_srv_fsm.c +++ b/src/octoi/octoi_srv_fsm.c @@ -171,6 +171,7 @@ static void srv_st_accepted_onenter(struct osmo_fsm_inst *fi, uint32_t prev_stat /* reset RIFO/FIFO etc. */ e1oip_line_reset(st->peer->iline); + iline_ctr_add(st->peer->iline, LINE_CTR_E1oIP_CONNECT_ACCEPT, 1); st->peer->tdm_permitted = true; osmo_timer_schedule(&st->rx_alive_timer, 3, 0);