From: Peter van Dijk Date: Thu, 8 Aug 2013 12:22:42 +0000 (+0200) Subject: count UDP answer bytes sent X-Git-Tag: rec-3.6.0-rc1~528^2~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4b24088ff6a7548b77124ba7b05010f1faa29ef2;p=pdns count UDP answer bytes sent --- diff --git a/pdns/common_startup.cc b/pdns/common_startup.cc index 170dbb1b6..88f5097e0 100644 --- a/pdns/common_startup.cc +++ b/pdns/common_startup.cc @@ -155,6 +155,7 @@ void declareStats(void) S.declare("udp-queries","Number of UDP queries received"); S.declare("udp-do-queries","Number of UDP queries received with DO bit"); S.declare("udp-answers","Number of answers sent out over UDP"); + S.declare("udp-answers-bytes","Total size of answers sent out over UDP"); S.declare("udp4-answers","Number of IPv4 answers sent out over UDP"); S.declare("udp4-queries","Number of IPv4 UDP queries received"); @@ -205,7 +206,6 @@ int isGuarded(char **argv) return !!p; } - void sendout(const DNSDistributor::AnswerData &AD) { if(!AD.A) diff --git a/pdns/nameserver.cc b/pdns/nameserver.cc index db996aec3..5efebba65 100644 --- a/pdns/nameserver.cc +++ b/pdns/nameserver.cc @@ -245,8 +245,9 @@ void UDPNameserver::send(DNSPacket *p) static unsigned int &numanswered=*S.getPointer("udp-answers"); static unsigned int &numanswered4=*S.getPointer("udp4-answers"); static unsigned int &numanswered6=*S.getPointer("udp6-answers"); + static unsigned int &bytesanswered=*S.getPointer("udp-answers-bytes"); - g_rs.submitResponse(p->qtype.getCode(), buffer.length(), true); + g_rs.submitResponse(p->qtype.getCode(), buffer.length(), true); struct msghdr msgh; struct cmsghdr *cmsg; @@ -264,6 +265,7 @@ void UDPNameserver::send(DNSPacket *p) /* Count responses (total/v4/v6) and byte counts */ numanswered++; + bytesanswered+=buffer.length(); if(p->d_remote.sin4.sin_family==AF_INET) numanswered4++; else