From b2c38ebb1f2e9f670b3a59caca9e6195277b62be Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Thu, 17 Jun 2010 18:16:00 +0800 Subject: nat: Switch per BSC counters to the rate ctr. This is switching the simple statistics to the rate counter and is updating all users... --- openbsc/src/nat/bsc_nat_utils.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'openbsc/src/nat/bsc_nat_utils.c') diff --git a/openbsc/src/nat/bsc_nat_utils.c b/openbsc/src/nat/bsc_nat_utils.c index eed7f3a55..d21185361 100644 --- a/openbsc/src/nat/bsc_nat_utils.c +++ b/openbsc/src/nat/bsc_nat_utils.c @@ -38,6 +38,20 @@ #include #include + +static const struct rate_ctr_desc bsc_cfg_ctr_description[] = { + [BCFG_CTR_SCCP_CONN] = { "sccp.conn", "SCCP Connections" }, + [BCFG_CTR_SCCP_CALLS] = { "sccp.calls", "SCCP Assignment Commands"}, + [BCFG_CTR_NET_RECONN] = { "net.reconnects", "Network reconnects"}, +}; + +static const struct rate_ctr_group_desc bsc_cfg_ctrg_desc = { + .group_name_prefix = "nat.bsc", + .group_description = "NAT BSC Statistics", + .num_ctr = ARRAY_SIZE(bsc_cfg_ctr_description), + .ctr_desc = bsc_cfg_ctr_description, +}; + struct bsc_nat *bsc_nat_alloc(void) { struct bsc_nat *nat = talloc_zero(tall_bsc_ctx, struct bsc_nat); @@ -94,9 +108,11 @@ struct bsc_config *bsc_config_alloc(struct bsc_nat *nat, const char *token, unsi llist_add_tail(&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"); + conf->stats.ctrg = rate_ctr_group_alloc(conf, &bsc_cfg_ctrg_desc, conf->lac); + if (!conf->stats.ctrg) { + talloc_free(conf); + return NULL; + } return conf; } @@ -489,4 +505,4 @@ struct bsc_nat_acc_lst_entry *bsc_nat_acc_lst_entry_create(struct bsc_nat_acc_ls llist_add_tail(&entry->list, &lst->fltr_list); return entry; -} \ No newline at end of file +} -- cgit v1.2.3