From: Remi Gacogne Date: Fri, 17 Jun 2022 15:19:43 +0000 (+0200) Subject: dnsdist: Properly handle TCP latencies for DoH backends as well X-Git-Tag: auth-4.8.0-alpha0~46^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0c51513a7bc0250f4a98548ea1fd34e84dbd8d37;p=thirdparty%2Fpdns.git dnsdist: Properly handle TCP latencies for DoH backends as well --- diff --git a/pdns/dnsdistdist/dnsdist-nghttp2.cc b/pdns/dnsdistdist/dnsdist-nghttp2.cc index 85abf0d3fd..299ad929fd 100644 --- a/pdns/dnsdistdist/dnsdist-nghttp2.cc +++ b/pdns/dnsdistdist/dnsdist-nghttp2.cc @@ -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) {