Cloud Trace の概要

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

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

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

アプリケーションのプロファイリングについては、Cloud Profiler をご覧ください。

環境サポート

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 と連携します。

  • Cloud Functions と Cloud Run

    受信および送信 HTTP リクエストで、レイテンシ データが自動的に収集されます。

言語サポート

次の表では、Trace クライアント ライブラリと、Cloud Trace へのエクスポータがある OpenTelemetry ライブラリの可用性を示します。

言語 クライアント ライブラリ
利用可能
OpenTelemetry
lib/exporter が利用可能
C++
C# ASP.NET Core いいえ
C# ASP.NET いいえ
Go
Java
Node.js
PHP はい ×
Python
Ruby はい

OpenTelemetry ライブラリは、対応する Trace API の複雑さの一部を隠蔽しているため、Cloud Trace クライアント ライブラリよりも簡単に使用できます。インストルメンテーションの推奨事項については、インストルメンテーション アプローチを選択するをご覧ください。

コンポーネント

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

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

トレース クライアント

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

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

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

エージェントが収集したトレースデータを、準リアルタイムで Cloud Trace インターフェースに表示して分析できます。

[Trace エクスプローラ] ページでは、個々のトレースを詳しく調査できます。デフォルトでは、このビューには、すべてのトレースのレイテンシのプロットが表示され、最新のトレースが表に示されます。 トレースを選択すると、トレースのスパン、各スパン、各スパンのとトレースのレイテンシ情報、ログやイベントへのリンクなど、より詳細な情報を表示できます。トレース詳細のフィルタリングと表示については、トレースを検索して調査するをご覧ください。

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

データ セキュリティ

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

料金と使用量

次のステップ