aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/nat/bsc_nat_utils.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-04-12 12:17:09 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-04-13 09:47:22 +0200
commit1aa2798919f7d517cebf6d211e78e9271b2ee07f (patch)
tree6a64d4cecbb71602e3adc15c716cf34afaf7190e /openbsc/src/nat/bsc_nat_utils.c
parentb829eac9bc6c6dddcc0814d85ac560c6c48c36e1 (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.c9
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;
}