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 |
---|---|---|---|---|
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 |
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 |
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 |
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 |
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 |
Minimum available memoryinstance/memory/min_available_memory |
The minimum available memory across all serving nodes of the instance. 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. | 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 |
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 |
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 |
Rows fetched vs. rows returned vs. rows written
|
|
Yes | Yes | No |
Rows fetched vs. rows returned
|
0 because it's negligible compared to the value of
rows returned.
|
No | No | 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 |
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 |
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 |
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 |
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 |
Temp data size usedinstance/postgresql/ |
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 |
Temp files usedinstance/postgresql/temp_files_written_count |
The number of temporary files that are 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 |
New connection countinstance/postgresql/new_connections_count |
The number of new connections that are added to each instance. Only available for instances with the number of databases less than 5000. | Yes | No | No |
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 |
Transaction countinstance/postgres/transaction_count |
The number of transactions that have occurred in each instance. Only available for instances with the number of databases less than 5000. | Yes | No | No |
Block read count
|
The number of blocks read from the disk and from the buffer cache across the cluster, instance, or across all serving nodes of the read pool instance. Only available for instances with the number of databases less than 5000. | Yes | Yes | Yes |
Deadlock countinstance/postgresql/deadlock_count |
The number of deadlocks in each instance. Only available for instances with the number of databases less than 5000. | Yes | No | No |
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 |
Active nodesinstance/postgres/instances |
The number of nodes that can serve user traffic. | Yes | No | Yes |
Connections per databasedatabase/postgresql/backends_for_top_databases |
The number of connections to the instance per database. | No | Yes | Yes |
Connections per applicationinstance/postgresql/backends_for_top_applications |
The number of connections to the instance, grouped by applications.
Connections without an application name are grouped as Unknown .
|
No | Yes | Yes |
Rows processed by operation
|
The number of rows processed in the primary instance per operation such
as insert , update , or delete .
|
No | Yes | No |
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 |
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 |
New connection count per databasedatabase/postgresql/new_connections_ |
The number of new connections that are added to the instance per database. | No | Yes | Yes |
Transaction countdatabase/postgresql/transaction_count |
The number of committed and rolled-back transactions that have occurred in the instance. | No | Yes | Yes |
Deadlock count per databasedatabase/postgresql/deadlock_count_ |
The number of deadlocks in the instance per database. | No | Yes | Yes |
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 |
Ultra Fast Cache hit rate per instanceinstance/postgres/ultrafastcache_hitrate |
The hit rate of AlloyDB ultra-fast cache across all the nodes in an instance. The chart might be empty if there are no hits in the ultra-fast cache and all reads are served from the storage layer. The chart might have gaps if there are no read operations on the database or if all reads are served from the buffer cache. |
No | Yes | Yes |
Ultra Fast Cache hit rate per nodenode/postgres/ultrafastcache_hitrate |
The hit rate of AlloyDB ultra-fast cache per node. The chart might be empty if there are no hits in the ultra-fast cache and all reads are served from the storage layer. The chart might have gaps if there are no read operations on the database or if all reads are served from the buffer cache. |
No | 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 |
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 |
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 |
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 |
Total connections per nodenode/postgres/backends |
The total number of connections across all databases in the node. | No | 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 |
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 |
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.