Change in osmo-msc[master]: remove msc specific db counters

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Wed May 15 18:27:13 UTC 2019


Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/13800 )

Change subject: remove msc specific db counters
......................................................................

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
---
M doc/manuals/chapters/running.adoc
M include/osmocom/msc/db.h
M src/libmsc/db.c
M src/osmo-msc/msc_main.c
4 files changed, 4 insertions(+), 94 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Daniel Willmann: Looks good to me, but someone else must approve
  Jenkins Builder: Verified



diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc
index cb68157..9d56f1f 100644
--- a/doc/manuals/chapters/running.adoc
+++ b/doc/manuals/chapters/running.adoc
@@ -43,8 +43,8 @@
 *-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 8d9ec41..d9463a6 100644
--- a/include/osmocom/msc/db.h
+++ b/include/osmocom/msc/db.h
@@ -52,10 +52,4 @@
 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 a9aaf94..c2d8339 100644
--- a/src/libmsc/db.c
+++ b/src/libmsc/db.c
@@ -1060,63 +1060,3 @@
 
 	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 7577768..9da26fb 100644
--- a/src/osmo-msc/msc_main.c
+++ b/src/osmo-msc/msc_main.c
@@ -102,19 +102,14 @@
 	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 @@
 	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 @@
 			{"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 @@
 			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 @@
 	}
 }
 
-/* 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 @@
 		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);

-- 
To view, visit https://gerrit.osmocom.org/13800
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Id64f1839a55b5326f74ec04b7a5dbed9d269b89c
Gerrit-Change-Number: 13800
Gerrit-PatchSet: 4
Gerrit-Owner: lynxis lazus <lynxis at fe80.eu>
Gerrit-Reviewer: Daniel Willmann <dwillmann at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder (1000002)
Gerrit-Reviewer: Vadim Yanitskiy <axilirator at gmail.com>
Gerrit-Reviewer: lynxis lazus <lynxis at fe80.eu>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190515/a250c9e6/attachment.htm>


More information about the gerrit-log mailing list