The following table describes the metrics charts that can be viewed on the
AlloyDB System insights dashboard and in the Metrics Explorer.
The metric type strings must be prefixed with alloydb.googleapis.com/. For example,
alloydb.googleapis.com/Instance.
Metrics are either available in BETA or GA Launch stages. For more information about the launch stage of the metric, see AlloyDB metrics.
| Display name and metric name | Description | Cluster metric | Instance metric | Read pool metric | Node metric |
|---|---|---|---|---|---|
Rows in database by statedatabase/postgresql/tuples |
The number of live and dead rows in the instance. Only available for instances with the number of databases less than 50. |
Yes | Yes | No | No |
Query latencydatabase/postgresql/insights/aggregate/latencies |
The aggregated P99 query latency distribution for each instance. Only available for instances with Query Insights enabled. | Yes | Yes | Yes | No |
Database loaddatabase/postgresql/insights/aggregate/execution_time |
The accumulated query execution time for each instance. This is the sum of CPU time, I/O wait time, lock wait time, process context switch, and scheduling for all processes involved in query execution. Only available for instances with Query Insights enabled. | Yes | Yes | Yes | No |
Max CPU utilizationinstance/cpu/maximum_utilization
|
The maximum CPU utilization calculated across all serving nodes of the instance, represented as a percentage for each instance. | Yes | Yes | Yes | No |
Mean CPU utilizationinstance/cpu/average_utilization |
The mean CPU utilization calculated as an average across all serving nodes of the instance, represented as a percentage for each instance. | Yes | No | Yes | No |
|
Available memory
|
The minimum available memory across all serving nodes of the instance or
for an individual node. The available memory is an estimate of memory in
bytes available for allocation on the VM including memory that is used,
but can be potentially freed. Beginning with PostgreSQL 17, the available memory metric more accurately reflects the available memory to AlloyDB by taking into consideration memory in the operating system page cache that is used but can't be freed. As a result, the available memory metric might be lower than metrics for AlloyDB clusters using PostgreSQL 16 and earlier. |
Yes | Yes | Yes | Yes |
Cluster storagecluster/storage/usage |
The billable storage that the AlloyDB cluster uses. It does not include the storage that automatic and on-demand backups use. | Yes | No | No | No |
Queries IO wait timedatabase/postgresql/insights/aggregate/io_time |
The aggregated queries I/O wait time for each instance. Only available for instances with Query Insights enabled. | Yes | Yes | No | No |
Number of connectionsinstance/postgresql/backends_by_state |
The number of connections to each instance across all serving nodes of the
instance. This includes connections in all states such as idle,
active, idle_in_transaction, idle_in_transaction_aborted,
disabled, and fastpath_function_call.
|
Yes | Yes | Yes | No |
|
Number of tuples written
|
The number of rows written while processing the queries in the instance or node since the last sample. | Yes | Yes | Yes | Yes |
Rows processed by operation
|
The number of rows processed in the primary instance per operation such
as insert, update, or delete.
Only available for instances with the number of databases less than 5000.
|
Yes | No | No | No |
Oldest transaction agepostgresql/vacuum/oldest_transaction_age |
The current age of the oldest uncommitted transaction for each instance that is blocking the vacuum operation. It's measured in the number of transactions that started after the oldest transaction. | Yes | Yes | Yes | No |
Transaction ID utilizationpostgresql/vacuum/ |
The current percentage of transaction ID space that's consumed by each instance. It records up to a maximum of two billion unvacuumed transactions as a percentage. | Yes | Yes | Yes | No |
Wait timeinstance/postgresql/wait_time |
The aggregated accumulated elapsed wait time per wait event name and wait event type across the cluster, instance, or across all serving nodes of the read pool instance. | Yes | Yes | Yes | No |
Wait countinstance/postgresql/wait_count |
The number of times processes waited per wait event name and wait event type across the cluster, instance, or across all serving nodes of the read pool instance. | Yes | Yes | Yes | No |
|
Temp data size used
|
The amount of data (bytes) used in each instance for executing queries
and performing algorithms such as join and sort.
Only available for instances with the number of databases less than 5000.
|
Yes | No | No | Yes |
|
Temporary files used for writing data
|
The number of temporary files that are used in each instance or node for
executing queries and performing algorithms such as join and
sort.
|
Yes | Yes | Yes | Yes |
|
Number of new connections added to the instance
|
The total number of new connections added to the instance or node. | Yes | Yes | Yes | Yes |
Statements executed countdatabase/postgresql/statements_executed_count |
The number of statements that are executed in each instance. Only available for instances with Query Insights enabled. | Yes | Yes | No | No |
|
Transaction count
|
The number of committed and rolled back transactions across all serving nodes of the instance or an individual node. | Yes | Yes | Yes | Yes |
|
Blocks hit
|
The number of times Postgres found the requested block in the buffer cache. | Yes | Yes | Yes | Yes |
|
Blocks miss
|
The total number of blocks read by Postgres that were not in the buffer cache. | Yes | Yes | Yes | Yes |
|
Deadlock count
|
The number of deadlocks detected in each instance or node. | Yes | Yes | Yes | Yes |
Read pool replication laginstance/postgres/replication/maximum_lag |
The maximum time taken for replication from a primary instance to a read pool. The time lag is calculated across all serving read pool nodes per read pool instance in the cluster. | Yes | Yes | Yes | No |
Active nodesinstance/postgres/instances |
The number of nodes that can serve user traffic. | Yes | No | Yes | No |
Connections per databasedatabase/postgresql/backends_for_top_databases |
The number of connections to the instance per database. | No | Yes | Yes | No |
|
Number of connections per application
|
The number of connections to the instance or node, grouped by
applications. Connections without an application name are grouped as
Unknown.
|
No | Yes | Yes | Yes |
|
Number of tuples deleted
|
The number of rows deleted while processing the queries in the instance or node since the last sample. | Yes | Yes | Yes | Yes |
|
Number of tuples fetched
|
The number of rows fetched while processing the queries in the instance or node since the last sample. | Yes | Yes | Yes | Yes |
|
Number of tuples inserted
|
The number of rows inserted while processing the queries in the instance or node since the last sample. | Yes | Yes | Yes | Yes |
|
Number of tuples scanned
|
The number of rows scanned while processing the queries in the instance or node since the last sample. | Yes | Yes | Yes | Yes |
|
Number of tuples updated
|
The number of rows updated while processing the queries in the instance or node since the last sample. | Yes | Yes | Yes | Yes |
Temp data size used per databasedatabase/postgresql/temp_bytes_written_for_top_databases |
The amount of data (bytes) used in each database for executing queries
and performing algorithms such as join and sort.
|
No | Yes | Yes | No |
Temp files used per databasedatabase/postgresql/temp_files_written_for_top_databases |
The number of temporary files that are used in each database for executing
queries and performing algorithms such as join and sort.
|
No | Yes | Yes | No |
New connection count per databasedatabase/postgresql/new_connections_ |
The number of new connections that are added to the instance per database. | No | Yes | Yes | No |
Transaction countdatabase/postgresql/transaction_count |
The number of committed and rolled-back transactions that have occurred in the instance. | No | Yes | Yes | No |
Deadlock count per databasedatabase/postgresql/deadlock_count_ |
The number of deadlocks in the instance per database. | No | Yes | Yes | No |
Nodes and replication statusinstance/postgres/replication/replicas |
The number of read nodes connected to the primary instance per read pool
along with one of the following states: startup, catchup,
streaming, backup, and stopping.
|
No | No | Yes | No |
Ultra Fast Cache hit rate per instanceinstance/postgres/ultrafastcache_hitrate |
The hit rate of the AlloyDB ultra-fast cache across all the nodes in an instance. A zero value indicates either no workload being run or the traffic being served from the buffer cache or the storage layer. |
No | Yes | Yes | No |
Ultra Fast Cache hit rate per nodenode/postgres/ultrafastcache_hitrate |
The hit rate of the AlloyDB ultra-fast cache per node. A zero value indicates either no workload being run or the traffic being served from the buffer cache or the storage layer. |
No | Yes | Yes | Yes |
Node CPU usagenode/cpu/usage_time |
The rate of CPU utilization in the node, which is sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds. | No | Yes | Yes | Yes |
Node replication lagnode/postgres/replay_lag |
The lag in milliseconds for the individual node, derived from replay_lag in pg_stat_replication. This metric is sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds.
|
No | Yes | Yes | Yes |
Node database availabilitynode/postgres/uptime |
The rate of database availability in the node, which sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds. | No | Yes | Yes | Yes |
Number of connections to the node per connection statenode/postgres/backends_by_state |
The number of connections to the node grouped by the status: idle, active, idle_in_transaction, idle_in_transaction_aborted, disabled, and fastpath_function_call.For information about these statuses, see the state text row in the pg_stat_activity documentation. |
No | Yes | Yes | Yes |
Total connections per nodenode/postgres/backends |
The total number of connections across all databases in the node. | No | Yes | Yes | Yes |
Node Wait countnode/postgres/wait_count |
Total number of times processes waited for each wait event type and wait event name per node. | No | Yes | Yes | Yes |
Node Wait timenode/postgres/wait_time |
Total elapsed wait time (microseconds) for each wait event type and wait event name per node. | No | Yes | Yes | Yes |
|
Limit on connections per node
|
The current limit on the number of connections per node of the instance or for an individual node. | Yes | Yes | Yes | Yes |
Additionally, the Cloud Logging metric, Log entries by severity (logging.googleapis.com/log_entry_count),
shows the total numbers of error and warning log entries per instance. These
are extracted from postgres.log, which is the database log, and
pgaudit.log, which contains data access information.
For more information, see AlloyDB metrics.