From: Timo Sirainen Date: Fri, 1 Jul 2016 13:31:52 +0000 (+0300) Subject: cassandra: Added debug_queries connect setting. X-Git-Tag: 2.2.26~518 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0597f83b7230c6dd99c798eb0d258fdcd185b6f1;p=thirdparty%2Fdovecot%2Fcore.git 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. --- diff --git a/src/lib-sql/driver-cassandra.c b/src/lib-sql/driver-cassandra.c index 7c6391692a..f7100c4f29 100644 --- a/src/lib-sql/driver-cassandra.c +++ b/src/lib-sql/driver-cassandra.c @@ -55,6 +55,7 @@ struct cassandra_db { 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 @@ static void driver_cassandra_parse_connect_string(struct cassandra_db *db, } 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 @@ static void driver_cassandra_result_free(struct sql_result *_result) 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");