System insights metrics reference

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 state
database/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 latency
database/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 load
database/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 utilization
instance/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 utilization
instance/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

  • instance/memory/min_available_memory
  • node/memory/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 storage
cluster/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 time
database/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 connections
instance/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

  • instance/postgresql/written_tuples_count
  • node/postgres/written_tuples_count
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
  • database/postgresql/
    inserted_tuples_count_for_top_databases
  • database/postgresql/
    updated_tuples_count_for_top_databases
  • database/postgresql/
    deleted_tuples_count_for_top_databases
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 age
postgresql/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 utilization
postgresql/vacuum/
transaction_id_utilization
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 time
instance/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 count
instance/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

  • instance/postgresql/temp_bytes_written_count
  • node/postgres/temp_bytes_written_count
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

  • instance/postgresql/temp_files_written_count
  • node/postgres/temp_files_written_count
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

  • instance/postgresql/new_connections_count
  • node/postgres/new_connections_count
The total number of new connections added to the instance or node.
Yes
Yes
Yes
Yes
Statements executed count
database/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

  • instance/postgres/transaction_count
  • node/postgres/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

  • instance/postgresql/blks_hit
  • node/postgres/blks_hit
The number of times Postgres found the requested block in the buffer cache.
Yes
Yes
Yes
Yes

Blocks miss

  • instance/postgresql/blks_read
  • node/postgres/blks_read
The total number of blocks read by Postgres that were not in the buffer cache.
Yes
Yes
Yes
Yes

Deadlock count

  • instance/postgresql/deadlock_count
  • node/postgres/deadlock_count
The number of deadlocks detected in each instance or node.
Yes
Yes
Yes
Yes
Read pool replication lag
instance/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 nodes
instance/postgres/instances
The number of nodes that can serve user traffic.
Yes
No
Yes
No
Connections per database
database/postgresql/backends_for_top_databases
The number of connections to the instance per database.
No
Yes
Yes
No

Number of connections per application

  • instance/postgresql/backends_for_top_applications
  • node/postgres/backends_for_top_applications
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

  • instance/postgresql/deleted_tuples_count
  • node/postgres/deleted_tuples_count
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

  • instance/postgresql/fetched_tuples_count
  • node/postgres/fetched_tuples_count
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

  • instance/postgresql/inserted_tuples_count
  • node/postgres/inserted_tuples_count
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

  • instance/postgresql/returned_tuples_count
  • node/postgres/returned_tuples_count
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

  • instance/postgresql/updated_tuples_count
  • node/postgres/updated_tuples_count
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 database
database/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 database
database/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 database
database/postgresql/new_connections_
for_top_databases
The number of new connections that are added to the instance per database.
No
Yes
Yes
No
Transaction count
database/postgresql/transaction_count
The number of committed and rolled-back transactions that have occurred in the instance.
No
Yes
Yes
No
Deadlock count per database
database/postgresql/deadlock_count_
for_top_databases
The number of deadlocks in the instance per database.
No
Yes
Yes
No
Nodes and replication status
instance/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 instance
instance/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 node
node/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 usage
node/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 lag
node/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 availability
node/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 state
node/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 node
node/postgres/backends
The total number of connections across all databases in the node.
No
Yes
Yes
Yes
Node Wait count
node/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 time
node/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

  • instance/postgres/connections_limit
  • node/postgres/connections_limit
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 .

Design a Mobile Site
View Site in Mobile | Classic
Share by: