diff options
author | Harald Welte <laforge@osmocom.org> | 2021-01-31 11:54:02 +0100 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2021-02-01 09:39:29 +0100 |
commit | 76346079e8e7ee86121bde83b2338f06cd4f7ead (patch) | |
tree | 0ff77cc8fdc19e76bb13f1fb1e49fb2e99fba68c /src/gb/gprs_ns2_fr.c | |
parent | 97ccbf71b311639f6668fcb952806a3c0931d114 (diff) |
ns2: Introduce a per-bind stat_item group with backlog length
The backlog length indicates the instantaneous length of the backlog.
Change-Id: I1c55b4619b1221d7e607ace58649323407faf86b
Diffstat (limited to 'src/gb/gprs_ns2_fr.c')
-rw-r--r-- | src/gb/gprs_ns2_fr.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c index c32bce87..49e92ae2 100644 --- a/src/gb/gprs_ns2_fr.c +++ b/src/gb/gprs_ns2_fr.c @@ -47,6 +47,7 @@ #include <osmocom/gprs/frame_relay.h> #include <osmocom/core/byteswap.h> +#include <osmocom/core/stat_item.h> #include <osmocom/core/logging.h> #include <osmocom/core/msgb.h> #include <osmocom/core/select.h> @@ -327,6 +328,7 @@ static void enqueue_at_head(struct gprs_ns2_vc_bind *bind, struct msgb *msg) { struct priv_bind *priv = bind->priv; llist_add(&msg->list, &priv->backlog.list); + osmo_stat_item_inc(bind->statg->items[NS2_BIND_STAT_BACKLOG_LEN], 1); osmo_timer_schedule(&priv->backlog.timer, 0, priv->backlog.retry_us); } @@ -334,6 +336,7 @@ static void enqueue_at_tail(struct gprs_ns2_vc_bind *bind, struct msgb *msg) { struct priv_bind *priv = bind->priv; llist_add_tail(&msg->list, &priv->backlog.list); + osmo_stat_item_inc(bind->statg->items[NS2_BIND_STAT_BACKLOG_LEN], 1); osmo_timer_schedule(&priv->backlog.timer, 0, priv->backlog.retry_us); } @@ -402,6 +405,7 @@ static void fr_backlog_timer_cb(void *data) llist_add(&msg->list, &priv->backlog.list); break; } + osmo_stat_item_dec(bind->statg->items[NS2_BIND_STAT_BACKLOG_LEN], 1); } /* re-start timer if we still have data in the queue */ |