このページでは、クライアントサイド指標の表示と管理について説明します。クライアントサイドの指標は、Spanner に対するクライアントの RPC リクエストに関するレイテンシ情報を提供します。
Spanner には、サーバーサイドの指標とともに使用してパフォーマンスを最適化し、パフォーマンスの問題が発生した場合にトラブルシューティングを行うことができるクライアントサイドの指標が用意されています。
クライアントサイドの指標は、アプリケーションからリクエストが送信されてからアプリケーションがレスポンスを受信するまでの時間で測定されます。一方、サーバーサイドの指標は、Spanner がリクエストを受け取ってからデータの最後のバイトがクライアントに送信されるまでの時間で測定されます。
クライアントサイドの指標にアクセスする
クライアントサイドの指標は、次のクライアント ライブラリで使用できます。
クライアントサイドの指標は、Cloud Monitoring API を有効にすると使用できます。
クライアントサイド指標は、Identity and Access Management(IAM)monitoring.timeSeries.create
権限が付与されているユーザーまたはサービス アカウントで使用できます。この権限は、次の Spanner IAM ロールに含まれています。
- Cloud Spanner 管理者(
roles/spanner.admin
) - Cloud Spanner データベース管理者(
roles/spanner.databaseAdmin
) - Cloud Spanner データベース読み取り(
roles/spanner.databaseReader
) - Cloud Spanner データベース ユーザー(
roles/spanner.databaseUser
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
必要な monitoring.timeSeries.create
IAM 権限は、カスタムロールを使用して取得することもできます。
Metrics Explorer で指標を表示する
Google Cloud コンソールで、[Metrics Explorer] ページに移動します。
プロジェクトを選択します。
[指標を選択] をクリックします。
spanner.googleapis.com/client
を検索します。指標を選択して、[適用] をクリックします。
指標のグループ化または集計の詳細については、メニューを使用してクエリを作成するをご覧ください。
公開された指標を表示するには、アプリケーションを 1 分以上実行する必要があります。
クライアントサイドの指標をオプトアウトする
OpenTelemetry を使用してカスタム クライアント指標をすでにキャプチャしている場合は、次のコードを使用してクライアントサイド指標の使用をオプトアウトできます。
Java
Spanner spanner =
SpannerOptions.newBuilder()
.setProjectId("test-project")
.setBuiltInMetricsEnabled(false)
.build()
.getService();
Go
client, err := spanner.NewClientWithConfig(ctx, database, spanner.ClientConfig{
DisableNativeMetrics: true,
})
料金
Cloud Monitoring でクライアントサイド指標を表示するのに料金はかかりません。Monitoring API を使用すると、料金が発生する場合があります。詳細については、Google Cloud Observability の料金をご覧ください。