diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-04-12 12:17:09 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-04-13 09:47:22 +0200 |
commit | 1aa2798919f7d517cebf6d211e78e9271b2ee07f (patch) | |
tree | 6a64d4cecbb71602e3adc15c716cf34afaf7190e /openbsc/src/nat/bsc_nat_utils.c | |
parent | b829eac9bc6c6dddcc0814d85ac560c6c48c36e1 (diff) |
[statistics] Provide basic statistics for the NAT
Count number of SCCP connections, number of BSC reconnects,
number of calls. For most of them we have a per BSC and a
global count.
Right now all structs using the counters survive until the
end of the application so we do not need to free them.
Diffstat (limited to 'openbsc/src/nat/bsc_nat_utils.c')
-rw-r--r-- | openbsc/src/nat/bsc_nat_utils.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/openbsc/src/nat/bsc_nat_utils.c b/openbsc/src/nat/bsc_nat_utils.c index 85f72cfad..08fd57e18 100644 --- a/openbsc/src/nat/bsc_nat_utils.c +++ b/openbsc/src/nat/bsc_nat_utils.c @@ -45,6 +45,11 @@ struct bsc_nat *bsc_nat_alloc(void) INIT_LLIST_HEAD(&nat->sccp_connections); INIT_LLIST_HEAD(&nat->bsc_connections); INIT_LLIST_HEAD(&nat->bsc_configs); + nat->stats.sccp.conn = counter_alloc("nat.sccp.conn"); + nat->stats.sccp.calls = counter_alloc("nat.sccp.calls"); + nat->stats.bsc.reconn = counter_alloc("nat.bsc.conn"); + nat->stats.bsc.auth_fail = counter_alloc("nat.bsc.auth_fail"); + nat->stats.msc.reconn = counter_alloc("nat.msc.conn"); return nat; } @@ -72,6 +77,10 @@ struct bsc_config *bsc_config_alloc(struct bsc_nat *nat, const char *token, unsi llist_add(&conf->entry, &nat->bsc_configs); ++nat->num_bsc; + conf->stats.sccp.conn = counter_alloc("nat.bsc.sccp.conn"); + conf->stats.sccp.calls = counter_alloc("nat.bsc.sccp.calls"); + conf->stats.net.reconn = counter_alloc("nat.bsc.net.reconnects"); + return conf; } |