diff options
author | Harald Welte <laforge@gnumonks.org> | 2010-05-18 10:57:45 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2010-05-18 10:57:45 +0200 |
commit | 8acd88f369fbc4b8ea7510ab3e4979c783c1394a (patch) | |
tree | 2e548bf51a78c2f8ec08a7de90b1d3f43e37fd52 /openbsc/src/gprs/gprs_sgsn.c | |
parent | 6abf94e4206fa97c7dfd72f481c278d9e2873958 (diff) |
[GPRS] SGSN: Include rate counters in MM Context
Diffstat (limited to 'openbsc/src/gprs/gprs_sgsn.c')
-rw-r--r-- | openbsc/src/gprs/gprs_sgsn.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/openbsc/src/gprs/gprs_sgsn.c b/openbsc/src/gprs/gprs_sgsn.c index 4e5fb016a..892c1b00c 100644 --- a/openbsc/src/gprs/gprs_sgsn.c +++ b/openbsc/src/gprs/gprs_sgsn.c @@ -25,6 +25,7 @@ #include <osmocore/linuxlist.h> #include <osmocore/talloc.h> #include <osmocore/timer.h> +#include <osmocore/rate_ctr.h> #include <openbsc/gsm_subscriber.h> #include <openbsc/debug.h> #include <openbsc/gprs_sgsn.h> @@ -36,6 +37,27 @@ LLIST_HEAD(sgsn_ggsn_ctxts); LLIST_HEAD(sgsn_apn_ctxts); LLIST_HEAD(sgsn_pdp_ctxts); +static const struct rate_ctr_desc mmctx_ctr_description[] = { + { "sign.packets.in", "Signalling Messages ( In)" }, + { "sign.packets.out", "Signalling Messages (Out)" }, + { "udata.packets.in", "User Data Messages ( In)" }, + { "udata.packets.out", "User Data Messages (Out)" }, + { "udata.bytes.in", "User Data Bytes ( In)" }, + { "udata.bytes.out", "User Data Bytes (Out)" }, + { "pdp_ctx_act", "PDP Context Activations " }, + { "suspend", "SUSPEND Count " }, + { "paging.ps", "Paging Packet Switched " }, + { "paging.cs", "Paging Circuit Switched " }, + { "ra_update", "Routing Area Update " }, +}; + +static const struct rate_ctr_group_desc mmctx_ctrg_desc = { + .group_name_prefix = "sgsn.mmctx", + .group_description = "SGSN MM Context Statistics", + .num_ctr = ARRAY_SIZE(mmctx_ctr_description), + .ctr_desc = mmctx_ctr_description, +}; + static int ra_id_equals(const struct gprs_ra_id *id1, const struct gprs_ra_id *id2) { @@ -93,6 +115,7 @@ struct sgsn_mm_ctx *sgsn_mm_ctx_alloc(uint32_t tlli, memcpy(&ctx->ra, raid, sizeof(ctx->ra)); ctx->tlli = tlli; ctx->mm_state = GMM_DEREGISTERED; + ctx->ctrg = rate_ctr_group_alloc(ctx, &mmctx_ctrg_desc, tlli); llist_add(&ctx->list, &sgsn_mm_ctxts); |