aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Couzens <lynxis@fe80.eu>2019-04-27 17:36:47 +0200
committerHarald Welte <laforge@gnumonks.org>2019-05-15 18:27:12 +0000
commitb10ec6a75161b83966e2d7281d94c21ba1c5dcb9 (patch)
tree28f174582c513ce003c252c00f6f56116389357e
parentf15852b99278ec373211772806e7fc16a6cc0fc3 (diff)
remove msc specific db counters
DB counters has been used to save osmo_counters & osmo_rate_ctr to a local sqlite databases every 60 seconds. This is quite slow e.g. 1000 subscriber might slow the msc down. Change-Id: Id64f1839a55b5326f74ec04b7a5dbed9d269b89c
-rw-r--r--doc/manuals/chapters/running.adoc4
-rw-r--r--include/osmocom/msc/db.h6
-rw-r--r--src/libmsc/db.c60
-rw-r--r--src/osmo-msc/msc_main.c28
4 files changed, 4 insertions, 94 deletions
diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc
index cb6815779..9d56f1fcd 100644
--- a/doc/manuals/chapters/running.adoc
+++ b/doc/manuals/chapters/running.adoc
@@ -43,8 +43,8 @@ arguments:
*-m, --mncc-sock*::
Same as option -M (deprecated).
*-C, --no-dbcounter*::
- Disable the regular periodic synchronization of statistics
- counters to the database.
+ Deprecated. DB statistics and counter has been removed.
+ This option is only valid for compatiblity and does nothing.
=== Multiple instances
diff --git a/include/osmocom/msc/db.h b/include/osmocom/msc/db.h
index 8d9ec41f2..d9463a684 100644
--- a/include/osmocom/msc/db.h
+++ b/include/osmocom/msc/db.h
@@ -52,10 +52,4 @@ int db_sms_delete_sent_message_by_id(unsigned long long sms_id);
int db_sms_delete_expired_message_by_id(unsigned long long sms_id);
void db_sms_delete_oldest_expired_message(void);
-/* Statistics counter storage */
-struct osmo_counter;
-int db_store_counter(struct osmo_counter *ctr);
-struct rate_ctr_group;
-int db_store_rate_ctr_group(struct rate_ctr_group *ctrg);
-
#endif /* _DB_H */
diff --git a/src/libmsc/db.c b/src/libmsc/db.c
index a9aaf9472..c2d833939 100644
--- a/src/libmsc/db.c
+++ b/src/libmsc/db.c
@@ -1060,63 +1060,3 @@ void db_sms_delete_oldest_expired_message(void)
dbi_result_free(result);
}
-
-int db_store_counter(struct osmo_counter *ctr)
-{
- dbi_result result;
- char *q_name;
-
- dbi_conn_quote_string_copy(conn, ctr->name, &q_name);
-
- result = dbi_conn_queryf(conn,
- "INSERT INTO Counters "
- "(timestamp,name,value) VALUES "
- "(datetime('now'),%s,%lu)", q_name, ctr->value);
-
- free(q_name);
-
- if (!result)
- return -EIO;
-
- dbi_result_free(result);
- return 0;
-}
-
-static int db_store_rate_ctr(struct rate_ctr_group *ctrg, unsigned int num,
- char *q_prefix)
-{
- dbi_result result;
- char *q_name;
-
- dbi_conn_quote_string_copy(conn, ctrg->desc->ctr_desc[num].name,
- &q_name);
-
- result = dbi_conn_queryf(conn,
- "Insert INTO RateCounters "
- "(timestamp,name,idx,value) VALUES "
- "(datetime('now'),%s.%s,%u,%"PRIu64")",
- q_prefix, q_name, ctrg->idx, ctrg->ctr[num].current);
-
- free(q_name);
-
- if (!result)
- return -EIO;
-
- dbi_result_free(result);
- return 0;
-}
-
-int db_store_rate_ctr_group(struct rate_ctr_group *ctrg)
-{
- unsigned int i;
- char *q_prefix;
-
- dbi_conn_quote_string_copy(conn, ctrg->desc->group_name_prefix, &q_prefix);
-
- for (i = 0; i < ctrg->desc->num_ctr; i++)
- db_store_rate_ctr(ctrg, i, q_prefix);
-
- free(q_prefix);
-
- return 0;
-}
diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c
index 757776859..9da26fba0 100644
--- a/src/osmo-msc/msc_main.c
+++ b/src/osmo-msc/msc_main.c
@@ -102,19 +102,14 @@ static struct {
const char *config_file;
int daemonize;
const char *mncc_sock_path;
- int use_db_counter;
} msc_cmdline_config = {
.database_name = "sms.db",
.config_file = "osmo-msc.cfg",
- .use_db_counter = 1,
};
/* timer to store statistics */
-#define DB_SYNC_INTERVAL 60, 0
#define EXPIRE_INTERVAL 10, 0
-static struct osmo_timer_list db_sync_timer;
-
static int quit = 0;
static void print_usage()
@@ -135,7 +130,6 @@ static void print_help()
printf(" -V --version Print the version of OsmoMSC.\n");
printf(" -e --log-level number Set a global loglevel.\n");
printf(" -M --mncc-sock-path PATH Disable built-in MNCC handler and offer socket.\n");
- printf(" -C --no-dbcounter Disable regular syncing of counters to database.\n");
}
static void handle_options(int argc, char **argv)
@@ -153,7 +147,7 @@ static void handle_options(int argc, char **argv)
{"version", 0, 0, 'V' },
{"log-level", 1, 0, 'e'},
{"mncc-sock-path", 1, 0, 'M'},
- {"no-dbcounter", 0, 0, 'C'},
+ {"no-dbcounter", 0, 0, 'C'}, /* deprecated */
{0, 0, 0, 0}
};
@@ -192,7 +186,7 @@ static void handle_options(int argc, char **argv)
msc_cmdline_config.mncc_sock_path = optarg;
break;
case 'C':
- msc_cmdline_config.use_db_counter = 0;
+ fprintf(stderr, "-C is deprecated and does nothing.");
break;
case 'V':
print_version(1);
@@ -260,19 +254,6 @@ static void signal_handler(int signal)
}
}
-/* timer handling */
-static int _db_store_counter(struct osmo_counter *counter, void *data)
-{
- return db_store_counter(counter);
-}
-
-static void db_sync_timer_cb(void *data)
-{
- /* store counters to database and re-schedule */
- osmo_counters_for_each(_db_store_counter, NULL);
- osmo_timer_schedule(&db_sync_timer, DB_SYNC_INTERVAL);
-}
-
static int msc_vty_go_parent(struct vty *vty)
{
switch (vty->node) {
@@ -665,11 +646,6 @@ TODO: we probably want some of the _net_ ctrl commands from bsc_base_ctrl_cmds_i
return 5;
}
- /* setup the timer */
- osmo_timer_setup(&db_sync_timer, db_sync_timer_cb, NULL);
- if (msc_cmdline_config.use_db_counter)
- osmo_timer_schedule(&db_sync_timer, DB_SYNC_INTERVAL);
-
signal(SIGINT, &signal_handler);
signal(SIGTERM, &signal_handler);
signal(SIGABRT, &signal_handler);