Always initialize curtime1 in QP timers

pull/4096/head
René Cannaò 3 years ago
parent 0da59a6620
commit be4ee20dd5

@ -1205,10 +1205,10 @@ std::pair<SQLite3_result *, int> Query_Processor::get_query_digests_v2(const boo
unsigned long long curtime1;
unsigned long long curtime2;
size_t map_size = digest_umap_aux.size();
curtime1 = monotonic_time(); // curtime1 must always be initialized
if (use_resultset) {
if (map_size >= DIGEST_STATS_FAST_MINSIZE) {
result = new SQLite3_result(14, true);
curtime1 = monotonic_time();
} else {
result = new SQLite3_result(14);
}
@ -1268,7 +1268,7 @@ std::pair<SQLite3_result *, int> Query_Processor::get_query_digests_v2(const boo
curtime2=monotonic_time();
curtime1 = curtime1/1000;
curtime2 = curtime2/1000;
proxy_info("Running query on stats_mysql_query_digest: %llums to retrieve %lu entries\n", curtime2-curtime1, map_size);
proxy_info("Running query on stats_mysql_query_digest: (not locked) %llums to retrieve %lu entries\n", curtime2-curtime1, map_size);
}
// Once we finish creating the resultset or writing to SQLite, we use a
@ -1341,9 +1341,9 @@ SQLite3_result * Query_Processor::get_query_digests() {
unsigned long long curtime1;
unsigned long long curtime2;
size_t map_size = digest_umap.size();
curtime1 = monotonic_time(); // curtime1 must always be initialized
if (map_size >= DIGEST_STATS_FAST_MINSIZE) {
result = new SQLite3_result(14, true);
curtime1 = monotonic_time();
} else {
result = new SQLite3_result(14);
}
@ -1419,11 +1419,11 @@ std::pair<SQLite3_result *, int> Query_Processor::get_query_digests_reset_v2(
bool defer_free = false;
int n=DIGEST_STATS_FAST_THREADS;
get_query_digests_parallel_args args[n];
curtime1 = monotonic_time(); // curtime1 must always be initialized
if (use_resultset) {
free_me = true;
defer_free = true;
if (map_size >= DIGEST_STATS_FAST_MINSIZE) {
curtime1=monotonic_time();
result = new SQLite3_result(14, true);
} else {
result = new SQLite3_result(14);
@ -1500,7 +1500,7 @@ std::pair<SQLite3_result *, int> Query_Processor::get_query_digests_reset_v2(
curtime2=monotonic_time();
curtime1 = curtime1/1000;
curtime2 = curtime2/1000;
proxy_info("Running query on stats_mysql_query_digest_reset: %llums to retrieve %lu entries\n", curtime2-curtime1, map_size);
proxy_info("Running query on stats_mysql_query_digest: (not locked) %llums to retrieve %lu entries\n", curtime2-curtime1, map_size);
if (free_me) {
if (defer_free) {
for (int i=0; i<n; i++) {
@ -1535,8 +1535,8 @@ SQLite3_result * Query_Processor::get_query_digests_reset() {
int n=DIGEST_STATS_FAST_THREADS;
get_query_digests_parallel_args args[n];
size_t map_size = digest_umap.size();
curtime1 = monotonic_time(); // curtime1 must always be initialized
if (map_size >= DIGEST_STATS_FAST_MINSIZE) {
curtime1=monotonic_time();
result = new SQLite3_result(14, true);
} else {
result = new SQLite3_result(14);

Loading…
Cancel
Save