From 7d07129c1a3c49b745b52d47bae38a52c0ebfe65 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Thu, 15 Mar 2018 12:09:48 +0100 Subject: [PATCH] dnsdist: Restore StatNode's children (optionnally) for dnsscope --- pdns/dnsdist-lua-inspection.cc | 2 +- pdns/statnode.cc | 13 ++++++++----- pdns/statnode.hh | 14 +++++++------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/pdns/dnsdist-lua-inspection.cc b/pdns/dnsdist-lua-inspection.cc index c75d0bad4..d5d32a195 100644 --- a/pdns/dnsdist-lua-inspection.cc +++ b/pdns/dnsdist-lua-inspection.cc @@ -114,7 +114,7 @@ static void statNodeRespRing(statvisitor_t visitor, unsigned int seconds) if (seconds && c.when < cutoff) continue; - root.submit(c.name, c.dh.rcode, c.requestor); + root.submit(c.name, c.dh.rcode, boost::none); } } diff --git a/pdns/statnode.cc b/pdns/statnode.cc index 7e8578d8b..0a9873291 100644 --- a/pdns/statnode.cc +++ b/pdns/statnode.cc @@ -39,10 +39,10 @@ void StatNode::visit(visitor_t visitor, Stat &newstat, unsigned int depth) cons childstat.nxdomains += s.nxdomains; childstat.servfails += s.servfails; childstat.drops += s.drops; -// childstat.remotes = s.remotes; + childstat.remotes = s.remotes; - Stat selfstat(childstat); + Stat selfstat; for(const children_t::value_type& child : children) { child.second.visit(visitor, childstat, depth+8); @@ -54,7 +54,7 @@ void StatNode::visit(visitor_t visitor, Stat &newstat, unsigned int depth) cons } -void StatNode::submit(const DNSName& domain, int rcode, const ComboAddress& remote) +void StatNode::submit(const DNSName& domain, int rcode, boost::optional remote) { // cerr<<"FIRST submit called on '"< tmp = domain.getRawLabels(); @@ -72,7 +72,7 @@ void StatNode::submit(const DNSName& domain, int rcode, const ComboAddress& remo www.powerdns.com. */ -void StatNode::submit(std::vector::const_iterator end, std::vector::const_iterator begin, const std::string& domain, int rcode, const ComboAddress& remote, unsigned int count) +void StatNode::submit(std::vector::const_iterator end, std::vector::const_iterator begin, const std::string& domain, int rcode, boost::optional remote, unsigned int count) { // cerr<<"Submit called for domain='"<::const_iterator end, std::vector remotes_t; - //remotes_t remotes; + typedef std::map remotes_t; + remotes_t remotes; }; Stat s; @@ -55,7 +55,7 @@ public: std::string fullname; unsigned int labelsCount{0}; - void submit(const DNSName& domain, int rcode, const ComboAddress& remote); + void submit(const DNSName& domain, int rcode, boost::optional remote); Stat print(unsigned int depth=0, Stat newstat=Stat(), bool silent=false) const; typedef boost::function visitor_t; @@ -64,5 +64,5 @@ public: children_t children; private: - void submit(std::vector::const_iterator end, std::vector::const_iterator begin, const std::string& domain, int rcode, const ComboAddress& remote, unsigned int count); + void submit(std::vector::const_iterator end, std::vector::const_iterator begin, const std::string& domain, int rcode, boost::optional remote, unsigned int count); }; -- 2.40.0