]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
cassandra: Added debug_queries connect setting.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 1 Jul 2016 13:31:52 +0000 (16:31 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 1 Jul 2016 13:31:52 +0000 (16:31 +0300)
This logs all the queries and how long they took, without having to log all
the other Cassandra library debug messages.

src/lib-sql/driver-cassandra.c

index 7c6391692a85707493798a483a943aec64fdb1d5..f7100c4f2955eae1437a1ff16d9a064aa1113c8a 100644 (file)
@@ -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");