diff --git a/node/Metrics.cpp b/node/Metrics.cpp index 3dc8f2bfc..0175dfbb8 100644 --- a/node/Metrics.cpp +++ b/node/Metrics.cpp @@ -1,5 +1,13 @@ #include +namespace prometheus { + namespace simpleapi { + std::shared_ptr registry_ptr = std::make_shared(); + Registry& registry = *registry_ptr; + SaveToFile saver; + } +} + namespace ZeroTier { namespace Metrics { // General Controller Metrics diff --git a/node/Metrics.hpp b/node/Metrics.hpp index db8716744..342ea50fc 100644 --- a/node/Metrics.hpp +++ b/node/Metrics.hpp @@ -3,6 +3,12 @@ #include +namespace prometheus { + namespace simpleapi { + extern std::shared_ptr registry_ptr; + } +} + namespace ZeroTier { namespace Metrics { // General Controller Metrics diff --git a/service/OneService.cpp b/service/OneService.cpp index bad638c62..856103260 100644 --- a/service/OneService.cpp +++ b/service/OneService.cpp @@ -87,17 +87,7 @@ #include "../ext/http-parser/http_parser.h" #endif -#include - -namespace prometheus { - namespace simpleapi { - - std::shared_ptr registry_ptr = std::make_shared(); - Registry& registry = *registry_ptr; - SaveToFile saver; - } -} - +#include "../node/Metrics.hpp" #if ZT_VAULT_SUPPORT extern "C" { @@ -858,9 +848,9 @@ public: _ports[1] = 0; _ports[2] = 0; - ::prometheus::simpleapi::saver.set_registry(::prometheus::simpleapi::registry_ptr); - ::prometheus::simpleapi::saver.set_delay(std::chrono::seconds(5)); - ::prometheus::simpleapi::saver.set_out_file(_homePath + ZT_PATH_SEPARATOR + "metrics.prom"); + prometheus::simpleapi::saver.set_registry(prometheus::simpleapi::registry_ptr); + prometheus::simpleapi::saver.set_delay(std::chrono::seconds(5)); + prometheus::simpleapi::saver.set_out_file(_homePath + ZT_PATH_SEPARATOR + "metrics.prom"); #if ZT_VAULT_SUPPORT curl_global_init(CURL_GLOBAL_DEFAULT);