]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
document udp6-queries, udp4-queries, add rd-queries, recursion-unanswered metrics...
authorbert hubert <bert.hubert@netherlabs.nl>
Mon, 22 Sep 2014 10:23:21 +0000 (12:23 +0200)
committerbert hubert <bert.hubert@netherlabs.nl>
Mon, 22 Sep 2014 10:23:21 +0000 (12:23 +0200)
pdns/common_startup.cc
pdns/dnsproxy.cc
pdns/docs/pdns.xml
pdns/packethandler.cc

index c7e89e19bab68100a17951e72a1e8ad51746ff2d..ada2c885ad9cc25c382ada1026243f3b772556df 100644 (file)
@@ -173,6 +173,8 @@ void declareStats(void)
   S.declare("udp6-answers","Number of IPv6 answers sent out over UDP");
   S.declare("udp6-queries","Number of IPv6 UDP queries received");
 
+  S.declare("rd-queries", "Number of recursion desired questions");
+  S.declare("recursion-unanswered", "Number of packets unanswered by configured recursor");
   S.declare("recursing-answers","Number of recursive answers sent out");
   S.declare("recursing-questions","Number of questions sent to recursor");
   S.declare("corrupt-packets","Number of corrupt packets received");
index 00fd5899e9788188be83c449167282a307a3920d..611d139d3e5d4c177ee3ddeb5d4ffe539b3a135a 100644 (file)
@@ -130,11 +130,12 @@ int DNSProxy::getID_locked()
       return n;
     }
     else if(i->second.created<time(0)-60) {
-      if(i->second.created)
+      if(i->second.created) {
         L<<Logger::Warning<<"Recursive query for remote "<<
           i->second.remote.toStringWithPort()<<" with internal id "<<n<<
           " was not answered by backend within timeout, reusing id"<<endl;
-      
+       S.inc("recursion-unanswered");
+      }
       return n;
     }
   }
index 846182eafadeea32676ca1b5863f108fe4d1ff80..1ed5fbb8607f5a65ff761488d8289e1e2720d1c0 100644 (file)
@@ -17749,6 +17749,25 @@ This setting will make PowerDNS renotify the slaves after an AXFR is *received*
          <term>qsize-q</term>
          <listitem><para>Number of packets waiting for database attention</para></listitem>
        </varlistentry>
+       <varlistentry>
+         <term>rd-queries</term>
+         <listitem><para>Number of packets sent by clients requesting recursion (regardless of if we'll be providing them with recursion). Since 3.4.0.</para></listitem>
+       </varlistentry>
+       <varlistentry>
+         <term>recursing-questions</term>
+         <listitem><para>Number of packets we supplied an answer to after recursive processing</para></listitem>
+       </varlistentry>
+
+       <varlistentry>
+         <term>recursing-questions</term>
+         <listitem><para>Number of packets we performed recursive processing for</para></listitem>
+       </varlistentry>
+
+       <varlistentry>
+         <term>recursion-unanswered</term>
+         <listitem><para>Number of packets we sent to our recursor, but did not get a timely answer for. Since 3.4.0.</para></listitem>
+       </varlistentry>
+
        <varlistentry>
          <term>servfail-packets</term>
          <listitem><para>Amount of packets that could not be answered due to database problems</para></listitem>
@@ -17770,9 +17789,26 @@ This setting will make PowerDNS renotify the slaves after an AXFR is *received*
          <listitem><para>Number of answers sent out over UDP</para></listitem>
        </varlistentry>
        <varlistentry>
-         <term>udp-questions</term>
+         <term>udp-queries</term>
          <listitem><para>Number of questions received over UDP</para></listitem>
        </varlistentry>
+       <varlistentry>
+         <term>udp4-answers</term>
+         <listitem><para>Number of answers sent out over UDPv4</para></listitem>
+       </varlistentry>
+       <varlistentry>
+         <term>udp4-queries</term>
+         <listitem><para>Number of questions received over UDPv4</para></listitem>
+       </varlistentry>
+       <varlistentry>
+         <term>udp6-answers</term>
+         <listitem><para>Number of answers sent out over UDPv6</para></listitem>
+       </varlistentry>
+       <varlistentry>
+         <term>udp6-queries</term>
+         <listitem><para>Number of questions received over UDPv6</para></listitem>
+       </varlistentry>
+
       </variablelist>
     </para>
     </sect2>
index 1e7bcdb9ae3f4c5f8196977e3329e3e1c157ea91..5f7046d71ff951e2d2ae753e5300f3339cae8a9c 100644 (file)
@@ -807,6 +807,12 @@ DNSPacket *PacketHandler::question(DNSPacket *p)
       return ret;
   }
 
+
+  if(p->d.rd) {
+    static unsigned int &rdqueries=*S.getPointer("rd-queries");  
+    rdqueries++;
+  }
+
   bool shouldRecurse=false;
   ret=questionOrRecurse(p, &shouldRecurse);
   if(shouldRecurse) {