changeset 20483:80e064878fab

cassandra: Added debug_queries connect setting. This logs all the queries and how long they took, without having to log all the other Cassandra library debug messages.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Fri, 01 Jul 2016 16:31:52 +0300
parents bde406ffe5b2
children 3e15ee9c7832
files src/lib-sql/driver-cassandra.c
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-sql/driver-cassandra.c	Fri Jul 01 16:31:19 2016 +0300
+++ b/src/lib-sql/driver-cassandra.c	Fri Jul 01 16:31:52 2016 +0300
@@ -55,6 +55,7 @@
 	CassConsistency read_consistency, write_consistency, delete_consistency;
 	CassConsistency read_fallback_consistency, write_fallback_consistency, delete_fallback_consistency;
 	CassLogLevel log_level;
+	bool debug_queries;
 	unsigned int protocol_version;
 	unsigned int num_threads;
 	unsigned int connect_timeout_secs, request_timeout_secs;
@@ -439,6 +440,8 @@
 		} else if (strcmp(key, "log_level") == 0) {
 			if (log_level_parse(value, &db->log_level) < 0)
 				i_fatal("cassandra: Unknown log_level: %s", value);
+		} else if (strcmp(key, "debug_queries") == 0) {
+			db->debug_queries = TRUE;
 		} else if (strcmp(key, "version") == 0) {
 			if (str_to_uint(value, &db->protocol_version) < 0)
 				i_fatal("cassandra: Invalid version: %s", value);
@@ -631,7 +634,7 @@
 		db->sync_result = NULL;
 
 	reply_usecs = timeval_diff_usecs(&result->finish_time, &result->start_time);
-	if (db->log_level >= CASS_LOG_DEBUG ||
+	if (db->log_level >= CASS_LOG_DEBUG || db->debug_queries ||
 	    reply_usecs/1000000 >= db->warn_timeout_secs) {
 		if (gettimeofday(&now, NULL) < 0)
 			i_fatal("gettimeofday() failed: %m");