diff --git a/include/Base_HostGroups_Manager.h b/include/Base_HostGroups_Manager.h index 707d2d329..2fcbac4a7 100644 --- a/include/Base_HostGroups_Manager.h +++ b/include/Base_HostGroups_Manager.h @@ -9,6 +9,13 @@ class PgSQL_SrvC; class MySrvList; class PgSQL_SrvList; +// Forward declaration for WebUI monitoring metrics collector +namespace ProxySQL { +namespace Monitoring { +class MetricsCollector; +} +} + #include "proxysql.h" #include "cpp.h" #include "proxysql_gtid.h" @@ -666,6 +673,7 @@ class Base_HostGroups_Manager { friend class MySQL_HostGroups_Manager; friend class PgSQL_HostGroups_Manager; + friend class ProxySQL::Monitoring::MetricsCollector; }; diff --git a/include/MySQL_HostGroups_Manager.h b/include/MySQL_HostGroups_Manager.h index 9bdf7b5e8..c5c868f05 100644 --- a/include/MySQL_HostGroups_Manager.h +++ b/include/MySQL_HostGroups_Manager.h @@ -123,6 +123,13 @@ typedef std::unordered_map umap_mysql_errors; +// Forward declaration for WebUI monitoring metrics collector +namespace ProxySQL { +namespace Monitoring { +class MetricsCollector; +} +} + class MySrvConnList; class MySrvC; class MySrvList; @@ -792,6 +799,9 @@ class MySQL_HostGroups_Manager : public Base_HostGroups_Manager { void group_replication_lag_action_set_server_status(MyHGC* myhgc, char* address, int port, int lag_count, bool enable); public: + // Friend declaration for WebUI monitoring metrics collector + friend class ProxySQL::Monitoring::MetricsCollector; + std::mutex galera_set_writer_mutex; /** * @brief Mutex used to guard 'mysql_servers_to_monitor' resulset. diff --git a/include/PgSQL_HostGroups_Manager.h b/include/PgSQL_HostGroups_Manager.h index 4f66c7ef8..d945998a4 100644 --- a/include/PgSQL_HostGroups_Manager.h +++ b/include/PgSQL_HostGroups_Manager.h @@ -107,6 +107,13 @@ class PgSQL_SrvC; class PgSQL_SrvList; class PgSQL_HGC; +// Forward declaration for WebUI monitoring metrics collector +namespace ProxySQL { +namespace Monitoring { +class MetricsCollector; +} +} + class PgSQL_Errors_stats { public: PgSQL_Errors_stats(int _hostgroup, const char* _hostname, int _port, const char* _username, const char* _address, const char* _dbname, @@ -571,6 +578,9 @@ class PgSQL_HostGroups_Manager : public Base_HostGroups_Manager { ); public: + // Friend declaration for WebUI monitoring metrics collector + friend class ProxySQL::Monitoring::MetricsCollector; + /** * @brief Mutex used to guard 'pgsql_servers_to_monitor' resulset. */