I had a quick look, and first of all I must say that the current rate counter tables are quite dated:
These counters and their description based on OsmoBSC 1.4.0.84-3f1f8 (OsmoBSC).
commit 3f1f857378e3af0417bdd9e2581efc12970fb4c3
Date: Tue May 21 15:21:43 2019 +0200
The problem is that this part of documentation is not generated automatically and requires running doc/manuals/regen_doc.sh
manually.
My initial assumption was that we see three per-BTS counter tables due to a bug in libosmocore that could have been fixed already, so I regenerated doc/manuals/chapters/counters_generated.adoc
using osmo_interact_vty.py
and checked the result. Unfortunately, duplication is still the case, with the only difference that I see two copies of per-BTS counter tables.
These two copies are there because struct bts_ctrg_desc
is registered at least two times:
$ git grep bts_ctrg_desc
src/osmo-bsc/bsc_init.c: net->bts_unknown_ctrs = rate_ctr_group_alloc(net, &bts_ctrg_desc, BTS_STAT_IDX_UNKNOWN);
src/osmo-bsc/bts.c: bts->bts_ctrs = rate_ctr_group_alloc(bts, &bts_ctrg_desc, bts->nr);
...
and rate_ctr_for_each_group()
does not distinguish between them.