ProxySQL integration metrics

The official Datadog integration for monitoring ProxySQL. It collects 75 metrics.

Official summary

Collect your ProxySQL metrics and logs.

Metric types

  • gauge (value at a point in time): 62
  • count (occurrences in the interval): 13

Metrics

Descriptions are the official definitions, unedited.

MetricTypeUnit
proxysql.active_transactionsThe number of client connections currently processing a transaction.gaugetransaction
proxysql.all_backends.countThe number of all MySQL servers, including whether they are online or not.gaugenode
proxysql.backend.query_time_pctTime spent (as a percentage of total time) making network calls to communicate with the backends.gaugepercent
proxysql.backends.countNumber of mysql servers connected.gaugenode
proxysql.client.connections_abortedClient failed or improperly closed connections per second.gaugeconnection/second
proxysql.client.connections_connectedClient connections that are currently connected.gaugeconnection
proxysql.client.connections_createdThe number of client connections created per second.gaugeconnection/second
proxysql.client.connections_non_idleThe number of client connections that are currently handled by the main worker threads.gaugeconnection
proxysql.client.statements.active_totalThe number of prepared statements that are in use by clients.gaugeunit
proxysql.client.statements.active_uniqueThe number of unique prepared statements currently in use by clients.gaugeunit
proxysql.frontend.user_connectionsCurrent number of frontend connections by user.gaugeconnection
proxysql.frontend.user_max_connectionsMax number of frontend connections the user can create (as defined in mysql_users.max_connections).gaugeconnection
proxysql.memory.auth_memoryMemory used by the authentication module to store user credentials and attributes.gaugebyte
proxysql.memory.jemalloc_activeBytes in pages allocated by the application.gaugebyte
proxysql.memory.jemalloc_allocatedBytes allocated by the application.gaugebyte
proxysql.memory.jemalloc_mappedBytes in extents mapped by the allocator.gaugebyte
proxysql.memory.jemalloc_metadataBytes dedicated to metadata.gaugebyte
proxysql.memory.jemalloc_residentBytes in physically resident data pages mapped by the allocator.gaugebyte
proxysql.memory.jemalloc_retainedBytes allocated by the application.gaugebyte
proxysql.memory.query_digest_memoryMemory used to store data related to stats_mysql_query_digest.gaugebyte
proxysql.memory.sqlite3_memory_bytesMemory used by the embedded SQLite.gaugebyte
proxysql.memory.stack_memory_admin_threadsMemory used by the stack of the admin threads.gaugebyte
proxysql.memory.stack_memory_cluster_threadsMemory used by the stack of the cluster threads.gaugebyte
proxysql.memory.stack_memory_mysql_threadsMemory used by the stack of the MySQL threads.gaugebyte
proxysql.mysql.backend_buffers_bytesMemory use of buffers related to backend connections.gaugebyte
proxysql.mysql.frontend_buffers_bytesMemory use of buffers related to frontend connections (read/write buffers and other queues).gaugebyte
proxysql.mysql.monitor_workersThe number of monitor threads.gaugeworker
proxysql.mysql.session_internal_bytesOther memory used by ProxySQL to handle MySQL Sessions.gaugebyte
proxysql.mysql.thread_workersThe number of MySQL Thread workers i.e. 'mysql-threads'.gaugeworker
proxysql.performance.command.cnt_100msThe number of commands of a type which executed within 100 milliseconds., but more than 50 millisecondscountcommand
proxysql.performance.command.cnt_100usThe number of commands of a type which executed within 100 microseconds.countcommand
proxysql.performance.command.cnt_10msThe number of commands of a type which executed within 10 milliseconds., but more than 5 millisecondscountcommand
proxysql.performance.command.cnt_10sThe number of commands of a type which executed within 10 seconds., but more than 5 secondscountcommand
proxysql.performance.command.cnt_1msThe number of commands of a type which executed within 1 milliseconds., but more than 500 microsecondscountcommand
proxysql.performance.command.cnt_1sThe number of commands of a type which executed within 1 second., but more than 500 millisecondscountcommand
proxysql.performance.command.cnt_500msThe number of commands of a type which executed within 500 milliseconds., but more than 100 millisecondscountcommand
proxysql.performance.command.cnt_500usThe number of commands of a type which executed within 500 microseconds., but more than 100 microsecondscountcommand
proxysql.performance.command.cnt_50msThe number of commands of a type which executed within 50 milliseconds., but more than 10 millisecondscountcommand
proxysql.performance.command.cnt_5msThe number of commands of a type which executed within 5 milliseconds., but more than 1 millisecondscountcommand
proxysql.performance.command.cnt_5sThe number of commands of a type which executed within 5 seconds., but more than 1 secondcountcommand
proxysql.performance.command.cnt_infsThe number of commands whose execution exceeded 10 seconds.countcommand
proxysql.performance.command.total_countThe number of commands of a type executed.countcommand
proxysql.performance.command.total_time_pctTotal time spent executing commands of a type as a percentage of total time.gaugepercent
proxysql.pool.bytes_data_recvThe amount of data received from the backend.gaugebyte/second
proxysql.pool.bytes_data_sentThe amount of data sent to the backend.gaugebyte/second
proxysql.pool.conn_failureThe number of requests per second where a connection was not available in the connection pool and either: a new connection had to be created or no backend was available.gaugeconnection/second
proxysql.pool.conn_immediateThe number of connections per second that a MySQL Thread obtained from its own local connection pool cache.gaugeconnection/second
proxysql.pool.conn_successThe number of requests per second where a connection was already available in the connection pool.gaugeconnection/second
proxysql.pool.connections_errorHow many connections aren't established successfully.gaugeconnection/second
proxysql.pool.connections_freeHow many connections are currently free. They are kept open in order to minimize the time cost of sending a query to the backend server.gaugeconnection
proxysql.pool.connections_okHow many connections are established successfully.gaugeconnection/second
proxysql.pool.connections_usedHow many connections are currently used by ProxySQL for sending queries to the backend server.gaugeconnection
proxysql.pool.latency_msThe current ping time as reported from Monitor.gaugemillisecond
proxysql.pool.latency_usThe current ping time as reported from Monitor.gaugemicrosecond
proxysql.pool.memory_bytesMemory used by the connection pool to store connections metadata.gaugebyte
proxysql.pool.queriesThe number of queries routed towards this particular backend server.gaugequery/second
proxysql.query_cache.bytes_inThe number of bytes per second sent into the Query Cache.gaugebyte/second
proxysql.query_cache.bytes_outThe number of bytes per second read from the Query Cache.gaugebyte/second
proxysql.query_cache.entriesThe number of entries currently stored in the query cache.gaugeentry
proxysql.query_cache.get.countThe number of read requests per second to the Query Cache.gaugequery/second
proxysql.query_cache.get_ok.countThe number of successful read requests per second to the Query Cache.gaugequery/second
proxysql.query_cache.memory_bytesMemory usage of the query cache.gaugebyte
proxysql.query_cache.purgedThe number of entries purged per second by the Query Cache due to TTL expiration.gaugeentry/second
proxysql.query_cache.set.countThe number of write requests per second to the Query Cache.gaugequery/second
proxysql.query_processor_time_pctThe time (as a percentage of total time) spent inside the query processor determining the action to take with the query (internal module).gaugepercent
proxysql.query_rules.rule_hitsThe number of times query rules matched traffic.gaugehit/second
proxysql.questionsThe number of client requests / statements executed per second.gaugequestion/second
proxysql.server.connections_abortedBackend failed or improperly closed connections per second.gaugeconnection/second
proxysql.server.connections_connectedBackend connections that are currently connected.gaugeconnection
proxysql.server.connections_createdThe number of backend connections created per second.gaugeconnection/second
proxysql.server.statements.active_totalThe number of prepared statements currently available across all backend connections.gaugeunit
proxysql.server.statements.active_uniqueThe number of unique prepared statements currently available across all backend connections.gaugeunit
proxysql.slow_queriesThe number of queries per second with an execution time greater than 'mysql-long_query_time' milliseconds.gaugequery/second
proxysql.statements.cachedThe number of global prepared statements for which proxysql has metadata.gaugeunit
proxysql.uptimeThe total uptime of ProxySQL in seconds.gaugesecond

Official documentation

Official documentation for the ProxySQL integration

Metric names and descriptions are the official Datadog integration definitions (Copyright Datadog, Inc., BSD-3-Clause), reproduced unedited. The full license terms are on the About page.