トレースの詳細の表示

Stackdriver Trace では、[トレースの詳細] ビューにトレースの詳細が表示されます。このビューには、リクエストに関する詳細の概要、リクエストを表すルートスパンと RPC コールを表すサブスパンのグラフィカルなタイムライン、スパンに関して収集されたレイテンシ データの詳細ビューが表示されます。

トレースの詳細

トレースの詳細を表示するには:

  1. Google Cloud Platform Console で [Stackdriver] > [トレース] > [トレースリスト] の順に選択してトレースリストにアクセスするか、次のボタンをクリックします。

    [トレースリスト] ページに移動

    トレースの検索について詳しくは、トレースの検索をご覧ください。

  2. トレースリストで、任意のリクエスト URI をクリックします。トレースの詳細が次のように表示されます。

    Stackdriver Trace の詳細

リクエストの概要

トレースの詳細ビューの右側のペインには、このリクエストの概要と詳細が表示されます。詳細には、次の情報が含まれます。

プロパティ 説明
タイムスタンプ アプリケーションがリクエストを受信した時刻。
トレースされた時間 すべての RPC コールがそれぞれ完了するまでにかかった時間の合計。
トレースなしの時間 RPC コールが行われていない時間(つまり、アプリケーションでローカルに使用された時間)。リクエストの開始時にトレースなしの時間が通常より長くなるのは、多くの場合、読み込みを処理するために新しいインスタンスが作成されることが原因です。
ログ 関連するログエントリへのリンク。
レポート 関連する分析レポートの詳細へのリンク。
サービス リクエストを処理した App Engine サービス。JavaPythonGoPHP のドキュメントをご覧ください。
バージョン リクエストを処理した App Engine アプリケーションのバージョン。
HTTP メソッド リクエストの HTTP メソッド。
ステータス コード リクエストによって返された HTTP ステータス。

ログエントリ

Stackdriver Trace は、ログエントリのアノテーションを使用してトレースとログを関連付けます。App Engine スタンダード環境は自動的にログエントリをトレースと関連付けますが、すべてのサービスがこれを行うわけではありません。

Trace SDK を使用している場合は、LogEntry オブジェクトtrace フィールドを次の形式のトレース ID に設定することによって、ログエントリにアノテーションを付けることができます。

projects/[PROJECT-ID]/traces/[TRACE-ID]

ログエントリを特定のトレーススパンに関連付けることもできます。これを行うには、LogEntry の span_id フィールドに、スパン ID を 16 文字の 16 進数にエンコードした値を設定します。たとえば、ID が「74」のスパンは「000000000000004a」となります。

GCP Console のトレース詳細ビューから、ログエントリを検索するいくつかの方法があります。

  • [タイムライン] パネルの [ログを表示] ボタンをクリックすると、トレースの横にログエントリが表示されます。このボタンは、トレースと関連付けられたログエントリがある場合に表示されます。

  • [概要] パネルの [ログ: 表示] リンクをクリックして Stackdriver Logging ウィンドウを開き、トレースと関連付けられたログエントリを表示します。トレースと関連付けられたログエントリがない場合、Logging ウィンドウは空になります。

  • [概要] パネルの [VM ログ: 表示] リンクをクリックします。これは、Cloud Load Balancer によって生成されたトレースの場合に表示されます。このリンクは Stackdriver Logging ウィンドウを開き、リクエストを処理した VM インスタンスからのログを表示します。Logging ウィンドウ ビューは、トレースのタイムスタンプ範囲に制限されます。

必要な権限

ログエントリを表示するには、プロジェクトの logging.logEntries.list 権限が必要です。この権限は、Logging ログビューアプロジェクト閲覧者の IAM 役割によって提供されます。

VM インスタンスのログを表示するには、プロジェクトの compute.instances.get 権限が必要です。この権限は、Compute Engine ネットワーク閲覧者プロジェクト閲覧者の IAM 役割によって提供されます。

Stackdriver Logging でのログエントリの表示の詳細については、ログビューアをご覧ください。

スパン アノテーションとメッセージ イベント(ベータ版)

スパン アノテーションとメッセージ イベントは、Stackdriver Trace API v2 を使用して記述できます。存在する場合は、トレース タイムラインに表示されます。スパンとログエントリの場合と同様に、アノテーションまたはメッセージ イベントを選択すると、右側の詳細ペインに詳細が表示されます。

詳細については、Stackdriver Trace API v2TimeEvents オブジェクトをご覧ください。

タイムライン

タイムラインとは、リクエストのレイテンシ データをグラフィカルに表現したものです。アプリケーションがリクエストをエンドツーエンドで処理するのにかかった時間を表すルートスパンと、リクエストの処理時に実行された RPC コールが完了するまでにかかった時間を表すサブスパンが表示されます。

タイムラインで任意のスパンをクリックすると、スパンの詳細を表示できます。選択したスパンとそのサブスパンの親子関係がタイムラインに表示され、アプリケーションの実行中に Stackdriver Trace にレポートされた追加データが右側のペインに表示されます。

ルートスパンの場合、Stackdriver Trace で以下のプロパティが表示されます。

プロパティ 説明
名前 リクエストの相対 URL。スパンのラベルに表示されます。
レイテンシ アプリケーションがリクエストをエンドツーエンドで処理するのにかかった時間。スパンのラベルに表示されます。
gae/request_log_id 内部 App Engine リクエスト ID。タイムラインの下の詳細パネルに表示されます。
http/host アプリケーションが実行中のホスト名。タイムラインの下の詳細パネルに表示されます。
http/response/size HTTP レスポンスの本文のバイト数。タイムラインの下の詳細パネルに表示されます。
http/url リクエストの相対 URL。タイムラインの下の詳細パネルに表示されます。

サブスパンに関して表示される情報は RPC コールに応じて変化します。ただし、Stackdriver Trace では以下の情報が常に表示されます。

プロパティ 説明
名前 service_name.call_name の形式で表された RPC コールの名前(たとえば、datastore_v3.RunQuery)。スパンのラベルに表示されます。 注: コールの名前は内部 App Engine 名であり、言語固有のサービス API で使用されるコールの名前と完全には一致しないことがあります。
レイテンシ 往復 RPC コールが完了するまでにかかった時間。スパンのラベルに表示されます。

分析情報

リクエストのパフォーマンスに関する分析情報は、タイムラインの下に表示されます(利用可能な場合)。

詳細については、パフォーマンスの分析情報をご覧ください。

プロジェクト全体のトレースの表示

Stackdriver Trace を設定すると、ターゲット プロジェクトを呼び出しているプロジェクトのトレーススパンを表示するだけでなく、ターゲット プロジェクトのリクエストを処理する他のプロジェクトのトレーススパンも表示できます。

詳細については、複数のプロジェクトのトレースを表示するをご覧ください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Stackdriver Trace ドキュメント