このトピックでは、Spanner コンポーネントを調べてレイテンシの原因を特定し、OpenCensus を使用してそのレイテンシを可視化する方法について説明します。このトピックのコンポーネントの概要については、Spanner リクエストのレイテンシ ポイントをご覧ください。
Spanner クライアント ライブラリは、OpenCensus オブザーバビリティ フレームワークを使用して統計情報とトレースを提供します。このフレームワークは、クライアントの内部の分析情報を提供し、エンドツーエンドの(往復)レイテンシのトラブルシューティングを支援します。デフォルトでは、フレームワークは無効になっています。
準備
レイテンシ ポイントを特定するの手順に沿って、レイテンシが発生しているコンポーネントを見つけます。
クライアントの往復レイテンシをキャプチャして可視化する
クライアントのラウンドトリップ レイテンシは、クライアントが Google Front End(GFE)と Spanner API フロントエンドの両方からデータベースに送信する Spanner API リクエストの最初のバイトと、クライアントがデータベースから受信したレスポンスの最後のバイトの間の時間(ミリ秒単位)です。
クライアントの往復レイテンシをキャプチャする
次の言語に対する、クライアントの往復レイテンシをキャプチャできます。
Java
Go
クライアントの往復レイテンシを可視化する
指標を取得した後、Cloud Monitoring でクライアントの往復レイテンシを可視化できます。
クライアントの往復レイテンシ指標の 5 パーセンタイル レイテンシを示すグラフの例を次に示します。パーセンタイル レイテンシを 50 パーセンタイルまたは 99 パーセンタイルに変更するには、[アグリゲータ] メニューを使用します。
このプログラムでは roundtrip_latency
と呼ばれる OpenCensus ビューが作成されます。
この文字列は、Cloud Monitoring にエクスポートされたときの指標の名前の一部となります。
GFE レイテンシをキャプチャして可視化する
Google Front End(GFE)レイテンシは、Google ネットワークがクライアントからリモート プロシージャ コールを受信してから、GFE がレスポンスの最初のバイトを受信するまでの時間(ミリ秒単位)です。
GFE のレイテンシをキャプチャする
次の言語に対する、クエリのレイテンシをキャプチャできます。
Java
Go
GFE レイテンシを可視化する
指標を取得した後、Cloud Monitoring でクエリの GEE レイテンシを可視化できます。
GFE レイテンシ指標の 5 パーセンタイルのレイテンシを示すグラフの例を次に示します。パーセンタイル レイテンシを 50 パーセンタイルまたは 99 パーセンタイルに変更するには、[アグリゲータ] メニューを使用します。
このプログラムでは gfe_latency
と呼ばれる OpenCensus ビューが作成されます。この文字列は、Cloud Monitoring にエクスポートされたときの指標の名前の一部となります。
Spanner API リクエストのレイテンシをキャプチャして可視化する
Spanner API リクエストのレイテンシは、Spanner API フロントエンドが受信したリクエストの最初のバイトから Spanner API フロントエンドが送信したレスポンスの最後のバイトまでの時間(秒単位)です。
Spanner API リクエストのレイテンシをキャプチャする
このレイテンシは、デフォルトで Cloud Monitoring の指標の一部として利用できます。キャプチャしてエクスポートする操作は必要ありません。
Spanner API リクエストのレイテンシを可視化する
Metrics Explorer グラフツールを使用すると、Cloud Monitoring で spanner.googleapis.com/api/request_latencies
指標用のグラフを可視化できます。
Spanner API リクエストのレイテンシ指標の 5 パーセンタイルのレイテンシを示すグラフの例を次に示します。パーセンタイル レイテンシを 50 パーセンタイルまたは 99 パーセンタイルに変更するには、[集計] メニューを使用します。
クエリのレイテンシをキャプチャして可視化する
このクエリのレイテンシは、Spanner データベースで SQL クエリを実行するのにかかる時間の長さ(ミリ秒単位)です。
クエリのレイテンシをキャプチャする
次の言語に対する、クエリのレイテンシをキャプチャできます。
Java
Go
クエリのレイテンシを可視化する
指標を取得した後、Cloud Monitoring でクエリのレイテンシを可視化できます。
以下は、クエリ レイテンシ指標の 5 パーセンタイル レイテンシを示すグラフの例です。パーセンタイル レイテンシを 50 パーセンタイルまたは 99 パーセンタイルに変更するには、[アグリゲータ] メニューを使用します。
このプログラムでは query_stats_elapsed
と呼ばれる OpenCensus ビューが作成されます。
この文字列は、Cloud Monitoring にエクスポートされたときの指標の名前の一部となります。
次のステップ
OpenCensus の詳細について学びます。
指標を使用してレイテンシを診断する方法を学習する。