lint: optimize enum types and fix reserved identifiers in Query_Cache, admin, thread, debug

performance-enum-size fixes:
- p_qc_counter, p_qc_gauge: add uint8_t (7 and 2 values)
- p_admin_counter, p_admin_gauge, p_admin_dyn_counter, p_admin_dyn_gauge: add uint8_t
- p_debug_dyn_counter: add uint8_t (2 values)

bugprone-reserved-identifier fixes:
- Rename __size -> SIZE_ in all metric enums
- Update std::array size references across multiple files
- Update prometheus_helpers.h template parameter names and comments

Files changed:
- Query_Cache.h
- proxysql_admin.h
- MySQL_Thread.h
- proxysql_debug.h
- prometheus_helpers.h (template changes)
- debug.cpp (usage update)
v3.0-lint
Rene Cannao 1 month ago
parent 0d6c0270a4
commit 9bdfb8b1cd

@ -297,7 +297,7 @@ struct p_th_counter {
mysql_killed_backend_connections,
mysql_killed_backend_queries,
client_host_error_killed_connections,
__size
SIZE_
};
};
@ -327,7 +327,7 @@ struct p_th_gauge {
mysql_monitor_replication_lag_interval,
mysql_monitor_replication_lag_timeout,
mysql_monitor_history,
__size
SIZE_
};
};
@ -618,8 +618,8 @@ class MySQL_Threads_Handler
unsigned int mirror_sessions_current;
int threads_initialized = 0;
/// Prometheus metrics arrays
std::array<prometheus::Counter*, p_th_counter::__size> p_counter_array {};
std::array<prometheus::Gauge*, p_th_gauge::__size> p_gauge_array {};
std::array<prometheus::Counter*, p_th_counter::SIZE_> p_counter_array {};
std::array<prometheus::Gauge*, p_th_gauge::SIZE_> p_gauge_array {};
} status_variables;
std::atomic<bool> bootstrapping_listeners;

@ -15,7 +15,7 @@
#define DEFAULT_purge_threshold_pct_max 90
struct p_qc_counter {
enum metric {
enum metric : uint8_t {
query_cache_count_get = 0,
query_cache_count_get_ok,
query_cache_count_set,
@ -23,14 +23,14 @@ struct p_qc_counter {
query_cache_bytes_out,
query_cache_purged,
query_cache_entries,
__size
SIZE_
};
};
struct p_qc_gauge {
enum metric {
enum metric : uint8_t {
query_cache_memory_bytes = 0,
__size
SIZE_
};
};
@ -211,8 +211,8 @@ private:
void purgeHash(uint64_t QCnow_ms, unsigned int curr_pct);
struct {
std::array<prometheus::Counter*, p_qc_counter::__size> p_counter_array{};
std::array<prometheus::Gauge*, p_qc_gauge::__size> p_gauge_array{};
std::array<prometheus::Counter*, p_qc_counter::SIZE_> p_counter_array{};
std::array<prometheus::Gauge*, p_qc_gauge::SIZE_> p_gauge_array{};
} metrics;
};

@ -33,7 +33,7 @@ using prometheus::Gauge;
template <typename map_idx_enum, typename counters_enum, typename metrics_map>
void init_prometheus_counter_array(
const metrics_map& map,
std::array<prometheus::Counter*, counters_enum::__size>& counter_array
std::array<prometheus::Counter*, counters_enum::SIZE_>& counter_array
) {
for (const auto& metric : std::get<map_idx_enum::counters>(map)) {
const auto& tg_metric = std::get<0>(metric);
@ -91,7 +91,7 @@ void init_prometheus_counter_array(
template <typename map_idx_enum, typename gauges_enum, typename metrics_map>
void init_prometheus_gauge_array(
const metrics_map& map,
std::array<prometheus::Gauge*, gauges_enum::__size>& gauge_array
std::array<prometheus::Gauge*, gauges_enum::SIZE_>& gauge_array
) {
for (const auto& metric : std::get<map_idx_enum::gauges>(map)) {
const auto& tg_metric = std::get<0>(metric);
@ -149,7 +149,7 @@ void init_prometheus_gauge_array(
template <typename map_idx_enum, typename dyn_counter_enum, typename metrics_map>
void init_prometheus_dyn_counter_array(
const metrics_map& map,
std::array<prometheus::Family<prometheus::Counter>*, dyn_counter_enum::__size>& dyn_counter_array
std::array<prometheus::Family<prometheus::Counter>*, dyn_counter_enum::SIZE_>& dyn_counter_array
) {
for (const auto& metric : std::get<map_idx_enum::dyn_counters>(map)) {
const auto& tg_metric = std::get<0>(metric);
@ -205,7 +205,7 @@ void init_prometheus_dyn_counter_array(
template <typename map_idx_enum, typename gauges_enum, typename metrics_map>
void init_prometheus_dyn_gauge_array(
const metrics_map& map,
std::array<prometheus::Family<prometheus::Gauge>*, gauges_enum::__size>& dyn_gauge_array
std::array<prometheus::Family<prometheus::Gauge>*, gauges_enum::SIZE_>& dyn_gauge_array
) {
for (const auto& metric : std::get<map_idx_enum::dyn_gauges>(map)) {
const auto& tg_metric = std::get<0>(metric);

@ -65,15 +65,15 @@ class ProxySQL_External_Scheduler {
};
struct p_admin_counter {
enum metric {
enum metric : uint8_t {
uptime = 0,
jemalloc_allocated,
__size
SIZE_
};
};
struct p_admin_gauge {
enum metric {
enum metric : uint8_t {
// memory metrics
connpool_memory_bytes = 0,
sqlite3_memory_bytes,
@ -105,20 +105,20 @@ struct p_admin_gauge {
version_info,
mysql_listener_paused,
pgsql_listener_paused,
__size
SIZE_
};
};
struct p_admin_dyn_counter {
enum metric {
__size
enum metric : uint8_t {
SIZE_
};
};
struct p_admin_dyn_gauge {
enum metric {
enum metric : uint8_t {
proxysql_servers_clients_status_last_seen_at = 0,
__size
SIZE_
};
};
@ -439,9 +439,9 @@ class ProxySQL_Admin {
unsigned long long last_p_memory_metrics_ts;
struct {
std::array<prometheus::Counter*, p_admin_counter::__size> p_counter_array {};
std::array<prometheus::Gauge*, p_admin_gauge::__size> p_gauge_array {};
std::array<prometheus::Family<prometheus::Gauge>*, p_admin_dyn_gauge::__size> p_dyn_gauge_array {};
std::array<prometheus::Counter*, p_admin_counter::SIZE_> p_counter_array {};
std::array<prometheus::Gauge*, p_admin_gauge::SIZE_> p_gauge_array {};
std::array<prometheus::Family<prometheus::Gauge>*, p_admin_dyn_gauge::SIZE_> p_dyn_gauge_array {};
std::map<std::string, prometheus::Gauge*> p_proxysql_servers_clients_status_map {};
} metrics;

@ -190,9 +190,9 @@ class Timer {
} while(0)
struct p_debug_dyn_counter {
enum metric {
enum metric : uint8_t {
proxysql_message_count = 0,
__size
SIZE_
};
};

@ -341,7 +341,7 @@ const std::tuple<debug_dyn_counter_vector> debug_metrics_map = std::make_tuple(
);
std::map<std::string, prometheus::Counter*> p_proxysql_messages_map {};
std::array<prometheus::Family<prometheus::Counter>*, p_debug_dyn_counter::__size> p_debug_dyn_counter_array {};
std::array<prometheus::Family<prometheus::Counter>*, p_debug_dyn_counter::SIZE_> p_debug_dyn_counter_array {};
std::mutex msg_stats_mutex {};
const int ProxySQL_MSG_STATS_FIELD_NUM = 7;

Loading…
Cancel
Save