Permalink
Browse files

document udp6-queries, udp4-queries, add rd-queries, recursion-unansw…

…ered metrics & document. Closes #1400.
  • Loading branch information...
1 parent 6bf8d91 commit bb6e54fea67801eb11fecf0291eb1e0aa65f6d55 @ahupowerdns ahupowerdns committed Sep 22, 2014
Showing with 48 additions and 3 deletions.
  1. +2 −0 pdns/common_startup.cc
  2. +3 −2 pdns/dnsproxy.cc
  3. +37 −1 pdns/docs/pdns.xml
  4. +6 −0 pdns/packethandler.cc
@@ -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");
View
@@ -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;
}
}
View
@@ -17750,6 +17750,25 @@ This setting will make PowerDNS renotify the slaves after an AXFR is *received*
<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>
</varlistentry>
@@ -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>
@@ -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) {

0 comments on commit bb6e54f

Please sign in to comment.