diff options
author | Michael Iedema <michael@kapsulate.com> | 2021-03-04 13:14:10 +0000 |
---|---|---|
committer | daniel <dwillmann@sysmocom.de> | 2021-05-04 16:09:46 +0000 |
commit | 858ac62b883900eb8958ccf8ec1f8aab21100476 (patch) | |
tree | 085c13acff520134083f60ead562710231e044f5 /src/osmo-bsc/bsc_init.c | |
parent | 377aac83bb31b876f02670b36097ab6a8d442b38 (diff) |
stats: add BTS uptime counter
Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c
Diffstat (limited to 'src/osmo-bsc/bsc_init.c')
-rw-r--r-- | src/osmo-bsc/bsc_init.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index b572f27f0..24596f4eb 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -85,6 +85,18 @@ static void update_t3122_chan_load_timer(void *data) osmo_timer_schedule(&net->t3122_chan_load_timer, T3122_CHAN_LOAD_SAMPLE_INTERVAL, 0); } +static void bsc_store_bts_uptime(void *data) +{ + struct gsm_network *net = data; + struct gsm_bts *bts; + + llist_for_each_entry(bts, &net->bts_list, list) + bts_store_uptime(bts); + + /* Keep this timer ticking. */ + osmo_timer_schedule(&net->bts_store_uptime_timer, BTS_STORE_UPTIME_INTERVAL, 0); +} + static struct gsm_network *bsc_network_init(void *ctx) { struct gsm_network *net = gsm_network_init(ctx); @@ -128,6 +140,10 @@ static struct gsm_network *bsc_network_init(void *ctx) osmo_timer_setup(&net->t3122_chan_load_timer, update_t3122_chan_load_timer, net); osmo_timer_schedule(&net->t3122_chan_load_timer, T3122_CHAN_LOAD_SAMPLE_INTERVAL, 0); + /* Init uptime tracking timer. */ + osmo_timer_setup(&net->bts_store_uptime_timer, bsc_store_bts_uptime, net); + osmo_timer_schedule(&net->bts_store_uptime_timer, BTS_STORE_UPTIME_INTERVAL, 0); + net->cbc->net = net; net->cbc->mode = BSC_CBC_LINK_MODE_DISABLED; net->cbc->server.local_addr = bsc_cbc_default_server_local_addr; |