Log request timing for queries handled by cache response.
Change-Id: I925e7aa1af9f493c9bbbdf823c0ac58542a8e8b5
diff --git a/src/forward.c b/src/forward.c
index 7eb1b44..e2749f9 100644
--- a/src/forward.c
+++ b/src/forward.c
@@ -1087,6 +1087,7 @@
#else
int check_dst = !option_bool(OPT_NOWILD);
#endif
+ int64_t now64 = dnsmasq_time64();
/* packet buffer overwritten */
daemon->srv_save = NULL;
@@ -1354,12 +1355,15 @@
int ad_reqd, do_bit;
m = answer_request(header, ((char *) header) + daemon->packet_buff_sz, (size_t)n,
dst_addr_4, netmask, now, &ad_reqd, &do_bit);
-
+
if (m >= 1)
{
send_from(listen->fd, option_bool(OPT_NOWILD) || option_bool(OPT_CLEVERBIND),
(char *)header, m, &source_addr, &dst_addr, if_index);
daemon->local_answer++;
+
+ float milliseconds = ((float)(dnsmasq_time64() - now64))/100000;
+ my_syslog(LOG_INFO, _("handled request by cache response in %.2f ms"), milliseconds);
}
else if (forward_query(listen->fd, &source_addr, &dst_addr, if_index,
header, (size_t)n, now, NULL, ad_reqd, do_bit))