diff options
author | Alexander Couzens <lynxis@fe80.eu> | 2016-07-12 15:42:02 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-08-27 01:58:19 +0000 |
commit | 20423ea6cfdecd264b32c7fe5e15ee7de4455692 (patch) | |
tree | e62843a1ddcb0fc97891be516d57df4565de1447 /openbsc/src/libmsc | |
parent | 4e699a9cbf418518265dc7b8b6b7fe250d87222d (diff) |
libbsc/libmsc: convert old osmo counter into rate_ctrgs
rate counters support the export to statsd and can have a delta value.
Change-Id: Ie749cebd53a0bb618d0e23d375885712078bf8dd
Diffstat (limited to 'openbsc/src/libmsc')
-rw-r--r-- | openbsc/src/libmsc/gsm_04_08.c | 20 | ||||
-rw-r--r-- | openbsc/src/libmsc/gsm_04_11.c | 12 | ||||
-rw-r--r-- | openbsc/src/libmsc/vty_interface_layer3.c | 48 |
3 files changed, 44 insertions, 36 deletions
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c index 1b02efe42..c4ecf1c0c 100644 --- a/openbsc/src/libmsc/gsm_04_08.c +++ b/openbsc/src/libmsc/gsm_04_08.c @@ -457,7 +457,7 @@ int gsm0408_loc_upd_rej(struct gsm_subscriber_connection *conn, uint8_t cause) struct gsm_bts *bts = conn->bts; struct msgb *msg; - osmo_counter_inc(bts->network->stats.loc_upd_resp.reject); + rate_ctr_inc(&bts->network->ratectrs->ctr[MSC_CTR_LOC_UPDATE_RESP_REJECT]); msg = gsm48_create_loc_upd_rej(cause); if (!msg) { @@ -506,7 +506,7 @@ static int gsm0408_loc_upd_acc(struct gsm_subscriber_connection *conn) DEBUGP(DMM, "-> LOCATION UPDATE ACCEPT\n"); - osmo_counter_inc(bts->network->stats.loc_upd_resp.accept); + rate_ctr_inc(&bts->network->ratectrs->ctr[MSC_CTR_LOC_UPDATE_RESP_ACCEPT]); return gsm48_conn_sendmsg(msg, conn, NULL); } @@ -637,13 +637,13 @@ static int mm_rx_loc_upd_req(struct gsm_subscriber_connection *conn, struct msgb switch (lu->type) { case GSM48_LUPD_NORMAL: - osmo_counter_inc(bts->network->stats.loc_upd_type.normal); + rate_ctr_inc(&bts->network->ratectrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_NORMAL]); break; case GSM48_LUPD_IMSI_ATT: - osmo_counter_inc(bts->network->stats.loc_upd_type.attach); + rate_ctr_inc(&bts->network->ratectrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_ATTACH]); break; case GSM48_LUPD_PERIODIC: - osmo_counter_inc(bts->network->stats.loc_upd_type.periodic); + rate_ctr_inc(&bts->network->ratectrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_PERIODIC]); break; } @@ -1063,7 +1063,7 @@ static int gsm48_rx_mm_imsi_detach_ind(struct gsm_subscriber_connection *conn, s DEBUGP(DMM, "IMSI DETACH INDICATION: MI(%s)=%s", gsm48_mi_type_name(mi_type), mi_string); - osmo_counter_inc(bts->network->stats.loc_upd_type.detach); + rate_ctr_inc(&bts->network->ratectrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_DETACH]); switch (mi_type) { case GSM_MI_TYPE_TMSI: @@ -2002,7 +2002,7 @@ static int gsm48_cc_rx_setup(struct gsm_trans *trans, struct msgb *msg) subscr_name(trans->subscr), trans->subscr->extension, setup.called.number); - osmo_counter_inc(trans->net->stats.call.mo_setup); + rate_ctr_inc(&trans->net->ratectrs->ctr[MSC_CTR_CALL_MO_SETUP]); /* indicate setup to MNCC */ mncc_recvmsg(trans->net, trans, MNCC_SETUP_IND, &setup); @@ -2080,7 +2080,7 @@ static int gsm48_cc_tx_setup(struct gsm_trans *trans, void *arg) new_cc_state(trans, GSM_CSTATE_CALL_PRESENT); - osmo_counter_inc(trans->net->stats.call.mt_setup); + rate_ctr_inc(&trans->net->ratectrs->ctr[MSC_CTR_CALL_MT_SETUP]); return gsm48_conn_sendmsg(msg, trans->conn, trans); } @@ -2306,7 +2306,7 @@ static int gsm48_cc_rx_connect(struct gsm_trans *trans, struct msgb *msg) } new_cc_state(trans, GSM_CSTATE_CONNECT_REQUEST); - osmo_counter_inc(trans->net->stats.call.mt_connect); + rate_ctr_inc(&trans->net->ratectrs->ctr[MSC_CTR_CALL_MT_CONNECT]); return mncc_recvmsg(trans->net, trans, MNCC_SETUP_CNF, &connect); } @@ -2319,7 +2319,7 @@ static int gsm48_cc_rx_connect_ack(struct gsm_trans *trans, struct msgb *msg) gsm48_stop_cc_timer(trans); new_cc_state(trans, GSM_CSTATE_ACTIVE); - osmo_counter_inc(trans->net->stats.call.mo_connect_ack); + rate_ctr_inc(&trans->net->ratectrs->ctr[MSC_CTR_CALL_MO_CONNECT_ACK]); memset(&connect_ack, 0, sizeof(struct gsm_mncc)); connect_ack.callref = trans->callref; diff --git a/openbsc/src/libmsc/gsm_04_11.c b/openbsc/src/libmsc/gsm_04_11.c index 20d18a959..fba5208eb 100644 --- a/openbsc/src/libmsc/gsm_04_11.c +++ b/openbsc/src/libmsc/gsm_04_11.c @@ -315,14 +315,14 @@ try_local: rc = smpp_try_deliver(gsms, conn); if (rc == 1) { rc = 1; /* cause 1: unknown subscriber */ - osmo_counter_inc(conn->bts->network->stats.sms.no_receiver); + rate_ctr_inc(&conn->bts->network->ratectrs->ctr[MSC_CTR_SMS_NO_RECEIVER]); } else if (rc < 0) { rc = 21; /* cause 21: short message transfer rejected */ /* FIXME: handle the error somehow? */ } #else rc = 1; /* cause 1: unknown subscriber */ - osmo_counter_inc(conn->bts->network->stats.sms.no_receiver); + rate_ctr_inc(&conn->bts->network->ratectrs->ctr[MSC_CTR_SMS_NO_RECEIVER]); #endif return rc; } @@ -363,7 +363,7 @@ static int gsm340_rx_tpdu(struct gsm_subscriber_connection *conn, struct msgb *m uint8_t address_lv[12]; /* according to 03.40 / 9.1.2.5 */ int rc = 0; - osmo_counter_inc(conn->bts->network->stats.sms.submitted); + rate_ctr_inc(&conn->bts->network->ratectrs->ctr[MSC_CTR_SMS_SUBMITTED]); gsms = sms_alloc(); if (!gsms) @@ -633,10 +633,10 @@ static int gsm411_rx_rp_error(struct msgb *msg, struct gsm_trans *trans, * to store this in our database and wait for a SMMA message */ /* FIXME */ send_signal(S_SMS_MEM_EXCEEDED, trans, sms, 0); - osmo_counter_inc(net->stats.sms.rp_err_mem); + rate_ctr_inc(&net->ratectrs->ctr[MSC_CTR_SMS_RP_ERR_MEM]); } else { send_signal(S_SMS_UNKNOWN_ERROR, trans, sms, 0); - osmo_counter_inc(net->stats.sms.rp_err_other); + rate_ctr_inc(&net->ratectrs->ctr[MSC_CTR_SMS_RP_ERR_OTHER]); } sms_free(sms); @@ -932,7 +932,7 @@ int gsm411_send_sms(struct gsm_subscriber_connection *conn, struct gsm_sms *sms) DEBUGP(DLSMS, "TX: SMS DELIVER\n"); - osmo_counter_inc(conn->bts->network->stats.sms.delivered); + rate_ctr_inc(&conn->bts->network->ratectrs->ctr[MSC_CTR_SMS_DELIVERED]); db_sms_inc_deliver_attempts(trans->sms.sms); return gsm411_rp_sendmsg(&trans->sms.smr_inst, msg, diff --git a/openbsc/src/libmsc/vty_interface_layer3.c b/openbsc/src/libmsc/vty_interface_layer3.c index 74da1d7dc..d1041b378 100644 --- a/openbsc/src/libmsc/vty_interface_layer3.c +++ b/openbsc/src/libmsc/vty_interface_layer3.c @@ -795,34 +795,42 @@ DEFUN(show_stats, openbsc_vty_print_statistics(vty, net); vty_out(vty, "Location Update : %lu attach, %lu normal, %lu periodic%s", - osmo_counter_get(net->stats.loc_upd_type.attach), - osmo_counter_get(net->stats.loc_upd_type.normal), - osmo_counter_get(net->stats.loc_upd_type.periodic), VTY_NEWLINE); + net->ratectrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_ATTACH].current, + net->ratectrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_NORMAL].current, + net->ratectrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_PERIODIC].current, + VTY_NEWLINE); vty_out(vty, "IMSI Detach Indications : %lu%s", - osmo_counter_get(net->stats.loc_upd_type.detach), VTY_NEWLINE); + net->ratectrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_DETACH].current, + VTY_NEWLINE); vty_out(vty, "Location Update Response: %lu accept, %lu reject%s", - osmo_counter_get(net->stats.loc_upd_resp.accept), - osmo_counter_get(net->stats.loc_upd_resp.reject), VTY_NEWLINE); + net->ratectrs->ctr[MSC_CTR_LOC_UPDATE_RESP_ACCEPT].current, + net->ratectrs->ctr[MSC_CTR_LOC_UPDATE_RESP_REJECT].current, + VTY_NEWLINE); vty_out(vty, "Handover : %lu attempted, %lu no_channel, %lu timeout, " "%lu completed, %lu failed%s", - osmo_counter_get(net->stats.handover.attempted), - osmo_counter_get(net->stats.handover.no_channel), - osmo_counter_get(net->stats.handover.timeout), - osmo_counter_get(net->stats.handover.completed), - osmo_counter_get(net->stats.handover.failed), VTY_NEWLINE); + net->ratectrs->ctr[MSC_CTR_HANDOVER_ATTEMPTED].current, + net->ratectrs->ctr[MSC_CTR_HANDOVER_NO_CHANNEL].current, + net->ratectrs->ctr[MSC_CTR_HANDOVER_TIMEOUT].current, + net->ratectrs->ctr[MSC_CTR_HANDOVER_COMPLETED].current, + net->ratectrs->ctr[MSC_CTR_HANDOVER_FAILED].current, + VTY_NEWLINE); vty_out(vty, "SMS MO : %lu submitted, %lu no receiver%s", - osmo_counter_get(net->stats.sms.submitted), - osmo_counter_get(net->stats.sms.no_receiver), VTY_NEWLINE); + net->ratectrs->ctr[MSC_CTR_SMS_SUBMITTED].current, + net->ratectrs->ctr[MSC_CTR_SMS_NO_RECEIVER].current, + VTY_NEWLINE); vty_out(vty, "SMS MT : %lu delivered, %lu no memory, %lu other error%s", - osmo_counter_get(net->stats.sms.delivered), - osmo_counter_get(net->stats.sms.rp_err_mem), - osmo_counter_get(net->stats.sms.rp_err_other), VTY_NEWLINE); + net->ratectrs->ctr[MSC_CTR_SMS_DELIVERED].current, + net->ratectrs->ctr[MSC_CTR_SMS_RP_ERR_MEM].current, + net->ratectrs->ctr[MSC_CTR_SMS_RP_ERR_OTHER].current, + VTY_NEWLINE); vty_out(vty, "MO Calls : %lu setup, %lu connect ack%s", - osmo_counter_get(net->stats.call.mo_setup), - osmo_counter_get(net->stats.call.mo_connect_ack), VTY_NEWLINE); + net->ratectrs->ctr[MSC_CTR_CALL_MO_SETUP].current, + net->ratectrs->ctr[MSC_CTR_CALL_MO_CONNECT_ACK].current, + VTY_NEWLINE); vty_out(vty, "MT Calls : %lu setup, %lu connect%s", - osmo_counter_get(net->stats.call.mt_setup), - osmo_counter_get(net->stats.call.mt_connect), VTY_NEWLINE); + net->ratectrs->ctr[MSC_CTR_CALL_MT_SETUP].current, + net->ratectrs->ctr[MSC_CTR_CALL_MT_CONNECT].current, + VTY_NEWLINE); return CMD_SUCCESS; } |