Changed MySQL_Thread previous metrics definitions to new convention

pull/2676/head
Javier Jaramago Fernández 6 years ago
parent eab412546b
commit 03f98ea6fb

@ -654,115 +654,370 @@ MySQL_Threads_Handler::MySQL_Threads_Handler() {
__global_MySQL_Thread_Variables_version=1;
MLM = new MySQL_Listeners_Manager();
// Create and register prometheus metrics
auto& new_gauge_family {
// Initialize prometheus metrics
auto& active_transactions {
prometheus::BuildGauge()
.Name("MySQL_Threads_Handler_Gauges")
.Name("proxysql_active_transactions")
.Register(*GloVars.prometheus_registry)
};
auto& new_counter_family {
prometheus::BuildCounter()
.Name("MySQL_Threads_Handler_Counters")
this->status_variables.p_active_transations =
std::addressof(active_transactions.Add({}));
auto& non_idle_client_connections {
prometheus::BuildGauge()
.Name("proxysql_non_idle_client_connections")
.Register(*GloVars.prometheus_registry)
};
// Initialize prometheus metrics
this->status_variables.p_active_transations =
std::addressof(new_gauge_family.Add({{ "id", "Active_Transactions" }}));
this->status_variables.p_non_idle_client_connections =
std::addressof(new_gauge_family.Add({{ "id", "Client_Connections_non_idle" }}));
std::addressof(non_idle_client_connections.Add({}));
auto& queries_backends_bytes_sent {
prometheus::BuildCounter()
.Name("proxysql_queries_backends_bytes_sent")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_queries_backends_bytes_sent =
std::addressof(new_counter_family.Add({{ "id", "Queries_backends_bytes_sent" }}));
std::addressof(queries_backends_bytes_sent.Add({}));
auto& queries_backends_bytes_recv {
prometheus::BuildCounter()
.Name("proxysql_queries_backends_bytes_recv")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_queries_backends_bytes_recv =
std::addressof(new_counter_family.Add({{ "id", "Queries_backends_bytes_recv" }}));
std::addressof(queries_backends_bytes_recv.Add({}));
auto& queries_frontends_bytes_sent {
prometheus::BuildCounter()
.Name("proxysql_queries_frontends_bytes_sent")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_queries_frontends_bytes_sent =
std::addressof(new_counter_family.Add({{ "id", "Queries_frontends_bytes_sent" }}));
std::addressof(queries_frontends_bytes_sent.Add({}));
auto& queries_frontends_bytes_recv {
prometheus::BuildCounter()
.Name("proxysql_queries_frontends_bytes_recv")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_queries_frontends_bytes_recv =
std::addressof(new_counter_family.Add({{ "id", "Queries_frontends_bytes_recv" }}));
std::addressof(queries_frontends_bytes_recv.Add({}));
// TODO: Change the unit
auto& query_processor_time_nsec {
prometheus::BuildCounter()
.Name("proxysql_query_processor_time_nsec")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_query_processor_time =
std::addressof(new_counter_family.Add({{ "id", "Query_Processor_time_nsec" }}));
std::addressof(query_processor_time_nsec.Add({}));
auto& backend_query_time_nsec {
prometheus::BuildCounter()
.Name("proxysql_backend_query_time_nsec")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_backend_query_time =
std::addressof(new_counter_family.Add({{ "id", "Backend_query_time_nsec" }}));
std::addressof(backend_query_time_nsec.Add({}));
auto& mysql_backend_buffers_bytes {
prometheus::BuildGauge()
.Name("proxysql_mysql_backend_buffers_bytes")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_mysql_backend_buffers_bytes =
std::addressof(new_gauge_family.Add({{ "id", "mysql_backend_buffers_bytes" }}));
std::addressof(mysql_backend_buffers_bytes.Add({}));
auto& mysql_frontend_buffers_bytes {
prometheus::BuildGauge()
.Name("proxysql_mysql_frontend_buffers_bytes")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_mysql_frontend_buffers_bytes =
std::addressof(new_gauge_family.Add({{ "id", "mysql_frontend_buffers_bytes" }}));
std::addressof(mysql_frontend_buffers_bytes.Add({}));
auto& proxysql_mysql_session_internal_bytes {
prometheus::BuildGauge()
.Name("proxysql_mysql_session_internal_bytes")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_mysql_session_internal_bytes =
std::addressof(new_gauge_family.Add({{ "id", "mysql_session_internal_bytes" }}));
this->status_variables.p_total_backend_stmt_prepare =
std::addressof(new_counter_family.Add({{ "id", "Com_backend_stmt_prepare" }}));
this->status_variables.p_total_backend_stmt_execute =
std::addressof(new_counter_family.Add({{ "id", "Com_backend_stmt_execute" }}));
std::addressof(proxysql_mysql_session_internal_bytes.Add({}));
auto& com_backend_stmt_prepare {
prometheus::BuildCounter()
.Name("proxysql_com_backend_stmt_prepare")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_total_backend_stmt_prepare =
std::addressof(new_counter_family.Add({{ "id", "Com_backend_stmt_prepare" }}));
std::addressof(com_backend_stmt_prepare.Add({}));
auto& com_backend_stmt_execute {
prometheus::BuildCounter()
.Name("proxysql_com_backend_stmt_execute")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_total_backend_stmt_execute =
std::addressof(new_counter_family.Add({{ "id", "Com_backend_stmt_execute" }}));
std::addressof(com_backend_stmt_execute.Add({}));
auto& com_backend_stmt_close {
prometheus::BuildCounter()
.Name("proxysql_com_backend_stmt_close")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_total_backend_stmt_close =
std::addressof(new_counter_family.Add({{ "id", "Com_backend_stmt_close" }}));
std::addressof(com_backend_stmt_close.Add({}));
auto& com_frontend_stmt_prepare {
prometheus::BuildCounter()
.Name("proxysql_com_frontend_stmt_prepare")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_total_frontend_stmt_prepare =
std::addressof(new_counter_family.Add({{ "id", "Com_frontend_stmt_prepare" }}));
std::addressof(com_frontend_stmt_prepare.Add({}));
auto& com_frontend_stmt_execute {
prometheus::BuildCounter()
.Name("proxysql_com_frontend_stmt_execute")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_total_frontend_stmt_execute =
std::addressof(new_counter_family.Add({{ "id", "Com_frontend_stmt_execute" }}));
std::addressof(com_frontend_stmt_execute.Add({}));
auto& com_frontend_stmt_close {
prometheus::BuildCounter()
.Name("proxysql_com_frontend_stmt_close")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_total_frontend_stmt_close =
std::addressof(new_counter_family.Add({{ "id", "Com_frontend_stmt_close" }}));
std::addressof(com_frontend_stmt_close.Add({}));
auto& mirror_concurrency {
prometheus::BuildGauge()
.Name("proxysql_mirror_concurrency")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_mirror_sessions_current =
std::addressof(new_gauge_family.Add({{ "id", "Mirror_concurrency" }}));
std::addressof(mirror_concurrency.Add({}));
// TODO: Check units
auto& mirror_queue_lengths {
prometheus::BuildGauge()
.Name("proxysql_mirror_queue_lengths")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_total_mirror_queue =
std::addressof(new_gauge_family.Add({{ "id", "Mirror_queue_length" }}));
std::addressof(mirror_queue_lengths.Add({}));
auto& questions {
prometheus::BuildCounter()
.Name("proxysql_questions")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_total_queries =
std::addressof(new_counter_family.Add({{ "id", "Questions" }}));
std::addressof(questions.Add({}));
auto& slow_queries {
prometheus::BuildCounter()
.Name("proxysql_slow_queries")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_slow_queries =
std::addressof(new_counter_family.Add({{ "id", "Slow_queries" }}));
std::addressof(slow_queries.Add({}));
// TODO: Always lowercase?
auto& gtid_consistent_queries {
prometheus::BuildCounter()
.Name("proxysql_gtid_consistent_queries")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_gtid_queries =
std::addressof(new_counter_family.Add({{ "id", "GTID_consistent_queries" }}));
std::addressof(gtid_consistent_queries.Add({}));
auto& gtid_session_collected {
prometheus::BuildCounter()
.Name("proxysql_gtid_session_collected")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_gtid_session_collected =
std::addressof(new_counter_family.Add({{ "id", "GTID_session_collected" }}));
std::addressof(gtid_session_collected.Add({}));
auto& num_threads {
prometheus::BuildGauge()
.Name("proxysql_mysql_thread_workers")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_num_threads =
std::addressof(new_gauge_family.Add({{ "id", "MySQL_Thread_Workers" }}));
std::addressof(num_threads.Add({}));
auto& connpool_get_conn_latency_awareness {
prometheus::BuildCounter()
.Name("proxysql_connpool_get_conn_latency_awareness")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_ConnPool_get_conn_latency_awareness =
std::addressof(new_counter_family.Add({{ "id", "ConnPool_get_conn_latency_awareness" }}));
std::addressof(connpool_get_conn_latency_awareness.Add({}));
auto& connpool_get_conn_immediate {
prometheus::BuildCounter()
.Name("proxysql_connpool_get_conn_immediate")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_ConnPool_get_conn_immediate =
std::addressof(new_counter_family.Add({{ "id", "ConnPool_get_conn_immediate" }}));
std::addressof(connpool_get_conn_immediate.Add({}));
auto& connpool_get_conn_success {
prometheus::BuildCounter()
.Name("proxysql_connpool_get_conn_success")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_ConnPool_get_conn_success =
std::addressof(new_counter_family.Add({{ "id", "ConnPool_get_conn_success" }}));
std::addressof(connpool_get_conn_success.Add({}));
auto& connpool_get_conn_failure {
prometheus::BuildCounter()
.Name("proxysql_connpool_get_conn_failure")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_ConnPool_get_conn_failure =
std::addressof(new_counter_family.Add({{ "id", "ConnPool_get_conn_failure" }}));
this->status_variables.p_ConnPool_get_conn_latency_awareness =
std::addressof(new_counter_family.Add({{ "id", "ConnPool_get_conn_latency_awareness" }}));
std::addressof(connpool_get_conn_failure.Add({}));
auto& generated_error_packets {
prometheus::BuildCounter()
.Name("proxysql_generated_error_packets")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_generated_error_packets =
std::addressof(new_counter_family.Add({{ "id", "generated_error_packets" }}));
std::addressof(generated_error_packets.Add({}));
auto& max_connect_timeouts {
prometheus::BuildCounter()
.Name("proxysql_max_connect_timeouts")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_max_connect_timeout =
std::addressof(new_counter_family.Add({{ "id", "max_connect_timeouts" }}));
std::addressof(max_connect_timeouts.Add({}));
auto& backend_lagging_during_query {
prometheus::BuildCounter()
.Name("proxysql_backend_lagging_during_query")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_backend_lagging_during_query =
std::addressof(new_counter_family.Add({{ "id", "backend_lagging_during_query" }}));
std::addressof(backend_lagging_during_query.Add({}));
auto& backend_offline_during_query {
prometheus::BuildCounter()
.Name("proxysql_backend_offline_during_query")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_backend_offline_during_query =
std::addressof(new_counter_family.Add({{ "id", "backend_offline_during_query" }}));
std::addressof(backend_offline_during_query.Add({}));
auto& queries_with_max_lag_ms {
prometheus::BuildCounter()
.Name("proxysql_queries_with_max_lag_ms")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_queries_with_max_lag_ms =
std::addressof(new_counter_family.Add({{ "id", "queries_with_max_lag_ms" }}));
std::addressof(queries_with_max_lag_ms.Add({}));
auto& queries_with_max_lag_ms__delayed {
prometheus::BuildCounter()
.Name("proxysql_queries_with_max_lag_ms__delayed")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_queries_with_max_lag_ms__delayed =
std::addressof(new_counter_family.Add({{ "id", "queries_with_max_lag_ms__delayed" }}));
std::addressof(queries_with_max_lag_ms__delayed.Add({}));
auto& queries_with_max_lag_ms__total_wait_time_us {
prometheus::BuildCounter()
.Name("proxysql_queries_with_max_lag_ms__total_wait_time_us")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_queries_with_max_lag_ms__total_wait_time_us =
std::addressof(new_counter_family.Add({{ "id", "queries_with_max_lag_ms__total_wait_time_us" }}));
std::addressof(queries_with_max_lag_ms__total_wait_time_us.Add({}));
auto& mysql_unexpected_frontend_com_quit {
prometheus::BuildCounter()
.Name("proxysql_mysql_unexpected_frontend_com_quit")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_mysql_unexpected_frontend_com_quit =
std::addressof(new_counter_family.Add({{ "id", "mysql_unexpected_frontend_com_quit" }}));
std::addressof(mysql_unexpected_frontend_com_quit.Add({}));
// TODO: Check unit
auto& client_connections_hostgroup_locked {
prometheus::BuildCounter()
.Name("proxysql_client_connections_hostgroup_locked")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_get_hostgroup_locked =
std::addressof(new_counter_family.Add({{ "id", "Client_Connections_hostgroup_locked" }}));
std::addressof(client_connections_hostgroup_locked.Add({}));
auto& hostgroup_locked_set_cmds {
prometheus::BuildCounter()
.Name("proxysql_hostgroup_locked_set_cmds")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_hostgroup_locked_set_cmds =
std::addressof(new_counter_family.Add({{ "id", "hostgroup_locked_set_cmds" }}));
std::addressof(hostgroup_locked_set_cmds.Add({}));
auto& hostgroup_locked_queries {
prometheus::BuildCounter()
.Name("proxysql_hostgroup_locked_queries")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_hostgroup_locked_queries =
std::addressof(new_counter_family.Add({{ "id", "hostgroup_locked_queries" }}));
std::addressof(hostgroup_locked_queries.Add({}));
auto& mysql_unexpected_frontend_packets {
prometheus::BuildCounter()
.Name("proxysql_mysql_unexpected_frontend_packets")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_mysql_unexpected_frontend_packets =
std::addressof(new_counter_family.Add({{ "id", "mysql_unexpected_frontend_packets" }}));
std::addressof(mysql_unexpected_frontend_packets.Add({}));
auto& aws_aurora_replicas_skipped_during_query {
prometheus::BuildCounter()
.Name("proxysql_aws_aurora_replicas_skipped_during_query")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_aws_aurora_replicas_skipped_during_query =
std::addressof(new_counter_family.Add({{ "id", "aws_aurora_replicas_skipped_during_query" }}));
std::addressof(aws_aurora_replicas_skipped_during_query.Add({}));
auto& automatic_detected_sql_injection {
prometheus::BuildCounter()
.Name("proxysql_automatic_detected_sql_injection")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_automatic_detected_sqli =
std::addressof(new_counter_family.Add({{ "id", "automatic_detected_sql_injection" }}));
std::addressof(automatic_detected_sql_injection.Add({}));
auto& whitelisted_sqli_fingerprint {
prometheus::BuildCounter()
.Name("proxysql_whitelisted_sqli_fingerprint")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_whitelisted_sqli_fingerprint =
std::addressof(new_counter_family.Add({{ "id", "automatic_detected_sql_injection" }}));
std::addressof(whitelisted_sqli_fingerprint.Add({}));
auto& mysql_killed_backend_connections {
prometheus::BuildCounter()
.Name("proxysql_mysql_killed_backend_connections")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_killed_connections =
std::addressof(new_counter_family.Add({{ "id", "mysql_killed_backend_connections" }}));
std::addressof(mysql_killed_backend_connections.Add({}));
auto& mysql_killed_backend_queries {
prometheus::BuildCounter()
.Name("proxysql_mysql_killed_backend_queries")
.Register(*GloVars.prometheus_registry)
};
this->status_variables.p_killed_queries =
std::addressof(new_counter_family.Add({{ "id", "mysql_killed_backend_queries" }}));
std::addressof(mysql_killed_backend_queries.Add({}));
}

Loading…
Cancel
Save