]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Properly handle TCP latencies for DoH backends as well
authorRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 17 Jun 2022 15:19:43 +0000 (17:19 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 17 Jun 2022 15:19:43 +0000 (17:19 +0200)
pdns/dnsdistdist/dnsdist-nghttp2.cc

index 85abf0d3fd1097c65b81aa98ed7fd3cbcd4144bb..299ad929fd459e4a94450f15326f08c26584df96 100644 (file)
@@ -135,6 +135,11 @@ void DoHConnectionToBackend::handleResponse(PendingRequest&& request)
   struct timeval now;
   gettimeofday(&now, nullptr);
   try {
+    if (!d_healthCheckQuery) {
+      const double udiff = request.d_query.d_idstate.sentTime.udiff();
+      d_ds->latencyUsecTCP = (127.0 * d_ds->latencyUsecTCP / 128.0) + udiff / 128.0;
+    }
+
     request.d_sender->handleResponse(now, TCPResponse(std::move(request.d_buffer), std::move(request.d_query.d_idstate), shared_from_this()));
   }
   catch (const std::exception& e) {