Metrics

The following Spanner metrics are provided to Cloud Monitoring. For the best performance debugging results, use server-side metrics with client-side metrics.

The "metric type" strings in this table must be prefixed with spanner.googleapis.com/. That prefix has been omitted from the entries in the table. When querying a label, use the metric.labels. prefix; for example, metric.labels.LABEL="VALUE".

Metric type Launch stage(Resource hierarchy levels)
Display name
Kind, Type, Unit
Monitored resources
Description
Labels
api/adapter_request_count GA(project)
Adapter API requests
DELTAINT641
spanner_instance
Cloud Spanner Adapter API requests. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
database: Target database.
status: Request call result, ok=success.
method: Cloud Spanner Adapter API method.
protocol: Adapter protocol.
message_type: Adapter protocol message type.
adapter_status: Adapter protocol request result.
op_type: Operation type.
api/adapter_request_latencies GA(project)
Adapter request latencies
DELTADISTRIBUTIONs
spanner_instance
Distribution of server request latencies for a database. This includes latency of request processing in Cloud Spanner backends and API layer. It does not include network or reverse-proxy overhead between clients and servers. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
database: Target database.
method: Cloud Spanner Adapter API method.
protocol: Adapter protocol.
message_type: Adapter protocol message type.
op_type: Operation type.
api/api_request_count GA(project)
API requests
DELTAINT641
spanner_instance
Cloud Spanner API requests. Sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds.
database: Target database.
status: Request call result, ok=success.
method: Cloud Spanner API method.
api/mcp_request_count GA(project)
MCP request rate
DELTAINT641
spanner_instance
Rate of Cloud Spanner MCP requests. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
status: Request call result, ok=success.
tool: The name of the MCP tool.
database: Target database.
api/mcp_request_latencies GA(project)
MCP request latencies
DELTADISTRIBUTIONs
spanner_instance
Distribution of MCP request latencies. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
tool: The name of the MCP tool.
database: Target database.
api/read_request_count_by_serving_location BETA(project)
Read API request by serving location
DELTAINT641
spanner_instance
Cloud Spanner Read API requests by serving location, whether it is a directed read query, and whether it is a change stream query. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
database: Target database.
method: Cloud Spanner API method.
is_change_stream: (BOOL) TRUE if it is a change stream query.
is_directed_read: (BOOL) TRUE if it is a directed read query.
status: Request call result, OK=success.
serving_location: The location of serving replicas.
api/read_request_latencies_by_change_stream GA(project)
Read request latencies by change stream
DELTADISTRIBUTIONs
spanner_instance
Distribution of read request latencies by whether it is a change stream query. This includes latency of request processing in Cloud Spanner backends and API layer. It does not include network or reverse-proxy overhead between clients and servers. Sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds.
database: Target database.
method: Cloud Spanner API method.
is_change_stream: (BOOL) TRUE if it is a change stream query.
api/read_request_latencies_by_serving_location BETA(project)
Read API request latencies by serving location
DELTADISTRIBUTIONs
spanner_instance
Distribution of read request latencies by serving location, whether it is a directed read query, and whether it is a change stream query. This includes latency of request processing in Cloud Spanner backends and API layer. It does not include network or reverse-proxy overhead between clients and servers. This is a superset of spanner.googleapis.com/api/read_request_latencies_by_change_stream. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
database: Target database.
method: Cloud Spanner API method.
is_change_stream: (BOOL) TRUE if it is a change stream query.
is_directed_read: (BOOL) TRUE if it is a directed read query.
serving_location: The location of serving replicas.
api/received_bytes_count GA(project)
Bytes received by Cloud Spanner
DELTAINT64By
spanner_instance
Uncompressed request bytes received by Cloud Spanner. Sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds.
database: Target database.
method: Cloud Spanner API method.
api/request_count GA(project)
API request rate
GAUGEDOUBLE1/s
spanner_instance
Rate of Cloud Spanner API requests. Sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds.
database: Target database.
status: Request call result, ok=success.
method: Cloud Spanner API method.
api/request_count_per_protocol GA(project)
API request rate per protocol
DELTAINT641
spanner_instance
Rate of Cloud Spanner API requests per protocol. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
status: Request call result, ok=success.
region: The region where the request was served.
protocol: Protocl used for this request.
method: Cloud Spanner API method.
response_code: (INT64) HTTP response code received, such as 200 or 500.
op_type: Operation type.
database: Target database.
api/request_count_per_transaction_options GA(project)
API requests by transaction options
GAUGEDOUBLE1/s
spanner_instance
Cloud Spanner API request rate by transaction options. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
database: Target database.
method: Cloud Spanner API method.
status: Request call result, ok=success.
op_type: Operation type ("read", "write" or "other").
response_code: HTTP response code received, such as 200 or 500.
lock_mode: The read lock mode used if within a read-write transaction ("PESSIMISTIC" or "OPTIMISTIC").
isolation_level: The isolation level used if within a read-write transaction ("SERIALIZABLE" or "REPEATABLE_READ").
region: The region where the request was served.
transaction_type: Transaction type ("READ_ONLY", "READ_WRITE", "PARTITIONED_DML" or "NONE").
api/request_latencies GA(project)
Request latencies
DELTADISTRIBUTIONs
spanner_instance
Distribution of server request latencies for a database. This includes latency of request processing in Cloud Spanner backends and API layer. It does not include network or reverse-proxy overhead between clients and servers. Sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds.
database: Target database.
method: Cloud Spanner API method.
api/request_latencies_by_transaction_type GA(project)
Request latencies by transaction type
DELTADISTRIBUTIONs
spanner_instance
Distribution of server request latencies by transaction types. This includes latency of request processing in Cloud Spanner backends and API layer. It does not include network or reverse-proxy overhead between clients and servers. Sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds.
database: Target database.
method: Cloud Spanner API method.
transaction_type: Transaction type ("READ_ONLY" or "READ_WRITE").
is_leader_involved: (BOOL) TRUE if the leader roundtrip call is issued.
api/request_latencies_per_protocol GA(project)
Request latencies per protocol
DELTADISTRIBUTIONs
spanner_instance
Distribution of server request latencies for a database per protocol. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
region: The region where the request was served.
protocol: Protocl used for this request.
method: Cloud Spanner API method.
op_type: Operation type.
database: Target database.
api/request_latencies_per_transaction_options GA(project)
Request latencies by transaction options
DELTADISTRIBUTIONs
spanner_instance
Distribution of server request latencies by transaction options for a database. This includes latency of request processing in Cloud Spanner backends and API layer. It does not include network or reverse-proxy overhead between clients and servers. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
database: Target database.
method: Cloud Spanner API method.
op_type: Operation type ("read", "write" or "other").
lock_mode: The read lock mode used if within a read-write transaction ("PESSIMISTIC" or "OPTIMISTIC").
isolation_level: The isolation level used if within a read-write transaction ("SERIALIZABLE" or "REPEATABLE_READ").
is_leader_involved: (BOOL) TRUE if the leader roundtrip call is issued.
region: The region where the request was served.
transaction_type: Transaction type ("READ_ONLY", "READ_WRITE", "PARTITIONED_DML" or "NONE").
api/sent_bytes_count GA(project)
Bytes sent by Cloud Spanner
DELTAINT64By
spanner_instance
Uncompressed response bytes sent by Cloud Spanner. Sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds.
database: Target database.
method: Cloud Spanner API method.
client/afe_connectivity_error_count GA(project)
AFE Connectivity Error Count
DELTAINT641
spanner_instance
Number of requests that failed to reach the Spanner API Frontend. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
method: Cloud Spanner API method.
database: Target database.
status: Cloud Spanner operation status.
client_name: Cloud Spanner client name.
directpath_enabled: (BOOL) True if directpath is enabled.
directpath_used: (BOOL) True if directpath is used for the RPC request.
client/afe_latencies GA(project)
AFE Latencies
DELTADISTRIBUTIONms
spanner_instance
Latency between Spanner API Frontend receiving an RPC and starting to write back the response. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
method: Cloud Spanner API method.
database: Target database.
status: Cloud Spanner operation status.
client_name: Cloud Spanner client name.
directpath_enabled: (BOOL) True if directpath is enabled.
directpath_used: (BOOL) True if directpath is used for the RPC request.
client/attempt_count GA(project)
Attempt Count
DELTAINT641
spanner_instance
The total number of RPC attempt performed by the Spanner client. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
method: Cloud Spanner API method.
database: Target database.
status: Cloud Spanner attempt status.
client_name: Cloud Spanner client name.
directpath_enabled: (BOOL) True if directpath is enabled.
directpath_used: (BOOL) True if directpath is used for the RPC request.
client/attempt_latencies GA(project)
Attempt Latencies
DELTADISTRIBUTIONms
spanner_instance
Distribution of the total end-to-end latency across a RPC attempt. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
method: Cloud Spanner API method.
database: Target database.
status: Cloud Spanner attempt status.
client_name: Cloud Spanner client name.
directpath_enabled: (BOOL) True if directpath is enabled.
directpath_used: (BOOL) True if directpath is used for the RPC request.
client/gfe_connectivity_error_count GA(project)
GFE Connectivity Error Count
DELTAINT641
spanner_instance
Number of requests that failed to reach the Google network. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
method: Cloud Spanner API method.
database: Target database.
status: Cloud Spanner operation status.
client_name: Cloud Spanner client name.
directpath_enabled: (BOOL) True if directpath is enabled.
directpath_used: (BOOL) True if directpath is used for the RPC request.
client/gfe_latencies GA(project)
GFE Latencies
DELTADISTRIBUTIONms
spanner_instance
Latency between Google network(GFE) receiving an RPC and reading back the first byte of the response. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
method: Cloud Spanner API method.
database: Target database.
status: Cloud Spanner operation status.
client_name: Cloud Spanner client name.
directpath_enabled: (BOOL) True if directpath is enabled.
directpath_used: (BOOL) True if directpath is used for the RPC request.
client/operation_count GA(project)
Operation Count
DELTAINT641
spanner_instance
The total number of operations performed by the Spanner client. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
method: Cloud Spanner API method.
database: Target database.
status: Cloud Spanner operation status.
client_name: Cloud Spanner client name.
directpath_enabled: (BOOL) True if directpath is enabled.
directpath_used: (BOOL) True if directpath is used for the RPC request.
client/operation_latencies GA(project)
Operation Latencies
DELTADISTRIBUTIONms
spanner_instance
Distribution of the total end-to-end latency across all RPC attempts associated with a Spanner operation. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
method: Cloud Spanner API method.
database: Target database.
status: Cloud Spanner operation status.
client_name: Cloud Spanner client name.
directpath_enabled: (BOOL) True if directpath is enabled.
directpath_used: (BOOL) True if directpath is used for the RPC request.
graph_algorithm_stat/total/execution_count GA(project)
Graph algorithm execution count
DELTAINT641
spanner_instance
Total graph algorithm requests received by Cloud Spanner during the time interval. Sampled every 60 seconds. After sampling, data is not visible for up to 150 seconds.
database: Target database.
algorithm: Graph algorithm executed.
graph_algorithm_stat/total/execution_durations GA(project)
Graph algorithm durations
DELTADISTRIBUTIONs
spanner_instance
Distribution of graph algorithm execution times (in seconds) within the database. Sampled every 60 seconds. After sampling, data is not visible for up to 150 seconds.
database: Target database.
algorithm: Graph algorithm executed.
graph_algorithm_stat/total/failed_execution_count GA(project)
Graph algorithm failed count
DELTAINT641
spanner_instance
Total failed graph algorithm requests in Cloud Spanner during the time interval. Sampled every 60 seconds. After sampling, data is not visible for up to 150 seconds.
database: Target database.
algorithm: Graph algorithm executed.
status: failed status, one of [cancelled, timeout, error].
graph_query_stat/total/bytes_returned_count GA(project)
Graph query bytes returned count
DELTAINT64By
spanner_instance
Number of data bytes that the graph queries returned, excluding transmission encoding overhead. Sampled every 60 seconds. After sampling, data is not visible for up to 150 seconds.
database: Target database.
graph_query_stat/total/execution_count GA(project)
Graph query execution count
DELTAINT641
spanner_instance
Number of times Cloud Spanner saw graph queries during the interval. Sampled every 60 seconds. After sampling, data is not visible for up to 150 seconds.
database: Target database.
graph_query_stat/total/failed_execution_count GA(project)
Graph query failures
DELTAINT641
spanner_instance
Number of times graph queries failed during the interval. Sampled every 60 seconds. After sampling, data is not visible for up to 150 seconds.
database: Target database.
status: failed status, one of [cancelled, timeout, error].
graph_query_stat/total/query_latencies GA(project)
Graph query latencies
DELTADISTRIBUTIONs
spanner_instance
Distribution of total length of time, in seconds, for graph query executions within the database. Sampled every 60 seconds. After sampling, data is not visible for up to 150 seconds.
database: Target database.
graph_query_stat/total/returned_rows_count GA(project)
Graph query rows returned count
DELTAINT641
spanner_instance
Number of rows that the graph queries returned. Sampled every 60 seconds. After sampling, data is not visible for up to 150 seconds.
database: Target database.
graph_query_stat/total/scanned_rows_count GA(project)
Graph query rows scanned count
DELTAINT641
spanner_instance
Number of rows that the graph queries scanned excluding deleted values. Sampled every 60 seconds. After sampling, data is not visible for up to 150 seconds.
database: Target database.
instance/autoscaling/high_priority_cpu_utilization_target GA(project)
Autoscaling high priority cpu utilization target
GAUGEDOUBLE10^2.%
spanner_instance
High priority CPU utilization target used for autoscaling. Sampled every 60 seconds. After sampling, data is not visible for up to 210 seconds.
instance/autoscaling/max_node_count GA(project)
Autoscaling max nodes
GAUGEINT641
spanner_instance
Maximum number of nodes autoscaler is allowed to allocate to the instance. Sampled every 60 seconds. After sampling, data is not visible for up to 210 seconds.
instance/autoscaling/max_processing_units GA(project)
Autoscaling max processing units
GAUGEINT641
spanner_instance
Maximum number of processing units autoscaler is allowed to allocate to the instance. Sampled every 60 seconds. After sampling, data is not visible for up to 210 seconds.
instance/autoscaling/min_node_count GA(project)
Autoscaling min nodes
GAUGEINT641
spanner_instance
Minimum number of nodes autoscaler is allowed to allocate to the instance. Sampled every 60 seconds. After sampling, data is not visible for up to 210 seconds.
instance/autoscaling/min_processing_units GA(project)
Autoscaling min processing units
GAUGEINT641
spanner_instance
Minimum number of processing units autoscaler is allowed to allocate to the instance. Sampled every 60 seconds. After sampling, data is not visible for up to 210 seconds.
instance/autoscaling/storage_utilization_target GA(project)
Autoscaling storage utilization target
GAUGEDOUBLE10^2.%
spanner_instance
Storage utilization target used for autoscaling. Sampled every 60 seconds. After sampling, data is not visible for up to 210 seconds.
instance/autoscaling/total_cpu_utilization_target GA(project)
Autoscaling total cpu utilization target
GAUGEDOUBLE10^2.%
spanner_instance
Total CPU utilization target used for autoscaling. Sampled every 60 seconds. After sampling, data is not visible for up to 210 seconds.
instance/backup/used_bytes GA(project)
Backup storage used
GAUGEINT64By
spanner_instance
Backup storage used in bytes. Sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds.
database: Target database.
backup: Target backup.
instance/cpu/smoothed_utilization GA(project)
Smoothed CPU utilization
GAUGEDOUBLE10^2.%
spanner_instance
24-hour smoothed utilization of provisioned CPU. Values are typically numbers between 0.0 and 1.0 (but might exceed 1.0), charts display the values as a percentage between 0% and 100% (or more). Sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds.
database: Target database.
instance/cpu/utilization GA(project)
CPU utilization
GAUGEDOUBLE10^2.%
spanner_instance
Percent utilization of provisioned CPU. Values are typically numbers between 0.0 and 1.0 (but might exceed 1.0), charts display the values as a percentage between 0% and 100% (or more). Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
database: Target database.
instance/cpu/utilization_by_operation_type GA(project)
CPU utilization by operation type
GAUGEDOUBLE10^2.%
spanner_instance
Percent utilization of provisioned CPU, by operation type. Values are typically numbers between 0.0 and 1.0 (but might exceed 1.0), charts display the values as a percentage between 0% and 100% (or more). Currently, it does not include CPU utilization for system tasks. Sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds.
database: Target database.
is_system: (BOOL) TRUE if the number is system CPU utilization.
priority: Task priority ("high" or "medium" or "low").
category: Operation type ("read_readonly", "beginorcommit" etc).
instance/cpu/utilization_by_priority GA(project)
CPU utilization by priority
GAUGEDOUBLE10^2.%
spanner_instance
Percent utilization of provisioned CPU, by priority. Values are typically numbers between 0.0 and 1.0 (but might exceed 1.0), charts display the values as a percentage between 0% and 100% (or more). Sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds.
database: Target database.
is_system: (BOOL) TRUE if the number is system CPU utilization.
priority: Task priority ("high", "medium", or "low").
instance/cross_region_replicated_bytes_count GA(project)
Cross region replicated bytes
DELTAINT64By
spanner_instance
Number of bytes replicated from preferred leader to replicas across regions. Sampled every 60 seconds. After sampling, data is not visible for up to 240 seconds.
database: Target database.
source_region: Preferred leader region.
destination_region: Cloud Spanner region the data is replicated to.
tag: Type of transaction contributing to replication.
instance/data_boost/processing_unit_second_count GA(project)
Processing unit second
DELTAINT641
spanner_instance
Total processing units used for DataBoost operations. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
credential_id: The IAM credential ID.
instance/disk_load GA(project)
Disk load
GAUGEDOUBLE10^2.%
spanner_instance
Percent utilization of HDD disk load in an instance. Values are typically numbers between 0.0 and 1.0 (but might exceed 1.0), charts display the values as a percentage between 0% and 100% (or more). Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
database: Target database.
instance/dual_region_quorum_availability GA(project)
Dual Region Quorum Availability
GAUGEBOOL1
spanner_instance
Quorum availability signal for dual region instance configs. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.
quorum_availability: Quorum availability level.
instance/edition/feature_usage GA(project)