From: Remi Gacogne Date: Tue, 7 Jun 2022 16:35:43 +0000 (+0200) Subject: dnsdist: Fix 'dumpStats()' with custom metrics X-Git-Tag: auth-4.8.0-alpha0~74^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F11684%2Fhead;p=thirdparty%2Fpdns.git dnsdist: Fix 'dumpStats()' with custom metrics --- diff --git a/pdns/dnsdist-lua-inspection.cc b/pdns/dnsdist-lua-inspection.cc index a641b0fb8a..0e39d93210 100644 --- a/pdns/dnsdist-lua-inspection.cc +++ b/pdns/dnsdist-lua-inspection.cc @@ -690,19 +690,27 @@ void setupLuaInspection(LuaContext& luaCtx) return a.first < b.first; }); boost::format flt(" %9.1f"); - for(const auto& e : entries) { - string second; - if(const auto& val = boost::get(&e.second)) - second=std::to_string((*val)->load()); - else if (const auto& dval = boost::get(&e.second)) - second=(flt % (**dval)).str(); - else - second=std::to_string((*boost::get(&e.second))(e.first)); + for (const auto& e : entries) { + string second; + if (const auto& val = boost::get(&e.second)) { + second = std::to_string((*val)->load()); + } + else if(const auto& adval = boost::get*>(&e.second)) { + second = (flt % (*adval)->load()).str(); + } + else if (const auto& dval = boost::get(&e.second)) { + second = (flt % (**dval)).str(); + } + else { + second = std::to_string((*boost::get(&e.second))(e.first)); + } - if(leftcolumn.size() < g_stats.entries.size()/2) - leftcolumn.push_back((fmt % e.first % second).str()); - else - rightcolumn.push_back((fmt % e.first % second).str()); + if (leftcolumn.size() < g_stats.entries.size()/2) { + leftcolumn.push_back((fmt % e.first % second).str()); + } + else { + rightcolumn.push_back((fmt % e.first % second).str()); + } } auto leftiter=leftcolumn.begin(), rightiter=rightcolumn.begin();