unsigned int dnsdist_ffi_stat_node_get_children_count(const dnsdist_ffi_stat_node_t* node)
{
- return node->node.size();
+ return node->node.getNumberOfChildren();
}
uint64_t dnsdist_ffi_stat_node_get_children_queries_count(const dnsdist_ffi_stat_node_t* node)
/* StatNode */
luaCtx.registerFunction<unsigned int (StatNode::*)() const>("numChildren",
[](const StatNode& node) -> unsigned int {
- return node.size();
+ return node.getNumberOfChildren();
});
luaCtx.registerMember<std::string(StatNode::*)>(std::string("fullname"), [](const StatNode& node) -> std::string {
/* we are not using toLogString() because we want:
{
// 20% servfails, >100 children, on average less than 2 copies of a query
// >100 different subqueries
- double dups=1.0*childstat.queries/node->size();
+ double dups=1.0*childstat.queries/node->getNumberOfChildren();
if(dups > 2.0)
return;
- if(1.0*childstat.servfails / childstat.queries > 0.2 && node->size()>100) {
- cout<<node->fullname<<", servfails: "<<childstat.servfails<<", nxdomains: "<<childstat.nxdomains<<", remotes: "<<childstat.remotes.size()<<", children: "<<node->size()<<", childstat.queries: "<<childstat.queries;
+ if(1.0*childstat.servfails / childstat.queries > 0.2 && node->getNumberOfChildren()>100) {
+ cout<<node->fullname<<", servfails: "<<childstat.servfails<<", nxdomains: "<<childstat.nxdomains<<", remotes: "<<childstat.remotes.size()<<", children: "<<node->getNumberOfChildren()<<", childstat.queries: "<<childstat.queries;
cout<<", dups2: "<<dups<<endl;
for(const StatNode::Stat::remotes_t::value_type& rem : childstat.remotes) {
cout<<"source: "<<node->fullname<<"\t"<<rem.first.toString()<<"\t"<<rem.second<<endl;
void submit(const DNSName& domain, int rcode, uint32_t bytes, bool hit, const std::optional<ComboAddress>& remote, size_t samplingRate);
Stat print(unsigned int depth=0, Stat newstat=Stat(), bool silent=false) const;
void visit(const visitor_t& visitor, Stat& newstat, unsigned int depth = 0) const;
- bool empty() const
+ [[nodiscard]] bool empty() const
{
return children.empty() && s.remotes.empty();
}
- size_t size() const
+ [[nodiscard]] size_t getNumberOfChildren() const
{
return children.size();
}