分散トレースの使用

Cloud Run サービスへの受信リクエストが発生すると、Cloud Trace に表示可能なトレースが自動生成されます。これらのトレースを使用すると、Cloud Trace でさらに計測手法を追加する必要なく、実装のレイテンシの問題の原因を特定できます。標準の W3C トレース コンテキスト伝搬ヘッダー traceparent は、Cloud Run リクエストに対して自動的に入力されます。

ただし、さらに計測手法を追加する場合は、Cloud Trace を使用して、リクエストが実装内の各レイヤに伝播されるまでの時間を測定できます。たとえば、データベース クエリの完了、API リクエストの結果の取得、複雑なビジネス ロジックの実行などに要する時間を計測できます。これらのレイヤ固有の測定時間のそれぞれが「スパン」になります。Cloud Trace のトレースは、レイテンシの値を反映したウォーターフォール グラフとして表示できます。

請求料金

サンプリングの有無にかかわらず、Cloud Run で自動生成されるトレースは課金されません。ただし、Cloud Trace ライブラリを使用して、独自のスパンを Cloud Run 提供のスパンに関連付けて追加すると、Cloud Trace によって課金されます。

トレースのサンプリング レート

Cloud Run では、すべてのリクエストに対してトレースがサンプリングされるわけではありません。Cloud Run で使用する場合、リクエストは各インスタンスにつき 1 秒あたり最大 0.1 リクエスト(または 10 秒ごとに 1 リクエスト)の割合でサンプリングされます。特定のリクエストを強制的にトレースすることもできます。リクエストを強制的にトレースする場合、このリクエストはインスタンスごとに最大 0.1 秒(または 1 秒あたり 10 件のリクエスト)の割合でサンプリングされます。

Cloud Run は、Cloud Run のサンプルレートの構成をサポートしていません。

計測手法を追加するタイミング

トレースは、サービスで必要な計測手法なしで自動的に生成されます。ただし、Cloud Trace 機能を最大限に活用するため、計測手法コードをサービスに追加することが必要になる場合もあります。たとえば、次のような場合、計測手法を追加する必要があります。

  • たとえば、カスタム トレース・スパンを作成して、サービスが Cloud Translation API から戻るまでの時間を表すタイミング データを取得します。
  • トレース コンテキストを伝搬すると、Cloud Trace が複数のサービスにまたがるリクエスト フローを単一のリクエストとして表示します。

計測手法を追加するには、アプリケーションのトレースを計測可能にするをご覧ください。サービスのインストルメンテーションに起因するトレースには、標準の Cloud Trace 課金料金が発生することに注意してください。

トレースの表示

詳細については、トレースの表示に関するドキュメントをご覧ください。