d_pd.emplace_back("now", &g_now);
- d_lw->writeFunction("initMetric", [](const std::string& str, boost::optional<boost::variant<std::string, std::unordered_map<std::string, std::string>>> opts){
+ d_lw->writeFunction("getMetric", [](const std::string& str, boost::optional<boost::variant<std::string, std::unordered_map<std::string, std::string>>> opts){
std::string prometheusName;
std::string prometheusTypeName;
std::string prometheusDescr;
}
}
- return DynMetric{initDynMetric(str, prometheusName, prometheusTypeName, prometheusDescr)};
- });
-
- d_lw->writeFunction("getMetric", [](const std::string& str, boost::optional<std::string> prometheusName) {
- return DynMetric{getDynMetric(str, prometheusName ? *prometheusName : "")};
+ return DynMetric{getDynMetric(str, prometheusName, prometheusTypeName, prometheusDescr)};
});
d_lw->registerFunction("inc", &DynMetric::inc);
std::vector<ComboAddress>* pleaseGetLargeAnswerRemotes();
std::vector<ComboAddress>* pleaseGetTimeouts();
DNSName getRegisteredName(const DNSName& dom);
-std::atomic<unsigned long>* getDynMetric(const std::string& str, const std::string& prometheusName);
-std::atomic<unsigned long>* initDynMetric(const std::string& str, const std::string& prometheusName, const std::string& prometheusTypeName, const std::string& prometheusDescr);
+std::atomic<unsigned long>* getDynMetric(const std::string& str, const std::string& prometheusName, const std::string& prometheusTypeName, const std::string& prometheusDescr);
std::optional<uint64_t> getStatByName(const std::string& name);
bool isStatDisabled(StatComponent component, const std::string& name);
void disableStat(StatComponent component, const string& name);
return "pdns_recursor_" + name;
}
-std::atomic<unsigned long>* getDynMetric(const std::string& str, const std::string& prometheusName)
-{
- return initDynMetric(str, prometheusName, "", "");
-}
-
-std::atomic<unsigned long>* initDynMetric(const std::string& str, const std::string& prometheusName, const std::string& prometheusTypeName, const std::string& prometheusDescr)
+std::atomic<unsigned long>* getDynMetric(const std::string& str, const std::string& prometheusName, const std::string& prometheusTypeName, const std::string& prometheusDescr)
{
auto locked = d_dynmetrics.lock();
auto iter = locked->find(str);