Google Spanner

개요

Google Cloud Spanner는 강력한 일관성과 수평적 확장성을 전부 갖춘 최초이자 유일한 관계형 데이터베이스 서비스입니다.

Google Spanner 메트릭을 수집하면 다음을 할 수 있습니다.

  • Spanner 데이터베이스 성능을 가시화합니다.
  • Spanner 데이터베이스의 성능과 애플리케이션의 상관 관계를 파악합니다.

설정

메트릭 수집

설치

아직 설치하지 않았다면 먼저 Google 클라우드 플랫폼 통합을 설정합니다. 그 외 다른 설치가 필요하지 않습니다.

로그 수집

Google Cloud Spanner 로그는 Google Cloud Logging으로 수집하여 클라우드 Pub/Sub 토픽을 통해 데이터 플로우 작업으로 전송됩니다. 아직 설정하지 않았다면 Datadog 데이터 플로우 템플릿으로 로깅을 설정하세요.

해당 작업이 완료되면 Google Cloud Logging에서 Google Cloud Spanner 로그를 다음 Pub/Sub 주제로 내보냅니다.

  1. Google Cloud Logging 페이지로 이동해 Google Cloud Spanner 로그를 필터링하세요.

  2. Create Sink를 클릭하고 그에 따라 싱크 이름을 지정합니다.

  3. “Cloud Pub/Sub"를 대상으로 선택하고 해당 목적으로 생성된 Pub/Sub 주제를 선택합니다. 참고: Pub/Sub 주제는 다른 프로젝트에 있을 수 있습니다.

    Google Cloud Pub/Sub 로그를 Pub Sub로 내보내기
  4. Create를 클릭하고 확인 메시지가 나타날 때까지 기다립니다.

수집한 데이터

메트릭

gcp.spanner.api.api_request_count
(count)
Cloud Spanner API requests.
Shown as second
gcp.spanner.api.read_request_latencies_by_change_stream.avg
(count)
The average 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.
Shown as second
gcp.spanner.api.read_request_latencies_by_change_stream.samplecount
(count)
The sample count for 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.
Shown as second
gcp.spanner.api.read_request_latencies_by_change_stream.sumsqdev
(count)
The sum of squared deviation for 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.
Shown as second
gcp.spanner.api.read_request_latencies_by_serving_location.avg
(count)
The average 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.
Shown as second
gcp.spanner.api.read_request_latencies_by_serving_location.samplecount
(count)
The sample count for 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.
Shown as second
gcp.spanner.api.read_request_latencies_by_serving_location.sumsqdev
(count)
The sum of squared deviation for 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.
Shown as second
gcp.spanner.api.received_bytes_count
(count)
Uncompressed request bytes received by Cloud Spanner.
Shown as byte
gcp.spanner.api.request_count
(rate)
Rate of Cloud Spanner API requests.
Shown as request
gcp.spanner.api.request_latencies.avg
(gauge)
Average server request latencies for a database.
Shown as second
gcp.spanner.api.request_latencies.samplecount
(gauge)
Sample count of server request latencies for a database.
Shown as second
gcp.spanner.api.request_latencies.sumsqdev
(gauge)
Sum of Squared Deviation of server request latencies for a database.
Shown as second
gcp.spanner.api.request_latencies_by_transaction_type.avg
(count)
The average 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.
Shown as second
gcp.spanner.api.request_latencies_by_transaction_type.samplecount
(count)
The sample count for 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.
Shown as second
gcp.spanner.api.request_latencies_by_transaction_type.sumsqdev
(count)
The sum of squared deviation for 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.
Shown as second
gcp.spanner.api.sent_bytes_count
(count)
Uncompressed response bytes sent by Cloud Spanner.
Shown as byte
gcp.spanner.client.attempt_count
(count)
The total number of RPC attempt performed by the Spanner client.
gcp.spanner.client.attempt_latencies.avg
(count)
The average distribution of the total end-to-end latency across a RPC attempt.
Shown as millisecond
gcp.spanner.client.attempt_latencies.samplecount
(count)
The sample count for distribution of the total end-to-end latency across a RPC attempt.
Shown as millisecond
gcp.spanner.client.attempt_latencies.sumsqdev
(count)
The sum of squared deviation for distribution of the total end-to-end latency across a RPC attempt.
Shown as millisecond
gcp.spanner.client.operation_count
(count)
The total number of operations performed by the Spanner client.
gcp.spanner.client.operation_latencies.avg
(count)
The average distribution of the total end-to-end latency across all RPC attempts associated with a Spanner operation.
Shown as millisecond
gcp.spanner.client.operation_latencies.samplecount
(count)
The sample count for distribution of the total end-to-end latency across all RPC attempts associated with a Spanner operation.
Shown as millisecond
gcp.spanner.client.operation_latencies.sumsqdev
(count)
The sum of squared deviation for distribution of the total end-to-end latency across all RPC attempts associated with a Spanner operation.
Shown as millisecond
gcp.spanner.graph_query_stat.total.bytes_returned_count
(count)
Number of data bytes that the graph queries returned, excluding transmission encoding overhead.
Shown as byte
gcp.spanner.graph_query_stat.total.execution_count
(count)
Number of times Cloud Spanner saw graph queries during the interval.
gcp.spanner.graph_query_stat.total.failed_execution_count
(count)
Number of times graph queries failed during the interval.
gcp.spanner.graph_query_stat.total.query_latencies.avg
(count)
The average distribution of total length of time, in seconds, for graph query executions within the database.
Shown as second
gcp.spanner.graph_query_stat.total.query_latencies.samplecount
(count)
The sample count for distribution of total length of time, in seconds, for graph query executions within the database.
Shown as second
gcp.spanner.graph_query_stat.total.query_latencies.sumsqdev
(count)
The sum of squared deviation for distribution of total length of time, in seconds, for graph query executions within the database.
Shown as second
gcp.spanner.graph_query_stat.total.returned_rows_count
(count)
Number of rows that the graph queries returned.
gcp.spanner.graph_query_stat.total.scanned_rows_count
(count)
Number of rows that the graph queries scanned excluding deleted values.
gcp.spanner.instance.autoscaling.high_priority_cpu_utilization_target
(gauge)
High priority CPU utilization target used for autoscaling.
gcp.spanner.instance.autoscaling.max_node_count
(gauge)
Maximum number of nodes autoscaler is allowed to allocate to the instance.
gcp.spanner.instance.autoscaling.max_processing_units
(gauge)
Maximum number of processing units autoscaler is allowed to allocate to the instance.
gcp.spanner.instance.autoscaling.min_node_count
(gauge)
Minimum number of nodes autoscaler is allowed to allocate to the instance.
gcp.spanner.instance.autoscaling.min_processing_units
(gauge)
Minimum number of processing units autoscaler is allowed to allocate to the instance.
gcp.spanner.instance.autoscaling.storage_utilization_target
(gauge)
Storage utilization target used for autoscaling.
gcp.spanner.instance.backup.used_bytes
(gauge)
Backup storage used in bytes.
Shown as byte
gcp.spanner.instance.cpu.smoothed_utilization
(gauge)
24-hour smoothed utilization of provisioned CPU between 0.0 and 1.0.
Shown as fraction
gcp.spanner.instance.cpu.utilization
(gauge)
Utilization of provisioned CPU, between 0 and 1.
Shown as fraction
gcp.spanner.instance.cpu.utilization_by_operation_type
(gauge)
Percent utilization of provisioned CPU, by operation type between 0.0 and 1.0.
Shown as fraction
gcp.spanner.instance.cpu.utilization_by_priority
(gauge)
Percent utilization of provisioned CPU, by priority between 0.0 and 1.0.
Shown as fraction
gcp.spanner.instance.cross_region_replicated_bytes_count
(count)
Number of bytes replicated from preferred leader to replicas across regions.
Shown as byte
gcp.spanner.instance.data_boost.processing_unit_second_count
(count)
Total processing units used for DataBoost operations.
gcp.spanner.instance.dual_region_quorum_availability
(gauge)
Quorum availability signal for dual region instance configs.
gcp.spanner.instance.leader_percentage_by_region
(gauge)
Percentage of leaders by cloud region between 0.0 and 1.0.
Shown as fraction
gcp.spanner.instance.node_count
(gauge)
Total number of nodes.
Shown as node
gcp.spanner.instance.peak_split_cpu_usage_score
(gauge)
Maximum CPU usage score observed in a database across all splits.
gcp.spanner.instance.placement_row_limit
(gauge)
Upper limit for placement rows.
gcp.spanner.instance.placement_row_limit_per_processing_unit
(gauge)
Upper limit for placement rows per processing unit.
gcp.spanner.instance.placement_rows
(gauge)
Number of placement rows in a database.
gcp.spanner.instance.processing_units
(gauge)
Total number of processing units.
gcp.spanner.instance.replica.autoscaling.high_priority_cpu_utilization_target
(gauge)
High priority CPU utilization target used for autoscaling replica.
Shown as percent
gcp.spanner.instance.replica.autoscaling.max_node_count
(gauge)
Maximum number of nodes autoscaler is allowed to allocate to the replica.
gcp.spanner.instance.replica.autoscaling.max_processing_units
(gauge)
Maximum number of processing units autoscaler is allowed to allocate to the replica.
gcp.spanner.instance.replica.autoscaling.min_node_count
(gauge)
Minimum number of nodes autoscaler is allowed to allocate to the replica.
gcp.spanner.instance.replica.autoscaling.min_processing_units
(gauge)
Minimum number of processing units autoscaler is allowed to allocate to the replica.
gcp.spanner.instance.replica.cmek.total_keys
(gauge)
Number of CMEK keys identified by database and key revocation status.
gcp.spanner.instance.replica.node_count
(gauge)
Number of nodes allocated to each replica identified by location and replica type.
gcp.spanner.instance.replica.processing_units
(gauge)
Number of processing units allocated to each replica identified by location and replica type.
gcp.spanner.instance.session_count
(gauge)
Number of sessions in use.
Shown as session
gcp.spanner.instance.storage.limit_bytes
(gauge)
Storage limit for instance in bytes.
Shown as byte
gcp.spanner.instance.storage.limit_bytes_per_processing_unit
(gauge)
Storage limit per processing unit in bytes.
Shown as byte
gcp.spanner.instance.storage.used_bytes
(gauge)
Storage used in bytes.
Shown as byte
gcp.spanner.instance.storage.utilization
(gauge)
Storage used as a fraction of storage limit.
Shown as fraction
gcp.spanner.lock_stat.total.lock_wait_time
(count)
Total lock wait time for lock conflicts recorded for the entire database.
Shown as second
gcp.spanner.query_count
(count)
Count of queries by database name, status, query type, and used optimizer version.
Shown as query
gcp.spanner.query_stat.total.bytes_returned_count
(count)
Number of data bytes that the queries returned.
Shown as byte
gcp.spanner.query_stat.total.cpu_time
(count)
Number of seconds of CPU time Cloud Spanner spent on operations to execute the queries.
Shown as second
gcp.spanner.query_stat.total.execution_count
(count)
Number of times Cloud Spanner saw queries during the interval.
Shown as query
gcp.spanner.query_stat.total.failed_execution_count
(count)
Number of times queries failed during the interval.
Shown as query
gcp.spanner.query_stat.total.query_latencies
(gauge)
Distribution of total length of time, in seconds, for query executions within the database.
Shown as second
gcp.spanner.query_stat.total.remote_service_calls_count
(count)
Count of remote service calls.
gcp.spanner.query_stat.total.remote_service_calls_latencies.avg
(count)
The average latency of remote service calls.
Shown as millisecond
gcp.spanner.query_stat.total.remote_service_calls_latencies.samplecount
(count)
The sample count for latency of remote service calls.
Shown as millisecond
gcp.spanner.query_stat.total.remote_service_calls_latencies.sumsqdev
(count)
The sum of squared deviation for latency of remote service calls.
Shown as millisecond
gcp.spanner.query_stat.total.remote_service_network_bytes_sizes.avg
(count)
The average network bytes exchanged with remote service.
Shown as byte
gcp.spanner.query_stat.total.remote_service_network_bytes_sizes.samplecount
(count)
The sample count for network bytes exchanged with remote service.
Shown as byte
gcp.spanner.query_stat.total.remote_service_network_bytes_sizes.sumsqdev
(count)
The sum of squared deviation for network bytes exchanged with remote service.
Shown as byte
gcp.spanner.query_stat.total.remote_service_processed_rows_count
(count)
Count of rows processed by a remote service.
gcp.spanner.query_stat.total.remote_service_processed_rows_latencies.avg
(count)
The average latency of rows processed by a remote service.
Shown as millisecond
gcp.spanner.query_stat.total.remote_service_processed_rows_latencies.samplecount
(count)
The sample count for latency of rows processed by a remote service.
Shown as millisecond
gcp.spanner.query_stat.total.remote_service_processed_rows_latencies.sumsqdev
(count)
The sum of squared deviation for latency of rows processed by a remote service.
Shown as millisecond
gcp.spanner.query_stat.total.returned_rows_count
(count)
Number of rows that the queries returned.
Shown as row
gcp.spanner.query_stat.total.scanned_rows_count
(count)
Number of rows that the queries scanned excluding deleted values.
Shown as row
gcp.spanner.read_stat.total.bytes_returned_count
(count)
Total number of data bytes that the reads returned excluding transmission encoding overhead.
Shown as byte
gcp.spanner.read_stat.total.client_wait_time
(count)
Number of seconds spent waiting due to throttling.
Shown as second
gcp.spanner.read_stat.total.cpu_time
(count)
Number of seconds of CPU time Cloud Spanner spent execute the reads excluding prefetch CPU and other overhead.
Shown as second
gcp.spanner.read_stat.total.execution_count
(count)
Number of times Cloud Spanner executed the read shapesduring the interval.
gcp.spanner.read_stat.total.leader_refresh_delay
(count)
Number of seconds spent coordinating reads across instances in multi-regionconfigurations.
Shown as second
gcp.spanner.read_stat.total.locking_delays.avg
(count)
The average distribution of total time in seconds spent waiting due to locking.
Shown as second
gcp.spanner.read_stat.total.locking_delays.samplecount
(count)
The sample count for distribution of total time in seconds spent waiting due to locking.
Shown as second
gcp.spanner.read_stat.total.locking_delays.sumsqdev
(count)
The sum of squared deviation for distribution of total time in seconds spent waiting due to locking.
Shown as second
gcp.spanner.read_stat.total.returned_rows_count
(count)
Number of rows that the read returned.
Shown as row
gcp.spanner.row_deletion_policy.deleted_rows_count
(count)
Count of rows deleted by the policy since the last sample.
Shown as row
gcp.spanner.row_deletion_policy.processed_watermark_age
(gauge)
Time between now and the read timestamp of the last successful execution.
Shown as second
gcp.spanner.row_deletion_policy.undeletable_rows
(count)
Number of rows in all tables in the database that can't be deleted.
Shown as row
gcp.spanner.transaction_stat.total.bytes_written_count
(count)
Number of bytes written by transactions.
Shown as byte
gcp.spanner.transaction_stat.total.commit_attempt_count
(count)
Number of commit attempts for transactions.
gcp.spanner.transaction_stat.total.commit_retry_count
(count)
Number of commit attempts that are retries from previously aborted transaction attempts.
gcp.spanner.transaction_stat.total.participants
(gauge)
Distribution of total number of participants in each commit attempt.
gcp.spanner.transaction_stat.total.transaction_latencies
(gauge)
Distribution of total seconds takenfrom the first operation of the transaction to commit or abort.
Shown as second

이벤트

Google Cloud Spanner 통합은 이벤트를 포함하지 않습니다.

서비스 점검

Google Cloud Spanner 통합은 서비스 점검을 포함하지 않습니다.

트러블슈팅

도움이 필요하신가요? Datadog 지원팀에 문의하세요.