トラブルシューティング

Google Cloud Platform でホストされていないインフラストラクチャで Stackdriver Trace を使用することはできますか?

すでにいくつかのプロジェクトでそのような使い方がされています。Stackdriver Trace は、インストルメントされたサービスがホストされている場所に関係なく、Stackdriver Trace API を使用して送信されたすべてのデータを解析します。これには、Stackdriver Trace インストゥルメンテーション ライブラリや Stackdriver Trace Zipkin Connector から収集されるトレースとスパンも含まれます。

Stackdriver Trace はトレースのデータをどれくらいの期間保存しますか?

トレースは 30 日間保存されます。

Stackdriver Trace はすべてのリクエストをサンプリングしますか?

Stackdriver Trace では、App Engine インスタンスごとに 0.1 リクエスト/秒のペースでリクエストがサンプリングされます。カスタムレートでサンプリングするよう Stackdriver Trace SDK を構成することもできます。

特定のリクエストを強制的にトレースするにはどうすればよいですか?

特定のリクエストを強制的にトレースするには、そのリクエストに X-Cloud-Trace-Context ヘッダーを追加します。ヘッダーの仕様は以下のとおりです。

"X-Cloud-Trace-Context: TRACE_ID/SPAN_ID;o=TRACE_TRUE"

各パラメータの意味は次のとおりです。

  • TRACE_ID は、128 ビットの番号を表す 32 文字の 16 進数値です。リクエストを束ねるつもりがないのであれば、リクエスト間で一意の値にする必要があります。これには UUID を使用できます。

  • SPAN_ID は、(符号なしの)スパン ID の 10 進表現です。トレースの最初のスパンでは 0 にする必要があります。後続のリクエストでは、SPAN_ID を親リクエストのスパン ID に設定します。ネストしたトレースの詳細については、TraceSpanRESTRPC)の説明をご覧ください。

  • このリクエストをトレースするには、TRACE_TRUE1 に設定する必要があります。リクエストをトレースしない場合は 0 を指定します。

たとえば、cURL でトレースを強制するには、次のようにします。

curl "http://www.example.com" --header "X-Cloud-Trace-Context:
  105445aa7843bc8bf206b120001000/0;o=1"

プロジェクト外のトレーススパンを表示する権限を取得するにはどうすればよいですか?

Stackdriver Trace を設定すると、関連するプロジェクト間のトレーススパンを表示できます。詳細は、プロジェクト全体のトレースを表示するをご覧ください。

[One or more spans of this trace are not shown because you lack the "cloudtrace.traces.get" permission for the project where they were written] というメッセージが表示される場合、トレース全体を表示するために追加の権限を取得する必要があります。

セキュリティ上の理由から、トレースに含まれるプロジェクトのリストにはアクセスできません。トレースに含まれているどのプロジェクトに対してアクセス権限が不足しているのかわからない場合は、トレースを確認するように組織の管理者に依頼して、すべてのスパンにアクセスできるようにしてください。現在のスパンのプロジェクトを表示するには、スパンをクリックし、スパン詳細ペインの [プロジェクト] ラベルで確認します。

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

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

Stackdriver Trace ドキュメント