Cloud Trace について

Google Cloud の分散トレース システムである Cloud Trace を使用すると、ユーザーや他のアプリケーションからの受信リクエストをアプリケーションが処理するのにかかる時間や、リクエストの処理時に実行されるオペレーション(RPC 呼び出しなど)が完了するのにかかる時間を知ることができます。

Cloud Trace は、App EngineHTTP(S) ロードバランサCloud Trace API でインストゥルメントされたアプリケーションからレイテンシ データを収集するため、以下の疑問の解決に役立ちます。

  • アプリケーションがリクエストを処理するのにどのくらい時間がかかるか?
  • アプリケーションがリクエストを処理するのになぜそんなに時間がかかるのか?
  • 一部のリクエストが他のリクエストより時間がかかるのはなぜか?
  • アプリケーションへのリクエストの全体的なレイテンシは?
  • アプリケーションのレイテンシは時間とともに増加しているのか、減少しているのか?
  • アプリケーションのレイテンシを小さくするにはどうすればよいか?
  • アプリケーションにどのような依存関係があるか?

アプリケーションのデバッグやプロファイリングについては、アプリケーション パフォーマンス管理をご覧ください。

環境サポート

Cloud Trace は、次の環境の Linux 上で動作します。

Cloud Trace には、アプリケーションをインストゥルメント化してトレース情報をキャプチャするためのクライアント ライブラリが用意されています。言語別の設定手順については、Cloud Trace の設定をご覧ください。

App Engine スタンダード環境では、Java 8、Python 2、PHP 5 のアプリケーションで Cloud Trace クライアン トライブラリを使用する必要はありません。これらのランタイムは、アプリケーション URI へのリクエストのレイテンシ データを自動的に Cloud Trace に送信します。リクエストには、App Engine サービスへのラウンドトリップ RPC 呼び出しに関するレイテンシ データが含まれます。Cloud Trace は、Cloud SQL を除いたすべての App Engine Admin API と連携します。

言語サポート

次の表は、Trace クライアント ライブラリの可用性と OpenCensus ライブラリ(Stackdriver エクスポータなど)の可用性をまとめたものです。

言語 利用可能なクライアント ライブラリ 利用可能な OpenCensus ライブラリ
C# ASP.NET Core ×
C# ASP.NET ×
Go
Java
Node.js
PHP
Python
Ruby ×

OpenCensus ライブラリは、対応する Cloud Trace クライアント ライブラリの複雑さの一部を隠しているため、より簡単に使用できます。OpenCensus を使用する場合は、Stackdriver エクスポータを選択します。

一般的な設定手順については、Cloud Trace の設定をご覧ください。

コンポーネント

Cloud Trace は、トレースを収集して Google Cloud プロジェクトに送信するトレース クライアントで構成されます。データが送信されると、Google Cloud Console で、エージェントによって収集されたデータを表示および分析できます。

トレースは、アプリケーションが 1 つの操作を完了するまでにかかる時間を表します。各トレースは、1 つ以上のスパンによって構成されます。スパンは、完全なサブオペレーションの実行にかかる時間を表します。たとえば、トレースは、ユーザーからの受信リクエストを処理してレスポンスを返すまでにかかる時間を表すことがあります。スパンは、特定の RPC 呼び出しに必要な時間を表すことがあります。詳細については、Cloud Trace のデータモデルをご覧ください。

トレース クライアント

OpenCensus ライブラリがご使用のプログラミング言語で利用できる場合は、OpenCensus を使用してトレースデータの作成と送信が簡単に処理できます。OpenCensus は、簡単に使用できるだけでなく、バッチ処理を実装してパフォーマンスを向上させることができます。

OpenCensus ライブラリが存在しない場合は、Trace SDK ライブラリをインポートし、Cloud Trace API を使用してコードをインストゥルメント化します。Cloud Trace API は、トレースデータを収集し、Google Cloud プロジェクトに送信します。

トレース インターフェース

エージェントが収集したトレースデータを、ほぼリアルタイムで Cloud Trace インターフェースに表示して分析できます。このインターフェースには、[概要]、[トレースリスト]、[分析レポート] という 3 つのウィンドウがあります。

Cloud Trace の使用を開始するには、Cloud Console のナビゲーション ペインで [トレース] を選択するか、次のボタンをクリックします。

[トレース] に移動

トレースデータを受信する Google Cloud プロジェクトへのアクセス権がなければ、Trace コンソールにデータは表示されません。

概要

[概要] ウィンドウには、アプリケーションに関する要約情報が表示されます。

Cloud Trace の概要ページ。

該当する場合は、[分析情報] ペインに、アプリケーションのパフォーマンス分析情報のリストが表示されます。このペインでは、アプリケーションでの一般的な問題がハイライト表示されます。たとえば、関数の連続呼び出しを一括処理することで効率が高まる可能性があるなどです。

[最近のトレース] ペインには、直近のトレースが表示されます。それぞれについて、レイテンシ、URI、時間が表示されます。この要約を使用して、アプリケーションでの現在のアクティビティを理解できます。

[頻度が高い URI] と [頻度が高いリモート プロシージャ コール] には、前日の最も頻度の高い URI(および RPC)が平均レイテンシとともに表示されます。これらの表でリンクをクリックすると、一致するリクエストを表示するように事前構成された [トレースリスト] ウィンドウが開きます。[トレースリスト] ウィンドウを使用すると、レイテンシを時間の関数として表示し、個々のトレースの詳細を調べることができます。

[課金対象のトレーススパン] ペインには、現在のカレンダー月に取り込まれたスパンの数と前月の合計が表示されます。この情報を使用して、Cloud Trace の使用コストをモニタリングできます。費用の詳細については、このページの料金セクションをご覧ください。

[日次分析レポート] ペインには、前日のレイテンシ データが表示され、7 日前のレイテンシ データと比較されます。 このデータを使用して、レイテンシの動作が時間とともに変化しているかどうかを確認できます。 このページのレポートの形式は変更できません。ただし、カスタム分析レポートを作成できます。

Cloud Trace の [概要] ウィンドウの詳細については、Cloud Console でのトレースの表示をご覧ください。

トレースリスト

[トレースリスト] ウィンドウでは、個々のトレースを詳細に調べることができます。デフォルトでは、このビューには、すべてのトレースのレイテンシのプロットが表示され、最新のトレースが表に示されます。

調べる特定のトレースを選択すると、2 つの新しいペインが開きます。これらはトレース内のすべてのスパンを表示するペインと、選択したスパンに関する詳細を表示する情報ペインです。デフォルトでは、ルートスパンが選択され、詳細にはリクエストに関する概要情報が含まれます。調査のためにトレースを見つけるには、フィルタを使用します。

トレース詳細のフィルタリングと表示について詳しくは、トレースの検索と表示トレース詳細の表示をご覧ください。

分析レポート

[分析レポート] ウィンドウでは、カスタム レポートを作成できます。 これらのレポートには、すべてのトレースを含めるか、フィルタを指定してトレースのサブセットのみを含めることができます。 また、2 つの異なるレイテンシ データを比較するレポートを作成することもできます。詳細については、分析レポートの作成をご覧ください。

料金

レイテンシ データは、スパンで構成されるトレースにまとめられます。 スパンは Cloud Trace バックエンドによって取り込まれ、Cloud Console でデータをリアルタイムで表示およびレポートできます。 トレースデータを表示すると、保存されたスパンが取得プロセスの一部としてスキャンされます。

Cloud Trace の料金は、月単位で取り込まれ、スキャンされた Trace のスパン数によって決まります。詳細については、Trace の料金をご覧ください。

取り込まれたスパン数が事前定義のしきい値を超えた場合に通知するアラートを作成できます。詳細については、アラート ポリシーの作成をご覧ください。

割り当て

Cloud Trace では、API リクエストに対するレート割り当てと、Trace に送信したスパンに対する取り込み割り当てが適用されます。詳細については、割り当てと制限をご覧ください。

現在の使用状況を確認するには:

  1. Google Cloud Console で [API とサービス] を選択し、[Cloud Trace API] を選択するか、次のボタンを使用します。

    Trace API に移動

  2. [割り当て] をクリックします。

割り当てを超えた場合に通知するアラートを作成できます。詳細については、アラート ポリシーの作成をご覧ください。

データ セキュリティ

Cloud Trace は、VPC Service Controls でサポートされるサービスです。詳しくは、VPC Service Controls のドキュメントをご覧ください。

次のステップ