GCP Cloud Spanner is a fully managed, mission-critical, relational database service that offers transactional consistency at global scale, automatic, synchronous replication for high availability, and support for two SQL dialects: GoogleSQL (ANSI 2011 with extensions) and PostgreSQL.

Cisco Cloud Observability supports monitoring the following GCP Cloud Spanner entities:

  • Instance: An allocation of resources that is used by Spanner databases created in that instance.
  • Database: A container for your tables, views, and indexes. Each Cloud Spanner instance can have multiple databases.

You must configure cloud connections to monitor this entity. See Configure Google Cloud Platform Connection.

Cisco Cloud Observability displays GCP entities on the Observe page. Metrics are displayed for specific entity instances in the list and detail views.

This document contains references to third-party documentation. Splunk AppDynamics does not own any rights and assumes no responsibility for the accuracy or completeness of such third-party documentation.

Detail View 

To display the detail view of a GCP Cloud Spanner entity:

  1. Navigate to the Observe page.
  2. Under Database & Storage, click GCP Spanner Instances.
    The list view is now displayed.
  3. From the list, click an entity Name to display the detail view.
    The detail view displays metrics, key performance indicators, and properties (attributes) related to the instance you selected.
  1. Navigate to the Observe page.
  2. Under Database & Storage, click GCP Spanner Instances.
    The list view is now displayed.
  3. In the left-hand Relationships map, click GCP Spanner Databases.
    The list view is now displayed.
  4. From the list, click an entity Name to display the detail view.
    The detail view displays metrics, key performance indicators, and properties (attributes) related to the instance you selected.

Metrics and Key Performance Indicators 

Cisco Cloud Observability displays the following metrics and key performance indicators (KPIs) for GCP Cloud Spanner entities. See Google Cloud metrics.

Some GCP metrics have been modified in Cisco Cloud Observability. Metric display names and descriptions may differ from the source metric.

Display NameSource Metric NameDescription

API Requests (Count)

api/api_request_count

The count of Cloud Spanner API requests.

API Request Rate (Requests/s)

api/request_count

The rate of the Cloud Spanner API requests.

Request Latencies by Transaction Type (s)

api/request_latencies_by_transaction_type

The 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.

Smoothed CPU Utilization (%)


instance/cpu/smoothed_utilization

The 24-hour smoothed utilization of provisioned CPU. Values are typically numbers between 0.0 and 1.0 (but can exceed 1.0). Charts display the values as a percentage between 0% and 100% or more.

CPU Utilization (%)

instance/cpu/utilization_by_operation_type

The percent utilization of provisioned CPU. Values are typically numbers between 0.0 and 1.0 (but can exceed 1.0). Charts display the values as a percentage between 0% and 100% or more.

Leader Percentage by Region (%)

instance/leader_percentage_by_region

The percentage of leaders by cloud region. Values are typically numbers between 0.0 and 1.0, charts display the values as a percentage between 0% and 100%.

Sessions (Count)


instance/session_count

The number of sessions in use.

Lock Wait Time (s)

lock_stat/total/lock_wait_time

The total lock wait time for lock conflicts recorded for the entire database.

Queries (Count)

query_count

The count of queries by database name, status, query type, and used optimizer version.

Bytes Returned (By)

query_stat/total/bytes_returned_count

The number of data bytes that the queries returned, excluding transmission encoding overhead.

read_stat/total/bytes_returned_count

The total number of data bytes that the reads returned, excluding transmission encoding overhead.

CPU Time (s)

query_stat/total/cpu_time

The number of seconds of CPU time the Cloud Spanner spent on operations to execute the queries.

read_stat/total/cpu_time

The number of seconds of CPU time the Cloud Spanner spent executing the reads, excluding prefetch CPU and other overhead.

Executions (Count)

query_stat/total/execution_count

The number of times the Cloud Spanner saw queries during the interval.

read_stat/total/execution_count

The number of times the Cloud Spanner executed the read shapes during the interval.

Query Failures (Count)

query_stat/total/failed_execution_count

The number of times queries failed during the interval.

Query Latency (s)

query_stat/total/query_latencies

The distribution of total length of time, in seconds, for query executions within the database.

Remote Service Calls (Count)

query_stat/total/remote_service_calls_count

The count of remote service calls.

Remote Service Calls Latency (ms)

query_stat/total/remote_service_calls_latencies

The latency of remote service calls.

Remote Service Network Bytes (By)

query_stat/total/remote_service_network_bytes_sizes

The network bytes exchanged with remote services.

Remote Service Rows (Count)

query_stat/total/remote_service_processed_rows_count

The count of rows processed by a remote service.

Remote Service Rows Latencies (ms)

query_stat/total/remote_service_processed_rows_latencies

The latency of rows processed by a remote service.

Query Rows Returned/Scanned (Count)


  • query_stat/total/returned_rows_count
  • query_stat/total/scanned_rows_count

The number of rows that the queries returned/scanned, excluding deleted values.

Client Wait Time (s)

read_stat/total/client_wait_time

The number of seconds spent waiting due to throttling.

Locking Delays (s)

read_stat/total/locking_delays

The distribution of total time in seconds spent waiting due to locking.

Read Rows Returned (Count)

read_stat/total/returned_rows_count

The number of rows that the reads returned.

Rows Deleted (Count)

row_deletion_policy/deleted_rows_count

The count of rows deleted by the policy since the last sample.

Processed Watermark Age (s)

row_deletion_policy/processed_watermark_age

The time between the current time and the read timestamp of the last successful execution. An execution happens as the background task deletes eligible data in batches and is successful even when there are rows that cannot be deleted.

Total Number of Undeletable Rows

row_deletion_policy/undeletable_rows

The number of rows in all tables in the database that cannot be deleted. For example, a row cannot be deleted if it has so many child rows that a delete would exceed the transaction limit.

Bytes Written (By)

transaction_stat/total/bytes_written_count

The number of bytes written by transactions.

Transaction Commit Attempts (Count)

transaction_stat/total/commit_attempt_count

The number of commit attempts for transactions.

Transaction Commit Retries (Count)

transaction_stat/total/commit_retry_count

The number of commit attempts that are retries from previously aborted transaction attempts.

Transaction Participants (Count)

transaction_stat/total/participants

The distribution of total number of participants in each commit attempt.

Transaction Latency (s)

transaction_stat/total/transaction_latencies

The distribution of total seconds taken from the first operation of the transaction to commit or abort.

Processing Unit Second

instance/data_boost/processing_unit_second_count

The total processing units used for DataBoost operations.


Nodes (Count)

instance/node_count


The total number of nodes.


Processing Units (Count)


instance/processing_units

The total number of processing units.


Network Throughput (By)

api/received_bytes_count

The uncompressed request bytes received by the Cloud Spanner.

api/sent_bytes_count

The uncompressed response bytes sent by the Cloud Spanner.

Backup Storage Used (By)

instance/backup/used_bytes

The backup storage used in bytes.

Memory Usage (%)

instance/disk_load

The percent utilization of HDD disk load in an instance. Values are typically numbers between 0.0 and 1.0 (but can exceed 1.0). Charts display the values as a percentage between 0% and 100% or more.

Storage Used (By)


instance/storage/used_bytes

The storage used in bytes.

Data Storage Space Allocated (By)

instance/storage/limit_bytes

The storage limit for an instance in bytes.


Storage Utilization (%)

instance/storage/utilization


The storage used as a fraction of the storage limit.


Display NameSource Metric NameDescription

API Requests (Count)

api/api_request_count

The count of Cloud Spanner API requests.

API Request Rate (Requests/s)

api/request_count

The rate of Cloud Spanner API requests.

Request Latencies by Transaction Type (s)

api/request_latencies_by_transaction_type

The 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.

Smoothed CPU Utilization (%)

instance/cpu/smoothed_utilization

The 24-hour smoothed utilization of provisioned CPU. Values are typically numbers between 0.0 and 1.0 (but can exceed 1.0). Charts display the values as a percentage between 0% and 100% or more.

CPU Utilization (%)

instance/cpu/utilization_by_operation_type

The percent utilization of provisioned CPU. Values are typically numbers between 0.0 and 1.0 (but can exceed 1.0). Charts display the values as a percentage between 0% and 100% or more.

Leader Percentage by Region (%)

instance/leader_percentage_by_region

Percentage of leaders by cloud region. Values are typically numbers between 0.0 and 1.0, charts display the values as a percentage between 0% and 100%.

Sessions (Count)

instance/session_count

The number of sessions in use.

Lock Wait Time (s)

lock_stat/total/lock_wait_time

The total lock wait time for lock conflicts recorded for the entire database.

Queries (Count)

query_count

The count of queries by database name, status, query type, and used optimizer version.

Bytes Returned (By)

query_stat/total/bytes_returned_count

The number of data bytes that the queries returned, excluding transmission encoding overhead.

read_stat/total/bytes_returned_count

The total number of data bytes that the reads returned, excluding transmission encoding overhead.

CPU Time (s)

query_stat/total/cpu_time

The number of seconds of CPU time the Cloud Spanner spent on operations to execute the queries.

read_stat/total/cpu_time

The number of seconds of CPU time the Cloud Spanner spent executing the reads, excluding prefetch CPU and other overhead.

Executions (Count)

query_stat/total/execution_count

The number of times the Cloud Spanner saw queries during the interval.

read_stat/total/execution_count

The number of times the Cloud Spanner executed the read shapes during the interval.

Query Failures (Count)

query_stat/total/failed_execution_count

The number of times queries failed during the interval.

Query Latency (s)

query_stat/total/query_latencies

The distribution of total length of time, in seconds, for query executions within the database.

Remote Service Calls (Count)

query_stat/total/remote_service_calls_count

The count of remote service calls.

Remote Service Calls Latency (ms)

query_stat/total/remote_service_calls_latencies

Latency of remote service calls.

Remote Service Network Bytes (By)

query_stat/total/remote_service_network_bytes_sizes

Network bytes exchanged with remote service.

Remote Service Rows (Count)

query_stat/total/remote_service_processed_rows_count

The count of rows processed by a remote service.

Remote Service Rows Latency (ms)

query_stat/total/remote_service_processed_rows_latencies

The latency of rows processed by a remote service.

Query Rows Returned/Scanned (Count)

  • query_stat/total/returned_rows_count
  • query_stat/total/scanned_rows_count

The number of rows that the queries returned/scanned, excluding deleted values.

Client Wait Time (s)

read_stat/total/client_wait_time

The number of seconds spent waiting due to throttling.

Locking Delays (s)

read_stat/total/locking_delays

The distribution of total time in seconds spent waiting due to locking.

Read Rows Returned (Count)

read_stat/total/returned_rows_count

The number of rows that the reads returned.

Rows Deleted (Count)

row_deletion_policy/deleted_rows_count

The count of rows deleted by the policy since the last sample.

Processed Watermark Age (s)

row_deletion_policy/processed_watermark_age

The time between the current time and the read timestamp of the last successful execution. An execution happens as the background task deletes eligible data in batches and is successful even when there are rows that cannot be deleted.

Total Number of Undeletable Rows

row_deletion_policy/undeletable_rows

The number of rows in all tables in the database that cannot be deleted. For example, a row cannot be deleted if it has so many child rows that a delete would exceed the transaction limit.

Bytes Written (By)

transaction_stat/total/bytes_written_count

The number of bytes written by transactions.

Transaction Commit Attempts (Count)

transaction_stat/total/commit_attempt_count

The number of commit attempts for transactions.

Transaction Commit Retries (Count)

transaction_stat/total/commit_retry_count

The number of commit attempts that are retries from previously aborted transaction attempts.

Transaction Participants (Count)

transaction_stat/total/participants

The distribution of total number of participants in each commit attempt.

Transaction Latency (s)

transaction_stat/total/transaction_latencies

The distribution of total seconds taken from the first operation of the transaction to commit or abort.

Bytes Received/Sent by Cloud Spanner

api/received_bytes_count

The uncompressed request bytes received by the Cloud Spanner.

api/sent_bytes_count

The uncompressed request bytes sent by the Cloud Spanner.

Backup Storage Used (By)

instance/backup/used_bytes

The backup storage used in bytes.

Disk Load (%)

instance/disk_load

The 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).

Storage Used (By)

instance/storage/used_bytes

The storage used in bytes.

Properties (Attributes)

Cisco Cloud Observability displays the following properties for GCP Cloud Spanner entities.

Display NameSource Property NameDescription

ID

name


A unique identifier for the instance, which cannot be changed after the instance is created. The value is in the format projects/<project>/instances/[a-z][-a-z0-9]*[a-z0-9]. The final segment of the name must be between 2-64 characters in length.

Name

displayName

The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4-30 characters in length.

Project ID-The ID of the GCP project.
Region

config

The geographical region the resource is running.

State

state

The current instance state. For instances.create, the state must either be omitted or set to CREATING. For instances.patch, the state must either be omitted or set to READY. This field is an enum with following possible values:

  • STATE_UNSPECIFIED
  • CREATING
  • READY

Create Time

createTime

Output only. The time that the instance was created.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.

Examples:

  • 2014-10-02T15:01:23Z
  • 2014-10-02T15:01:23.045123456Z

Update Time

updateTime

The time that the instance was most recently updated.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples:

  • 2014-10-02T15:01:23Z
  • 2014-10-02T15:01:23.045123456Z

Processing Units

processingUnits

The number of processing units allocated to this instance. A maximum of one processingUnits or nodeCount should be present in the message. This may be 0 in API responses for instances that are not yet in state READY.

Nodes (Count)

nodeCount

The number of nodes allocated to this instance. A maximum of one nodeCount or processingUnits should be present in the message. This value may be 0 in API responses for instances that are not yet in one of the following states:

  • READY
  • STATE_UNSPECIFIED
  • CREATING
  • READY
Display NameSource Property NameDescription

ID

Name

The ID of the database. This value is in the format projects/<project>/instances/<instance>/databases/<database>, where <database> is as specified in the CREATE DATABASE statement. This name can be passed to other API methods to identify the database.

Name

-



The name of the database that will be parsed from the ID.

Project ID-The ID of the GCP project.
Region

config

The geographical region the resource is running.

Instance Name

-

The name of the instance where the database is deployed.

Dialect

databaseDialect

The dialect of the Cloud Spanner database. An enum with following possible values:

  • DATABASE_DIALECT_UNSPECIFIED
  • GOOGLE_STANDARD_SQL
  • POSTGRESQL

Create Time

createTime


If this property exists, it denotes the time that the database creation started.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples:

  • 2014-10-02T15:01:23Z
  • 2014-10-02T15:01:23.045123456Z

Version Retention Period

versionRetentionPeriod


The period of time that the Cloud Spanner retains all versions of data for the database. This value is the same as the value of the versionRetentionPeriod database option, which is set using databases.updateDdl. If not set, this value defaults to 1 hour.

Earliest Version Time

earliestVersionTime


The earliest timestamp that older versions of the data can be read. This value is continuously updated by the Cloud Spanner and becomes stale the moment it is queried. If you are using this value to recover data, ensure that you account for the time from the moment when the value is queried to the moment when you initiate the recovery.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples:

  • 2014-10-02T15:01:23Z
  • 2014-10-02T15:01:23.045123456Z

State

state

The current database state. An enum with following possible values:

  • STATE_UNSPECIFIED
  • CREATING
  • READY
  • READY_OPTIMIZING

Enable Drop Protection

enableDropProtection

Specifies whether drop protection is enabled for this database. If not set, defaults to false. For more details, see how to prevent accidental database deletion.

Reconciling


reconciling


If true, the database is being updated. If false, there are no ongoing update operations for the database.


Retention and Purge Time-To-Live (TTL)

For all cloud and infrastructure entities, the retention TTL is 180 minutes (3 hours) and the purge TTL is 525,600 minutes (365 days). 

Third party names, logos, marks, and general references used in these materials are the property of their respective owners or their affiliates in the United States and/or other countries. Inclusion of such references are for informational purposes only and are not intended to promote or otherwise suggest a relationship between Splunk AppDynamics and the third party.