From: phonedph1 Date: Wed, 20 Nov 2024 23:08:22 +0000 (-0700) Subject: Elapsed lua binding X-Git-Tag: rec-5.2.0-beta1~12^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d31fa785c5a9e5ba6f9d2d482e79fbf72856aa4b;p=thirdparty%2Fpdns.git Elapsed lua binding --- diff --git a/pdns/dnsdistdist/dnsdist-lua-bindings-dnsquestion.cc b/pdns/dnsdistdist/dnsdist-lua-bindings-dnsquestion.cc index bf6c47361c..3527ce7ba2 100644 --- a/pdns/dnsdistdist/dnsdist-lua-bindings-dnsquestion.cc +++ b/pdns/dnsdistdist/dnsdist-lua-bindings-dnsquestion.cc @@ -168,6 +168,10 @@ void setupLuaBindingsDNSQuestion(LuaContext& luaCtx) return dnsQuestion.ids.queryRealTime.getStartTime(); }); + luaCtx.registerFunction("getElapsedUs", [](const DNSQuestion& dnsQuestion) { + return dnsQuestion.ids.queryRealTime.udiff(); + }); + luaCtx.registerFunction("sendTrap", [](const DNSQuestion& dnsQuestion, boost::optional reason) { #ifdef HAVE_NET_SNMP if (g_snmpAgent != nullptr && dnsdist::configuration::getCurrentRuntimeConfiguration().d_snmpTrapsEnabled) { @@ -495,6 +499,10 @@ void setupLuaBindingsDNSQuestion(LuaContext& luaCtx) return dnsResponse.ids.queryRealTime.getStartTime(); }); + luaCtx.registerFunction("getElapsedUs", [](const DNSResponse& dnsResponse) { + return dnsResponse.ids.queryRealTime.udiff(); + }); + luaCtx.registerFunction("sendTrap", [](const DNSResponse& dnsResponse, boost::optional reason) { #ifdef HAVE_NET_SNMP if (g_snmpAgent != nullptr && dnsdist::configuration::getCurrentRuntimeConfiguration().d_snmpTrapsEnabled) { diff --git a/pdns/dnsdistdist/docs/reference/dq.rst b/pdns/dnsdistdist/docs/reference/dq.rst index 69bd0a2bb9..c66f1257ad 100644 --- a/pdns/dnsdistdist/docs/reference/dq.rst +++ b/pdns/dnsdistdist/docs/reference/dq.rst @@ -131,6 +131,14 @@ This state can be modified from the various hooks. :returns: A table of EDNSOptionView objects, indexed on the ECS Option code + .. method:: DNSQuestion::getElapsedUs -> double + + .. versionadded:: 2.0.0 + + Return the amount of time that has elapsed since the query was received. + + :returns: A double indicating elapsed time in microseconds + .. method:: DNSQuestion:getHTTPHeaders() -> table .. versionadded:: 1.4.0