View and manage client-side metrics

This page offers information about viewing and managing client-side metrics. Client-side metrics offer latency information about the client's RPC requests to Spanner.

Spanner provides client-side metrics that you can use along with server-side metrics to optimize performance and troubleshoot performance issues if they occur.

Client-side metrics are measured from the time a request leaves your application to the time your application receives the response. In contrast, server-side metrics are measured from the time Spanner receives a request until the last byte of data is sent to the client.

Before you begin

  1. Client-side metrics are available after you enable the Cloud Monitoring API.

    Enable the Monitoring API

  2. To ensure that your service account has the necessary permission to access client-side metrics, ask your administrator to grant your service account the Monitoring Metric Writer ( roles/monitoring.metricWriter ) IAM role on the project.

    For more information about granting roles, see Manage access to projects, folders, and organizations .

    This predefined role contains the monitoring.timeSeries.create permission, which is required to access client-side metrics.

    Your administrator might also be able to give your service account this permission with custom roles or other predefined roles .

Access client-side metrics

You can access client-side metrics using the following client libraries:

  • Go in version 1.71.0 and later.
  • Java in version 6.81.0 and later.
  • Node in version 8.1.0 or later.
  • Python in version 3.60.0 or later.

To view the client-side metrics in the Metrics Explorer, do the following:

  1. In the Google Cloud console, go to the Metrics Explorer page.

    Go to Metrics Explorer

  2. Select your project.

  3. Click Select a metric.

  4. Search for spanner.googleapis.com/client .

  5. Select the metric, and then click Apply.

For more information about grouping or aggregating your metric, see Build queries using menus .

Your application needs to run for at least a minute before you can view any published metrics.

Opt out of client-side metrics

If you are already using OpenTelemetry to capture custom client metrics, you can choose to opt out of using client-side metrics by using the following code:

Go

   
 client 
 , 
  
 err 
  
 := 
  
 spanner 
 . 
 NewClientWithConfig 
 ( 
 ctx 
 , 
  
 database 
 , 
  
 spanner 
 . 
 ClientConfig 
 { 
  
 DisableNativeMetrics 
 : 
  
 true 
 , 
  
 }) 
 

Java

  Spanner 
  
 spanner 
  
 = 
  
 SpannerOptions 
 . 
 newBuilder 
 () 
  
 . 
 setProjectId 
 ( 
 "test-project" 
 ) 
  
 . 
 setBuiltInMetricsEnabled 
 ( 
 false 
 ) 
  
 . 
 build 
 () 
  
 . 
 getService 
 (); 
 

Node.js

   
 const 
  
 spanner 
  
 = 
  
 new 
  
 Spanner 
 ({ 
  
 disableBuiltInMetrics 
 : 
  
 true 
  
 }); 
 

Python

  spanner_client 
 = 
 spanner 
 . 
 Client 
 ( 
 disable_builtin_metrics 
 = 
 True 
 ) 
 

Pricing

There is no charge to view client-side metrics in Cloud Monitoring. Use of the Monitoring API might incur charges. For more information, see Google Cloud Observability pricing .

What's next

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