Cloud Trace の概要

Google Cloud の分散トレース システムである Cloud Trace を使用すると、ユーザーや他のアプリケーションからの受信リクエストをアプリケーションが処理するのにかかる時間や、リクエストの処理時に実行されるオペレーション(RPC 呼び出しなど)が完了するのにかかる時間を知ることができます。 Cloud Trace は、サービスの開発時または障害のトラブルシューティング時にも役立ちます。たとえば、複雑なマイクロサービス アーキテクチャでリクエストが処理される方法を理解したり、調査するログを特定したりするのに役立ちます。

Cloud Trace は、App Engine などの一部の Google Cloud サービスと Cloud Trace API で計測されたアプリケーションからレイテンシ データを受信するため、次の質問に答えるうえで役立ちます。

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

Cloud Trace を使用してアプリケーションを管理する方法を知りたい場合は、ブログ分散アプリケーションのトラブルシューティング: トレースとログを使用して根本原因を分析するをご覧ください。

アプリケーションのプロファイリングについては、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 リクエストで、レイテンシ データが自動的に Cloud Trace に送信されます。

言語サポート

次の表では、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 コンソールで、エージェントによって収集されたデータを表示および分析できます。データモデルの詳細については、トレースとスパンをご覧ください。

トレース クライアント

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 のドキュメントをご覧ください。

料金と使用量

次のステップ